--- linuxsampler/trunk/src/engines/common/AbstractVoice.h 2010/07/22 08:12:12 2113 +++ linuxsampler/trunk/src/engines/common/AbstractVoice.h 2010/08/10 12:05:19 2114 @@ -23,7 +23,7 @@ ***************************************************************************/ #ifndef __LS_ABSTRACTVOICE_H__ -#define __LS_ABSTRACTVOICE_H__ +#define __LS_ABSTRACTVOICE_H__ #include "Voice.h" @@ -82,7 +82,6 @@ public: type_t Type; ///< Voice Type int MIDIKey; ///< MIDI key number of the key that triggered the voice - uint KeyGroup; AbstractVoice(); virtual ~AbstractVoice(); @@ -106,6 +105,7 @@ void processPitchEvent(RTList::Iterator& itEvent); void processResonanceEvent(RTList::Iterator& itEvent); void processTransitionEvents(RTList::Iterator& itEvent, uint End); + void processGroupEvents(RTList::Iterator& itEvent, uint End); void UpdatePortamentoPos(Pool::Iterator& itNoteOffEvent); void Kill(Pool::Iterator& itKillEvent); @@ -152,7 +152,7 @@ float fFinalResonance; gig::SynthesisParam finalSynthesisParameters; gig::Loop loop; - + RTList* pGroupEvents; ///< Events directed to an exclusive group virtual AbstractEngine* GetEngine() = 0; virtual SampleInfo GetSampleInfo() = 0; @@ -241,7 +241,10 @@ virtual double GetVelocityRelease(uint8_t MIDIKeyVelocity) = 0; virtual unsigned long GetNoteOnTime(int MIDIKey) = 0; + + virtual void ProcessGroupEvent(RTList::Iterator& itEvent) = 0; + void EnterReleaseStage(); }; } // namespace LinuxSampler -#endif /* __LS_ABSTRACTVOICE_H__ */ +#endif /* __LS_ABSTRACTVOICE_H__ */