sigControl overview

Goto: [ MIDI | Support | Events | Signal ]

The sigControl set of C++ classes handle timing and events to be played in real-time, primarily throught MIDI input and output. The set of control classes described here are useful especially for real-time interaction between the computer and MIDI devices, such as synthesizers and the radio drum.

MIDI Communication

MIDI input and output classes are separated into two categories: (1) private classes to control the hardware/operating system independent coding, and (2) public classes for use in writing programs dealing with MIDI.

Each system configuration must define two classes which will be privately inherited by the classes MidiInPort and MidiOutPort:

  1. MidiInPort_system
  2. MidiOutPort_system
where system is the configuration type that is defined at compilation time for the MIDI classes. These inherited classes can define any necessary functions, but only a uniform set of functions will be available for use in the MidiInPort/MidiOutPort functions regardless of the operating system.

Additional classes may also be used to support the two required system classes. This is usually the case with UNIX systems which combine the input and output devices into one unit; on the other hand, MIDI in/out devices are handled separately in Microsoft's Visual C++ and so does not need any supporting classes.

Here are the general descriptions of the MIDI public classes:

There are also two classes derived from MidiIO for use with particular MIDI devices:

Support Classes

There are three main support classes which are utilized by the MIDI communication classes described above:

Outgoing Events

To be written.

Connection with Signal classes

None yet.