|
|
The Mixer class acts in a similar way to a studio mixing desk - it represents the values of all the knobs and sliders you might find (in the MIDI realm). The values it stores include main volume, channel volume, channel pan, channel reverb, etc.
The values can be updated in real time according to MIDI input, MIDI output, or both. Values can be altered and sent back out through MIDI out.
It contains a number of MixerPort objects which hold the state for each MIDI port in the system.
See also: MidiCommand, MixerPort
Mixer (size_t noPorts, Transport *transport)
| Mixer |
The Mixer object is created with all values at GM default.
Parameters:
noPorts | The number of MIDI ports to hold mixing information for - you can get the appropriate value from the MidiScheduler object |
~Mixer ()
| ~Mixer |
[virtual]
MixerPort * operator[] (size_t n)
| operator[] |
Returns this Mixer's MixerPort object for the specified port.
The value returned for an index that is out of range is undefined. The size method describes the valid values.
Parameters:
n | Index |
Returns: MixerPort for this MIDI port number
void command (MidiCommand mc)
| command |
Process a MidiCommand.
This accepts the specified command, and sends it to the appropriate MixerPort.
Parameters:
mc | MidiCommand to process |
void Notifier_Deleted (Transport *)
| Notifier_Deleted |
[virtual]
Reimplemented from Listener for internal purposes..
void Transport_MidiIn (MidiCommand mc)
| Transport_MidiIn |
[virtual]
Reimplemented from TransportCallback for internal purposes..
void Transport_MidiOut (MidiCommand mc)
| Transport_MidiOut |
[virtual]
Reimplemented from TransportCallback for internal purposes..
friend class MixerPort | MixerPort |