130 |
* event to be forwarded to all connected engines on the |
* event to be forwarded to all connected engines on the |
131 |
* corresponding MIDI channel. |
* corresponding MIDI channel. |
132 |
* |
* |
133 |
|
* This method is meant for realtime rendering, this way an event |
134 |
|
* is immediately created with the current system time as time |
135 |
|
* stamp. |
136 |
|
* |
137 |
* @param Key - MIDI key number of the triggered key |
* @param Key - MIDI key number of the triggered key |
138 |
* @param Velocity - MIDI velocity of the triggered key |
* @param Velocity - MIDI velocity of the triggered key |
139 |
* @param MidiChannel - MIDI channel on which event occured on |
* @param MidiChannel - MIDI channel on which event occured on |
143 |
|
|
144 |
/** |
/** |
145 |
* Should be called by the implementing MIDI input device |
* Should be called by the implementing MIDI input device |
146 |
|
* whenever a note on event arrived, this will cause the note on |
147 |
|
* event to be forwarded to all connected engines on the |
148 |
|
* corresponding MIDI channel. |
149 |
|
* |
150 |
|
* This method is meant for offline rendering and / or in case the |
151 |
|
* exact fragment position of the event is already known. |
152 |
|
* |
153 |
|
* @param Key - MIDI key number of the triggered key |
154 |
|
* @param Velocity - MIDI velocity of the triggered key |
155 |
|
* @param MidiChannel - MIDI channel on which event occured on |
156 |
|
* (low level indexing, means 0..15) |
157 |
|
* @param FragmentPos - event's sample point position in the |
158 |
|
* current audio fragment |
159 |
|
*/ |
160 |
|
void DispatchNoteOn(uint8_t Key, uint8_t Velocity, uint MidiChannel, int32_t FragmentPos); |
161 |
|
|
162 |
|
/** |
163 |
|
* Should be called by the implementing MIDI input device |
164 |
* whenever a note off event arrived, this will cause the note |
* whenever a note off event arrived, this will cause the note |
165 |
* off event to be forwarded to all connected engines on the |
* off event to be forwarded to all connected engines on the |
166 |
* corresponding MIDI channel. |
* corresponding MIDI channel. |
167 |
* |
* |
168 |
|
* This method is meant for realtime rendering, this way an event |
169 |
|
* is immediately created with the current system time as time |
170 |
|
* stamp. |
171 |
|
* |
172 |
* @param Key - MIDI key number of the released key |
* @param Key - MIDI key number of the released key |
173 |
* @param Velocity - MIDI velocity of the released key |
* @param Velocity - MIDI velocity of the released key |
174 |
* @param MidiChannel - MIDI channel on which event occured on |
* @param MidiChannel - MIDI channel on which event occured on |
178 |
|
|
179 |
/** |
/** |
180 |
* Should be called by the implementing MIDI input device |
* Should be called by the implementing MIDI input device |
181 |
|
* whenever a note off event arrived, this will cause the note |
182 |
|
* off event to be forwarded to all connected engines on the |
183 |
|
* corresponding MIDI channel. |
184 |
|
* |
185 |
|
* This method is meant for offline rendering and / or in case the |
186 |
|
* exact fragment position of the event is already known. |
187 |
|
* |
188 |
|
* @param Key - MIDI key number of the released key |
189 |
|
* @param Velocity - MIDI velocity of the released key |
190 |
|
* @param MidiChannel - MIDI channel on which event occured on |
191 |
|
* (low level indexing, means 0..15) |
192 |
|
* @param FragmentPos - event's sample point position in the |
193 |
|
* current audio fragment |
194 |
|
*/ |
195 |
|
void DispatchNoteOff(uint8_t Key, uint8_t Velocity, uint MidiChannel, int32_t FragmentPos); |
196 |
|
|
197 |
|
/** |
198 |
|
* Should be called by the implementing MIDI input device |
199 |
* whenever a pitchbend event arrived, this will cause the |
* whenever a pitchbend event arrived, this will cause the |
200 |
* pitchbend event to be forwarded to all connected engines. |
* pitchbend event to be forwarded to all connected engines. |
201 |
* |
* |
202 |
|
* This method is meant for realtime rendering, this way an event |
203 |
|
* is immediately created with the current system time as time |
204 |
|
* stamp. |
205 |
|
* |
206 |
* @param Pitch - MIDI pitch value |
* @param Pitch - MIDI pitch value |
207 |
* @param MidiChannel - MIDI channel on which event occured on |
* @param MidiChannel - MIDI channel on which event occured on |
208 |
* (low level indexing, means 0..15) |
* (low level indexing, means 0..15) |
211 |
|
|
212 |
/** |
/** |
213 |
* Should be called by the implementing MIDI input device |
* Should be called by the implementing MIDI input device |
214 |
|
* whenever a pitchbend event arrived, this will cause the |
215 |
|
* pitchbend event to be forwarded to all connected engines. |
216 |
|
* |
217 |
|
* This method is meant for offline rendering and / or in case the |
218 |
|
* exact fragment position of the event is already known. |
219 |
|
* |
220 |
|
* @param Pitch - MIDI pitch value |
221 |
|
* @param MidiChannel - MIDI channel on which event occured on |
222 |
|
* (low level indexing, means 0..15) |
223 |
|
* @param FragmentPos - event's sample point position in the |
224 |
|
* current audio fragment |
225 |
|
*/ |
226 |
|
void DispatchPitchbend(int Pitch, uint MidiChannel, int32_t FragmentPos); |
227 |
|
|
228 |
|
/** |
229 |
|
* Should be called by the implementing MIDI input device |
230 |
* whenever a control change event arrived, this will cause the |
* whenever a control change event arrived, this will cause the |
231 |
* control change event to be forwarded to all engines on the |
* control change event to be forwarded to all engines on the |
232 |
* corresponding MIDI channel. |
* corresponding MIDI channel. |
233 |
* |
* |
234 |
|
* This method is meant for realtime rendering, this way an event |
235 |
|
* is immediately created with the current system time as time |
236 |
|
* stamp. |
237 |
|
* |
238 |
* @param Controller - MIDI controller number |
* @param Controller - MIDI controller number |
239 |
* @param Value - MIDI control change value |
* @param Value - MIDI control change value |
240 |
* @param MidiChannel - MIDI channel on which event occured on |
* @param MidiChannel - MIDI channel on which event occured on |
244 |
|
|
245 |
/** |
/** |
246 |
* Should be called by the implementing MIDI input device |
* Should be called by the implementing MIDI input device |
247 |
|
* whenever a control change event arrived, this will cause the |
248 |
|
* control change event to be forwarded to all engines on the |
249 |
|
* corresponding MIDI channel. |
250 |
|
* |
251 |
|
* This method is meant for offline rendering and / or in case the |
252 |
|
* exact fragment position of the event is already known. |
253 |
|
* |
254 |
|
* @param Controller - MIDI controller number |
255 |
|
* @param Value - MIDI control change value |
256 |
|
* @param MidiChannel - MIDI channel on which event occured on |
257 |
|
* (low level indexing, means 0..15) |
258 |
|
* @param FragmentPos - event's sample point position in the |
259 |
|
* current audio fragment |
260 |
|
*/ |
261 |
|
void DispatchControlChange(uint8_t Controller, uint8_t Value, uint MidiChannel, int32_t FragmentPos); |
262 |
|
|
263 |
|
/** |
264 |
|
* Should be called by the implementing MIDI input device |
265 |
* whenever a program change event arrived, this will cause the |
* whenever a program change event arrived, this will cause the |
266 |
* appropriate sampler channel to be connected with this MIDI |
* appropriate sampler channel to be connected with this MIDI |
267 |
* device. |
* device. |