class MidiOut

Sends MIDI events to external MIDI devices. More...

Definition#include <midiout.h>
Inherited byAlsaOut, FMOut, GUSOut, SynthOut
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Methods

Protected Members


Detailed Description

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 seqfd

[protected]

This is the /dev/sequencer file handler. Remember _not_to_close_ it on MidiOut, but just on DeviceManager

int device

[protected]

int devicetype

[protected]

int volumepercentage

[protected]

MidiMapper * map

[protected]

uchar [16] chnpatch

[protected]

int [16] chnbender

[protected]

uchar [16] chnpressure

[protected]

uchar [16][256] chncontroller

[protected]

int [16] chnmute

[protected]

int _ok

[protected]

void  seqbuf_dump (void)

[protected]

void  seqbuf_clean (void)

[protected]

 MidiOut (int d=0)

Constructor. After constructing a MidiOut device, you must open it (using openDev() ). Additionally you may want to initialize it (with initDev() ),

MidiOut ()

[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  openDev (int sqfd)

[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:

See also: closeDev, initDev

void  closeDev ()

[virtual]

Closes the device. It basically tells the device (the file descriptor) is going to be closed.

void  initDev ()

[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  deviceType ()

[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 *  deviceName (void)

[const]

Returns the name and type of this MIDI device.

void  setMidiMapper ( MidiMapper *map )

Sets a MidiMapper object to be used to modify the midi events before sending them.

Parameters:

See also: MidiMapper, midiMapFilename

void  noteOn ( uchar chn, uchar note, uchar vel )

[virtual]

See DeviceManager::noteOn()

void  noteOff ( uchar chn, uchar note, uchar vel )

[virtual]

See DeviceManager::noteOff()

void  keyPressure ( uchar chn, uchar note, uchar vel )

[virtual]

See DeviceManager::keyPressure()

void  chnPatchChange ( uchar chn, uchar patch )

[virtual]

See DeviceManager::chnPatchChange()

void  chnPressure ( uchar chn, uchar vel )

[virtual]

See DeviceManager::chnPressure()

void  chnPitchBender ( uchar chn, uchar lsb, uchar msb )

[virtual]

See DeviceManager::chnPitchBender()

void  chnController ( uchar chn, uchar ctl , uchar v )

[virtual]

See DeviceManager::chnController()

void  sysex ( uchar *data,ulong size)

[virtual]

See DeviceManager::sysex()

void  channelSilence ( uchar chn )

[virtual]

Mutes all notes being played on a given channel.

void  channelMute ( uchar chn, int a )

[virtual]

Mute or "unmute" a given channel .

Parameters:

void  setVolumePercentage ( int volper )

[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:

int  ok (void)

Returns true if everything's ok and false if there has been any problem

const char * midiMapFilename ()

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.