--- linuxsampler/trunk/src/engines/AbstractEngine.h 2016/04/17 14:52:33 2878 +++ linuxsampler/trunk/src/engines/AbstractEngine.h 2016/04/19 14:07:53 2879 @@ -35,6 +35,7 @@ #include "../common/ResourceManager.h" #include "../drivers/audio/AudioOutputDevice.h" #include "common/Event.h" +#include "common/Note.h" #include "common/SignalUnitRack.h" #include "common/InstrumentScriptVM.h" @@ -74,10 +75,12 @@ /** * Returns event with the given event ID. */ - RTList::Iterator EventByID(int id) { + RTList::Iterator EventByID(event_id_t id) { return pEventPool->fromID(id); } + virtual NoteBase* NoteByID(note_id_t id) = 0; + float Random() { RandomSeed = RandomSeed * 1103515245 + 12345; // classic pseudo random number generator return RandomSeed / 4294967296.0f; @@ -149,6 +152,7 @@ virtual void ProcessChannelPressure(EngineChannel* pEngineChannel, Pool::Iterator& itChannelPressureEvent) = 0; virtual void ProcessPolyphonicKeyPressure(EngineChannel* pEngineChannel, Pool::Iterator& itNotePressureEvent) = 0; virtual int GetMinFadeOutSamples() = 0; + virtual note_id_t LaunchNewNote(LinuxSampler::EngineChannel* pEngineChannel, Event* pNoteOnEvent) = 0; virtual void CreateInstrumentScriptVM(); private: