49 |
Voice(); |
Voice(); |
50 |
~Voice(); |
~Voice(); |
51 |
void Kill(); |
void Kill(); |
|
void Release(uint Delay); |
|
52 |
void Render(uint Samples); |
void Render(uint Samples); |
53 |
int Trigger(int MIDIKey, uint8_t Velocity, int Pitch, gig::Instrument* pInstrument, uint Delay); |
int Trigger(ModulationSystem::Event* pNoteOnEvent, int Pitch, gig::Instrument* pInstrument); |
54 |
inline bool IsActive() { return Active; } |
inline bool IsActive() { return Active; } |
55 |
inline void SetOutputLeft(float* pOutput, uint MaxSamplesPerCycle) { this->pOutputLeft = pOutput; this->MaxSamplesPerCycle = MaxSamplesPerCycle; } |
inline void SetOutputLeft(float* pOutput, uint MaxSamplesPerCycle) { this->pOutputLeft = pOutput; this->MaxSamplesPerCycle = MaxSamplesPerCycle; } |
56 |
inline void SetOutputRight(float* pOutput, uint MaxSamplesPerCycle) { this->pOutputRight = pOutput; this->MaxSamplesPerCycle = MaxSamplesPerCycle; } |
inline void SetOutputRight(float* pOutput, uint MaxSamplesPerCycle) { this->pOutputRight = pOutput; this->MaxSamplesPerCycle = MaxSamplesPerCycle; } |
80 |
int LoopCyclesLeft; ///< In case there is a RAMLoop and it's not an endless loop; reflects number of loop cycles left to be passed |
int LoopCyclesLeft; ///< In case there is a RAMLoop and it's not an endless loop; reflects number of loop cycles left to be passed |
81 |
uint Delay; ///< Number of sample points the rendering process of this voice should be delayed (jitter correction), will be set to 0 after the first audio fragment cycle |
uint Delay; ///< Number of sample points the rendering process of this voice should be delayed (jitter correction), will be set to 0 after the first audio fragment cycle |
82 |
EG_VCA EG1; |
EG_VCA EG1; |
83 |
bool ReleaseSignalReceived; |
ModulationSystem::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). |
84 |
|
|
85 |
// Methods |
// Methods |
86 |
void ProcessEvents(uint Samples); |
void ProcessEvents(uint Samples); |