23 |
***************************************************************************/ |
***************************************************************************/ |
24 |
|
|
25 |
#ifndef __LS_ABSTRACTVOICE_H__ |
#ifndef __LS_ABSTRACTVOICE_H__ |
26 |
#define __LS_ABSTRACTVOICE_H__ |
#define __LS_ABSTRACTVOICE_H__ |
27 |
|
|
28 |
#include "Voice.h" |
#include "Voice.h" |
29 |
|
|
82 |
public: |
public: |
83 |
type_t Type; ///< Voice Type |
type_t Type; ///< Voice Type |
84 |
int MIDIKey; ///< MIDI key number of the key that triggered the voice |
int MIDIKey; ///< MIDI key number of the key that triggered the voice |
|
uint KeyGroup; |
|
85 |
|
|
86 |
AbstractVoice(); |
AbstractVoice(); |
87 |
virtual ~AbstractVoice(); |
virtual ~AbstractVoice(); |
105 |
void processPitchEvent(RTList<Event>::Iterator& itEvent); |
void processPitchEvent(RTList<Event>::Iterator& itEvent); |
106 |
void processResonanceEvent(RTList<Event>::Iterator& itEvent); |
void processResonanceEvent(RTList<Event>::Iterator& itEvent); |
107 |
void processTransitionEvents(RTList<Event>::Iterator& itEvent, uint End); |
void processTransitionEvents(RTList<Event>::Iterator& itEvent, uint End); |
108 |
|
void processGroupEvents(RTList<Event>::Iterator& itEvent, uint End); |
109 |
void UpdatePortamentoPos(Pool<Event>::Iterator& itNoteOffEvent); |
void UpdatePortamentoPos(Pool<Event>::Iterator& itNoteOffEvent); |
110 |
void Kill(Pool<Event>::Iterator& itKillEvent); |
void Kill(Pool<Event>::Iterator& itKillEvent); |
111 |
|
|
152 |
float fFinalResonance; |
float fFinalResonance; |
153 |
gig::SynthesisParam finalSynthesisParameters; |
gig::SynthesisParam finalSynthesisParameters; |
154 |
gig::Loop loop; |
gig::Loop loop; |
155 |
|
RTList<Event>* pGroupEvents; ///< Events directed to an exclusive group |
156 |
|
|
157 |
virtual AbstractEngine* GetEngine() = 0; |
virtual AbstractEngine* GetEngine() = 0; |
158 |
virtual SampleInfo GetSampleInfo() = 0; |
virtual SampleInfo GetSampleInfo() = 0; |
241 |
virtual double GetVelocityRelease(uint8_t MIDIKeyVelocity) = 0; |
virtual double GetVelocityRelease(uint8_t MIDIKeyVelocity) = 0; |
242 |
|
|
243 |
virtual unsigned long GetNoteOnTime(int MIDIKey) = 0; |
virtual unsigned long GetNoteOnTime(int MIDIKey) = 0; |
244 |
|
|
245 |
|
virtual void ProcessGroupEvent(RTList<Event>::Iterator& itEvent) = 0; |
246 |
|
void EnterReleaseStage(); |
247 |
}; |
}; |
248 |
} // namespace LinuxSampler |
} // namespace LinuxSampler |
249 |
|
|
250 |
#endif /* __LS_ABSTRACTVOICE_H__ */ |
#endif /* __LS_ABSTRACTVOICE_H__ */ |