--- linuxsampler/trunk/src/engines/AbstractEngineChannel.h 2012/03/04 09:01:40 2325 +++ linuxsampler/trunk/src/engines/AbstractEngineChannel.h 2012/03/08 19:40:14 2326 @@ -63,7 +63,7 @@ virtual String InstrumentName(); virtual int InstrumentIndex(); virtual int InstrumentStatus(); - virtual LinuxSampler::Engine* GetEngine(); + virtual Engine* GetEngine(); virtual String EngineName(); virtual FxSend* AddFxSend(uint8_t MidiCtrl, String Name = "") throw (Exception); virtual FxSend* GetFxSend(uint FxSendIndex); @@ -75,6 +75,8 @@ virtual AbstractEngine::Format GetEngineFormat() = 0; + AudioOutputDevice* GetAudioOutputDeviceSafe(); + friend class AbstractVoice; friend class AbstractEngine; template friend class EngineBase; @@ -85,6 +87,8 @@ virtual ~AbstractEngineChannel(); AbstractEngine* pEngine; + Mutex EngineMutex; ///< protects the Engine from access by the instrument loader thread when lscp is disconnecting + public: // TODO: should be protected AudioChannel* pChannelLeft; ///< encapsulates the audio rendering buffer (left) AudioChannel* pChannelRight; ///< encapsulates the audio rendering buffer (right)