|
|
Manages the voices used by synthesizers.
VoiceManager (int totalvoices) |
Cronstructor.
~VoiceManager () |
Destructor.
int allocateVoice (int chn,int key) |
Allocates a voice used in channel chn
, and playing key key
Returns: the voice that should be used.
See also: deallocateVoice
void deallocateVoice (int id) |
Deallocates the voice with ID id
.
See also: allocateVoice
void initSearch (void) |
initSearch() must be called always before search() to initialize internal variables.
See also: search
int search (int chn) |
Returns -1 if channel chn is not currently used, or a voice using
channel chn
if any.
Calling search repeteadly, will return all the voices using channel
chn
, and a -1 after the last one.
See also: initSearch
int search (int chn,int note) |
This is a convenience function that differs from the above in that it also looks for a specific note (the second parameter)
See also: initSearch
int channel (int v) |
Returns the channel that voice v
is using.
int note (int v) |
Returns the note that voice v
is playing.
int used (int v) |
Returns true or false if the voice v
is being used or not respectively.
void clearLists (void) |
Clears the lists of used voices.