NiCMidi 1.1.0
A MIDI library derived from J.D.Koftinoff jdksmidi
|
A multipurpose MIDIProcessor implementing muting, soloing, rechannelizing, velocity scaling and transposing. More...
#include <advancedsequencer.h>
Public Types | |
enum | { NO_SOLO , SOLOED , NOT_SOLOED } |
Public Member Functions | |
MIDISequencerTrackProcessor () | |
The constructor. Default is no processing (MIDI messages leave the processor unchanged). More... | |
virtual | ~MIDISequencerTrackProcessor () |
The destructor does nothing. More... | |
virtual void | Reset () |
Resets all values to default state (no processing at all). More... | |
void | SetExternalProcessor (MIDIProcessor *proc) |
Sets the extra processor for the track. More... | |
virtual bool | Process (MIDITimedMessage *msg) |
Processes message msg, changing its parameters according to the state of the processor. More... | |
![]() | |
MIDIProcessor () | |
The constructor. More... | |
virtual | ~MIDIProcessor () |
The destructor. More... | |
Public Attributes | |
bool | mute |
track is muted More... | |
int | solo |
NO_SOLO, SOLOED, NOT_SOLOED. More... | |
unsigned int | velocity_scale |
current velocity scale value for note ons, 100=normal More... | |
int | rechannel |
rechannelization value, or -1 for none More... | |
int | transpose |
amount to transpose note values More... | |
MIDIProcessor * | extra_proc |
extra midi processing for this track More... | |
A multipurpose MIDIProcessor implementing muting, soloing, rechannelizing, velocity scaling and transposing.
Moreover, you can set a custom MIDIProcessor pointer which extra-processes messages. The AdvancedSequencer class contains an independent MIDISequencerTrackProcessor for every MIDI Track, and allow you to set muting, transposing etc. by dedicated methods without directly dealing with this: the only useful function for the user is probably the extra processing hook. However, you could subclass this if you want to get new features.
MIDISequencerTrackProcessor::MIDISequencerTrackProcessor | ( | ) |
The constructor. Default is no processing (MIDI messages leave the processor unchanged).
|
inlinevirtual |
The destructor does nothing.
|
virtual |
Resets all values to default state (no processing at all).
Implements MIDIProcessor.
|
inline |
Sets the extra processor for the track.
The user processing is done before all internal processing, and if the user Process() function returns false it is not done at all. If you want to eliminate an already set processor call this with 0 as parameter
|
virtual |
Processes message msg, changing its parameters according to the state of the processor.
Implements MIDIProcessor.
bool MIDISequencerTrackProcessor::mute |
track is muted
int MIDISequencerTrackProcessor::solo |
NO_SOLO, SOLOED, NOT_SOLOED.
unsigned int MIDISequencerTrackProcessor::velocity_scale |
current velocity scale value for note ons, 100=normal
int MIDISequencerTrackProcessor::rechannel |
rechannelization value, or -1 for none
int MIDISequencerTrackProcessor::transpose |
amount to transpose note values
MIDIProcessor* MIDISequencerTrackProcessor::extra_proc |
extra midi processing for this track