35 |
|
|
36 |
class Voice { |
class Voice { |
37 |
public: |
public: |
38 |
|
// Attributes |
39 |
|
int MIDIKey; ///< MIDI key number of the key that triggered the voice |
40 |
|
Voice** pSelfPtr; ///< FIXME: hack to be able to remove the voice from the active voices list within the audio thread, ugly but fast |
41 |
|
uint ReleaseVelocity; ///< Reflects the release velocity value if a note-off command arrived for the voice. |
42 |
|
|
43 |
// Methods |
// Methods |
44 |
Voice(DiskThread* pDiskThread); |
Voice(DiskThread* pDiskThread); |
45 |
~Voice(); |
~Voice(); |
57 |
}; |
}; |
58 |
|
|
59 |
// Attributes |
// Attributes |
60 |
|
float Volume; |
61 |
float* pOutput; ///< Audio output buffer |
float* pOutput; ///< Audio output buffer |
62 |
uint OutputBufferSize; ///< Fragment size of the audio output buffer |
uint OutputBufferSize; ///< Fragment size of the audio output buffer |
63 |
double Pos; |
double Pos; |