|
|
External MIDI port output class . This class is used to send midi events to external midi devices.
MidiOut is inherited by other MIDI devices classes (like SynthOut or FMOut) to support a common API.
In general, you don't want to use MidiOut directly, but within a DeviceManager object, which is the preferred way to generate music.
If you want to add support for other devices (I don't think there are any) you just have to create a class that inherits from MidiOut and create one object of your new class in DeviceManager::initManager().
int |
[protected]
This is the /dev/sequencer file handler. Remember _not_to_close_ it on MidiOut, but just on DeviceManager
int |
[protected]
Total number of devices.
int |
[protected]
Total number of midi ports
double |
[protected]
A "constant" used to convert from milliseconds to the computer rate
|
Constructor. After constructing a MidiOut device, you must open it (using openDev() ). Additionally you may want to initialize it (with initDev() ),
~ |
[virtual]
Destructor. It doesn't matter if you close the device (closeDev() ) before you destruct the object because in other case, it will be closed here.
void |
[virtual]
Opens the device. This is generally called from DeviceManager , so you shouldn't call this yourself (except if you created the MidiOut object yourself.
Parameters:
sqfd | a file descriptor of /dev/sequencer |
void |
[virtual]
Closes the device. It basically tells the device (the file descriptor) is going to be closed.
void |
[virtual]
Initializes the device sending generic standard midi events and controllers, such as changing the patches of each channel to an Acoustic Piano (000), setting the volume to a normal value, etc.
int |
[const]
which are defined in midispec.h
Returns: the device type of the object. This is to identify the inherited class that a given object is polymorphed to. The returned value is one of these :
const char * |
[const]
Returns the name and type of this MIDI device.
int |
void |
Sets a MidiMapper object to be used to modify the midi events before sending them.
Parameters:
map | the MidiMapper to use. |
See also: MidiMapper, midiMapFilename
void |
[virtual]
See DeviceManager::noteOn()
void |
[virtual]
See DeviceManager::noteOff()
void |
[virtual]
See DeviceManager::keyPressure()
void |
[virtual]
See DeviceManager::chnPatchChange()
void |
[virtual]
See DeviceManager::chnPressure()
void |
[virtual]
See DeviceManager::chnPitchBender()
void |
[virtual]
See DeviceManager::chnController()
void |
[virtual]
See DeviceManager::sysex()
void |
[virtual]
Mutes all notes being played on a given channel.
void |
[virtual]
Mute or "unmute" a given channel .
Parameters:
chn | channel to work on |
b | if true, the device will ignore subsequent notes played on the chn channel, and mute all notes being played on it. If b is false, the channel is back to work. |
void |
[virtual]
Change all channel volume events multiplying it by this percentage correction Instead of forcing a channel to a fixed volume, this method allows to music to fade out even when it was being played softly.
Parameters:
volper | is an integer value, where 0 is quiet, 100 is used to send an unmodified value, 200 play music twice louder than it should, etc. |
int |
Returns true if everything's ok and false if there has been any problem
void |
[virtual]
If i==1 syncronizes by cleaning the buffer instead of sending it (in fact, this is what syncronizing really means :-) )
char * |
Returns the path to the file where the current used MidiMapper object reads the configuration from, or an empty string if there's no MidiMapper.