96 |
// Methods |
// Methods |
97 |
Voice(); |
Voice(); |
98 |
~Voice(); |
~Voice(); |
99 |
void Kill(Event* pKillEvent); |
void Kill(Pool<Event>::Iterator& itKillEvent); |
100 |
void KillImmediately(); |
void KillImmediately(); |
101 |
void Render(uint Samples); |
void Render(uint Samples); |
102 |
void Reset(); |
void Reset(); |
103 |
void SetOutput(AudioOutputDevice* pAudioOutputDevice); |
void SetOutput(AudioOutputDevice* pAudioOutputDevice); |
104 |
void SetEngine(Engine* pEngine); |
void SetEngine(Engine* pEngine); |
105 |
int Trigger(Event* pNoteOnEvent, int PitchBend, ::gig::Instrument* pInstrument, int iLayer = 0, bool ReleaseTriggerVoice = false); |
int Trigger(Pool<Event>::Iterator& itNoteOnEvent, int PitchBend, ::gig::Instrument* pInstrument, int iLayer = 0, bool ReleaseTriggerVoice = false); |
106 |
inline bool IsActive() { return Active; } |
inline bool IsActive() { return Active; } |
107 |
private: |
private: |
108 |
// Types |
// Types |
148 |
LFO<gig::VCAManipulator>* pLFO1; ///< Low Frequency Oscillator 1 (Amplification) |
LFO<gig::VCAManipulator>* pLFO1; ///< Low Frequency Oscillator 1 (Amplification) |
149 |
LFO<gig::VCFCManipulator>* pLFO2; ///< Low Frequency Oscillator 2 (Filter cutoff frequency) |
LFO<gig::VCFCManipulator>* pLFO2; ///< Low Frequency Oscillator 2 (Filter cutoff frequency) |
150 |
LFO<gig::VCOManipulator>* pLFO3; ///< Low Frequency Oscillator 3 (Pitch) |
LFO<gig::VCOManipulator>* pLFO3; ///< Low Frequency Oscillator 3 (Pitch) |
151 |
Event* pTriggerEvent; ///< First event on the key's list the voice should process (only needed for the first audio fragment in which voice was triggered, after that it will be set to NULL). |
Pool<Event>::Iterator itTriggerEvent; ///< First event on the key's list the voice should process (only needed for the first audio fragment in which voice was triggered, after that it will be set to NULL). |
152 |
Event* pKillEvent; ///< Event which caused this voice to be killed |
Pool<Event>::Iterator itKillEvent; ///< Event which caused this voice to be killed |
153 |
|
|
154 |
// Static Methods |
// Static Methods |
155 |
static float CalculateFilterCutoffCoeff(); |
static float CalculateFilterCutoffCoeff(); |