|
Canorus
0.0
|
Canorus<->Midi bridge. More...
#include <mididevice.h>

Public Types | |
| enum | CAMidiDeviceType { RtMidiDevice, MidiExportDevice } |
| enum | midiCommands { Meta_Text = 0x01, Meta_Copyright = 0x02, Meta_SeqTrkName = 0x03, Meta_InstrName = 0x04, Meta_Lyric = 0x05, Meta_Marker = 0x06, Meta_CuePoint = 0x07, Meta_Tempo = 0x51, Meta_SMPTEOffs = 0x54, Meta_Timesig = 0x58, Meta_Keysig = 0x59, Meta_Track_End = 0x2f, Midi_Ctl_Reverb = 0x5b, Midi_Ctl_Chorus = 0x5d, Midi_Ctl_Pan = 0x0a, Midi_Ctl_Volume = 0x07, Midi_Ctl_Sustain = 0x40, Midi_Ctl_Event = 0xff, Midi_Note_Off = 0x80, Midi_Note_On = 0x90, Midi_Prog_Change = 0xc0, Midi_Control_Chg = 0xb0 } |
Signals | |
| void | midiInEvent (QVector< unsigned char > message) |
Public Member Functions | |
| CAMidiDevice () | |
| virtual | ~CAMidiDevice () |
| CAMidiDeviceType | midiDeviceType () |
| bool | isRealTime () |
| virtual QMap< int, QString > | getOutputPorts ()=0 |
| virtual QMap< int, QString > | getInputPorts ()=0 |
| virtual bool | openOutputPort (int port)=0 |
| virtual bool | openInputPort (int port)=0 |
| virtual void | closeOutputPort ()=0 |
| virtual void | closeInputPort ()=0 |
| virtual void | send (QVector< unsigned char > message, int time)=0 |
| virtual void | sendMetaEvent (int time, int event, int a, int b, int c)=0 |
Static Public Member Functions | |
| static QStringList | gmInstrumentList () |
| static QString | instrumentName (int midiProgram) |
| static QStringList | instrumentNames () |
| static unsigned char | freeMidiChannel (CASheet *) |
Protected Member Functions | |
| void | setRealTime (bool r) |
| void | setMidiDeviceType (CAMidiDeviceType t) |
Protected Attributes | |
| CAMidiDeviceType | _midiDeviceType |
| bool | _realTime |
Static Private Attributes | |
| static QStringList | GM_INSTRUMENTS |
Friends | |
| void | rtMidiInCallback (double deltatime, std::vector< unsigned char > *message, void *userData) |
Canorus<->Midi bridge.
This class represents generic Midiinterface to Canorus. Any Midi wrapper class should extend this class.
Currently CARtMidi is one of the Midi libraries implemented. This class is an example of the so called real-time Midi classes. This means that the midi event will be heard at the moment it is sent.
Another example is CAMidiExport. This is a Midi file writer. The class is an example of the non-real-time Midi classes. It needs also the time to write the midi event to a file.
| CAMidiDevice::CAMidiDevice | ( | ) |
|
inlinevirtual |
|
pure virtual |
Implemented in CARtMidiDevice, and CAMidiExport.
Referenced by CASettings::setMidiInPort().

|
pure virtual |
Implemented in CARtMidiDevice, and CAMidiExport.
Referenced by CAMainWin::playbackFinished().

|
static |
Returns the first midi channel that isn't occupied by voices in the given sheet s yet. Returns 0, if all the channels are occupied.
References CASheet::voiceList().
Referenced by CAVoice::CAVoice().


|
pure virtual |
Implemented in CARtMidiDevice, and CAMidiExport.
Referenced by CASettingsDialog::setupPages().

|
pure virtual |
Implemented in CARtMidiDevice, and CAMidiExport.
Referenced by CASettingsDialog::setupPages().

|
inlinestatic |
References GM_INSTRUMENTS.
|
static |
This function returns translated instrument name for the given MIDI program.
References GM_INSTRUMENTS.
Referenced by CADrawableMark::CADrawableMark(), and CADrawableMark::draw().

|
static |
This function returns a list of translated GM instruments.
References GM_INSTRUMENTS.
Referenced by CAMainWin::createCustomActions().

|
inline |
References _realTime.
|
inline |
References _midiDeviceType.
|
signal |
|
pure virtual |
Implemented in CARtMidiDevice, and CAMidiExport.
Referenced by CASettings::setMidiInPort().

|
pure virtual |
Implemented in CARtMidiDevice, and CAMidiExport.
Referenced by CAMainWin::on_uiPlayFromSelection_toggled(), and CAPlayback::playImmediately().

|
pure virtual |
Implemented in CARtMidiDevice, and CAMidiExport.
Referenced by CAPlayback::initStreams(), CAPlayback::playSelectionImpl(), and CAPlayback::run().

|
pure virtual |
Implemented in CAMidiExport, and CARtMidiDevice.
Referenced by CAPlayback::loopUntilPlayable(), and CAPlayback::run().

|
inlineprotected |
References _midiDeviceType.
|
inlineprotected |
References _realTime.
Referenced by CAMidiExport::CAMidiExport(), and CARtMidiDevice::CARtMidiDevice().

|
friend |
Callback function which gets called by RtMidi automatically when an information on MidiIn device has come.
Referenced by CARtMidiDevice::openInputPort().
|
protected |
Referenced by CAMidiExport::CAMidiExport(), CARtMidiDevice::CARtMidiDevice(), midiDeviceType(), and setMidiDeviceType().
|
protected |
Referenced by isRealTime(), and setRealTime().
|
staticprivate |
Copyright (c) 2007, Matevž Jekovec, Canorus development team All Rights Reserved. See AUTHORS for a complete list of authors.
Licensed under the GNU GENERAL PUBLIC LICENSE. See COPYING for details.
Original General Midi Instruments (program) names. Call instrumentName() or instrumentNames() to get translated strings.
Referenced by gmInstrumentList(), instrumentName(), and instrumentNames().