Require explicit types when removing PlayHandles in the Mixer

This fixes a few deadlocks where a PresetPreviewPlayHandle would be removed by
the creation of a new PresetPreviewPlayHandle.
This commit is contained in:
Fastigium
2016-02-16 13:27:41 +01:00
committed by Jesse Feddema
parent 87dce6d2f4
commit da8040764f
12 changed files with 31 additions and 17 deletions

View File

@@ -224,7 +224,7 @@ public:
return m_playHandles;
}
void removePlayHandles( Track * _track, bool removeIPHs = true );
void removePlayHandlesOfTypes( Track * _track, const quint8 types );
bool hasNotePlayHandles();

View File

@@ -40,11 +40,10 @@ class PlayHandle : public ThreadableJob
public:
enum Types
{
TypeNotePlayHandle,
TypeInstrumentPlayHandle,
TypeSamplePlayHandle,
TypePresetPreviewHandle,
TypeCount
TypeNotePlayHandle = 0x01,
TypeInstrumentPlayHandle = 0x02,
TypeSamplePlayHandle = 0x04,
TypePresetPreviewHandle = 0x08
} ;
typedef Types Type;