50 |
///////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////// |
51 |
// type definitions |
// type definitions |
52 |
|
|
53 |
|
/** |
54 |
|
* List of all currently implemented MIDI input drivers. |
55 |
|
*/ |
56 |
|
enum type_t { |
57 |
|
type_alsa |
58 |
|
}; |
59 |
|
|
60 |
|
/** |
61 |
|
* MIDI channels |
62 |
|
*/ |
63 |
enum midi_chan_t { |
enum midi_chan_t { |
64 |
midi_chan_all = 0, |
midi_chan_all = 0, |
65 |
midi_chan_1 = 1, |
midi_chan_1 = 1, |
77 |
midi_chan_13 = 13, |
midi_chan_13 = 13, |
78 |
midi_chan_14 = 14, |
midi_chan_14 = 14, |
79 |
midi_chan_15 = 15, |
midi_chan_15 = 15, |
80 |
midi_chan_16 = 16, |
midi_chan_16 = 16 |
|
midi_chan_17 = 17 |
|
81 |
}; |
}; |
82 |
|
|
83 |
|
|
127 |
*/ |
*/ |
128 |
void Disconnect(Engine* pEngine); |
void Disconnect(Engine* pEngine); |
129 |
|
|
130 |
|
/** |
131 |
|
* Returns the ID that identifies the implementing MIDI input |
132 |
|
* driver. |
133 |
|
*/ |
134 |
|
type_t Type(); |
135 |
|
|
136 |
protected: |
protected: |
137 |
std::set<Engine*> MidiChannelMap[17]; ///< Contains the list of connected engines for each MIDI channel, where index 0 points to the list of engines which are connected to all MIDI channels. Usually it's not necessary for the descendant to use this map, instead it should just use the Dispatch* methods. |
std::set<Engine*> MidiChannelMap[17]; ///< Contains the list of connected engines for each MIDI channel, where index 0 points to the list of engines which are connected to all MIDI channels. Usually it's not necessary for the descendant to use this map, instead it should just use the Dispatch* methods. |
138 |
|
type_t MidiInputType; |
139 |
|
|
140 |
|
|
141 |
|
/** |
142 |
|
* Constructor. Has to be called by the implementing MIDI |
143 |
|
* input driver to define the ID of the driver. When a new MIDI |
144 |
|
* input driver is implemented, the |
145 |
|
* MidiInputDevice::midi_input_type_t enumeration has to be |
146 |
|
* extended with a new ID for the new MIDI input driver. |
147 |
|
*/ |
148 |
|
MidiInputDevice(type_t Type); |
149 |
|
|
150 |
|
|
151 |
|
|
152 |
///////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////// |