31 |
#include "gig.h" |
#include "gig.h" |
32 |
|
|
33 |
#define MAX_PITCH 4 //FIXME: at the moment in octaves, should be changed into semitones |
#define MAX_PITCH 4 //FIXME: at the moment in octaves, should be changed into semitones |
34 |
#define USE_LINEAR_INTERPOLATION 1 |
#define USE_LINEAR_INTERPOLATION 1 ///< set to 0 if you prefer cubic interpolation (slower, better quality) |
35 |
|
|
36 |
class Voice { |
class Voice { |
37 |
public: |
public: |
45 |
~Voice(); |
~Voice(); |
46 |
void Kill(); |
void Kill(); |
47 |
void RenderAudio(); |
void RenderAudio(); |
48 |
void Trigger(int MIDIKey, uint8_t Velocity, gig::Instrument* Instrument); |
int Trigger(int MIDIKey, uint8_t Velocity, gig::Instrument* Instrument); |
49 |
inline bool IsActive() { return Active; } |
inline bool IsActive() { return Active; } |
50 |
inline void SetOutput(float* pOutput, uint OutputBufferSize) { this->pOutput = pOutput; this->OutputBufferSize = OutputBufferSize; } |
inline void SetOutput(float* pOutput, uint OutputBufferSize) { this->pOutput = pOutput; this->OutputBufferSize = OutputBufferSize; } |
51 |
private: |
private: |