1 |
/*************************************************************************** |
/*************************************************************************** |
2 |
* * |
* * |
3 |
* Copyright (C) 2005 - 2014 Christian Schoenebeck * |
* Copyright (C) 2005 - 2020 Christian Schoenebeck * |
4 |
* * |
* * |
5 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
6 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
260 |
void SetMidiInstrumentMap(int MidiMap) throw (Exception); |
void SetMidiInstrumentMap(int MidiMap) throw (Exception); |
261 |
|
|
262 |
/** |
/** |
263 |
* Set MIDI Registered Parameter Number (RPN) Controller |
* Set MIDI Registered Parameter Number (RPN) |
264 |
* (upper 8 bits / coarse). |
* (upper 7 bits / coarse). |
265 |
*/ |
*/ |
266 |
void SetMidiRpnControllerMsb(uint8_t CtrlMSB); |
void SetMidiRpnParameterMsb(uint8_t ParamMSB); |
267 |
|
|
268 |
/** |
/** |
269 |
* Set MIDI Registered Parameter Number (RPN) Controller |
* Set MIDI Registered Parameter Number (RPN) |
270 |
* (lower 8 bits / fine). |
* (lower 7 bits / fine). |
271 |
*/ |
*/ |
272 |
void SetMidiRpnControllerLsb(uint8_t CtrlLSB); |
void SetMidiRpnParameterLsb(uint8_t ParamLSB); |
273 |
|
|
274 |
/** |
/** |
275 |
* Reset to no RPN controller currently selected. |
* Reset to no RPN parameter currently selected. |
276 |
*/ |
*/ |
277 |
void ResetMidiRpnController(); |
void ResetMidiRpnParameter(); |
278 |
|
|
279 |
/** |
/** |
280 |
* Set MIDI Non-Registered Parameter Number (NRPN) Controller |
* Set MIDI Non-Registered Parameter Number (NRPN) |
281 |
* (upper 8 bits / coarse). |
* (upper 7 bits / coarse). |
282 |
*/ |
*/ |
283 |
void SetMidiNrpnControllerMsb(uint8_t CtrlMSB); |
void SetMidiNrpnParameterMsb(uint8_t ParamMSB); |
284 |
|
|
285 |
/** |
/** |
286 |
* Set MIDI Non-Registered Parameter Number (NRPN) Controller |
* Set MIDI Non-Registered Parameter Number (NRPN) |
287 |
* (lower 8 bits / fine). |
* (lower 7 bits / fine). |
288 |
*/ |
*/ |
289 |
void SetMidiNrpnControllerLsb(uint8_t CtrlLSB); |
void SetMidiNrpnParameterLsb(uint8_t ParamLSB); |
290 |
|
|
291 |
/** |
/** |
292 |
* Reset to no NRPN controller currently selected. |
* Reset to no NRPN parameter currently selected. |
293 |
|
*/ |
294 |
|
void ResetMidiNrpnParameter(); |
295 |
|
|
296 |
|
/** |
297 |
|
* Get currently selected MIDI Registered Parameter Number |
298 |
|
* (RPN), this method will return the already merged 14 bit |
299 |
|
* parameter number (MSB and LSB value combined). |
300 |
|
* |
301 |
|
* @e WARNING: you have to call @c ResetMidiRpnParameter() |
302 |
|
* after using this value, otherwise all subsequent MIDI CC #6 |
303 |
|
* (Data) messages are interpreted as RPN value messages. |
304 |
|
* |
305 |
|
* @returns currently selected (14 bit) RPN number, a negative |
306 |
|
* value if no RPN parameter currently selected |
307 |
*/ |
*/ |
308 |
void ResetMidiNrpnController(); |
int GetMidiRpnParameter(); |
309 |
|
|
310 |
|
/** |
311 |
|
* Get currently selected MIDI Non-Registered Parameter Number |
312 |
|
* (NRPN), this method will return the already merged 14 bit |
313 |
|
* value (MSB and LSB value combined). |
314 |
|
* |
315 |
|
* @e WARNING: you have to call @c ResetMidiNrpnParameter() |
316 |
|
* after using this value, otherwise all subsequent MIDI CC #6 |
317 |
|
* (Data) messages are interpreted as NRPN value messages. |
318 |
|
* |
319 |
|
* @returns currently selected (14 bit) NRPN number, a negative |
320 |
|
* value if no NRPN parameter currently selected |
321 |
|
*/ |
322 |
|
int GetMidiNrpnParameter(); |
323 |
|
|
324 |
/** |
/** |
325 |
* Registers the specified listener to be notified when the number |
* Registers the specified listener to be notified when the number |
338 |
void RemoveAllFxSendCountListeners(); |
void RemoveAllFxSendCountListeners(); |
339 |
|
|
340 |
/** |
/** |
|
* Get currently selected MIDI Registered Parameter Number |
|
|
* (RPN) Controller, this method will return the already merged |
|
|
* value (MSB and LSB value). |
|
|
* |
|
|
* @e WARNING: you have to call @c ResetMidiRpnController() |
|
|
* after using this value, otherwise all subsequent MIDI CC #6 |
|
|
* (Data) messages are interpreted as RPN controller value |
|
|
* messages. |
|
|
* |
|
|
* @returns currently selected RPN controller number, a negative |
|
|
* value if no RPN controller currently selected |
|
|
*/ |
|
|
int GetMidiRpnController(); |
|
|
|
|
|
/** |
|
|
* Get currently selected MIDI Non-Registered Parameter Number |
|
|
* (NRPN) Controller, this method will return the already merged |
|
|
* value (MSB and LSB value). |
|
|
* |
|
|
* @e WARNING: you have to call @c ResetMidiNrpnController() |
|
|
* after using this value, otherwise all subsequent MIDI CC #6 |
|
|
* (Data) messages are interpreted as NRPN controller value |
|
|
* messages. |
|
|
* |
|
|
* @returns currently selected NRPN controller number, a negative |
|
|
* value if no NRPN controller currently selected |
|
|
*/ |
|
|
int GetMidiNrpnController(); |
|
|
|
|
|
/** |
|
341 |
* Gets the current number of active voices. |
* Gets the current number of active voices. |
342 |
*/ |
*/ |
343 |
uint GetVoiceCount(); |
uint GetVoiceCount(); |
371 |
*/ |
*/ |
372 |
void ExecuteProgramChange(uint32_t Program); |
void ExecuteProgramChange(uint32_t Program); |
373 |
|
|
374 |
|
|
375 |
|
// Deprecated APIs |
376 |
|
// (these public methods might be removed in future) ... |
377 |
|
|
378 |
|
/** |
379 |
|
* Set MIDI Registered Parameter Number (RPN) Controller |
380 |
|
* (upper 8 bits / coarse). |
381 |
|
* |
382 |
|
* @deprecated Use SetMidiRpnParameterMsb() instead. |
383 |
|
*/ |
384 |
|
void SetMidiRpnControllerMsb(uint8_t CtrlMSB) DEPRECATED_API; |
385 |
|
|
386 |
|
/** |
387 |
|
* Set MIDI Registered Parameter Number (RPN) Controller |
388 |
|
* (lower 8 bits / fine). |
389 |
|
* |
390 |
|
* @deprecated Use SetMidiRpnParameterLsb() instead. |
391 |
|
*/ |
392 |
|
void SetMidiRpnControllerLsb(uint8_t CtrlLSB) DEPRECATED_API; |
393 |
|
|
394 |
|
/** |
395 |
|
* Reset to no RPN controller currently selected. |
396 |
|
* |
397 |
|
* @deprecated Use ResetMidiRpnParameter() instead. |
398 |
|
*/ |
399 |
|
void ResetMidiRpnController() DEPRECATED_API; |
400 |
|
|
401 |
|
/** |
402 |
|
* Set MIDI Non-Registered Parameter Number (NRPN) Controller |
403 |
|
* (upper 8 bits / coarse). |
404 |
|
* |
405 |
|
* @deprecated Use SetMidiNrpnParameterMsb() instead. |
406 |
|
*/ |
407 |
|
void SetMidiNrpnControllerMsb(uint8_t CtrlMSB) DEPRECATED_API; |
408 |
|
|
409 |
|
/** |
410 |
|
* Set MIDI Non-Registered Parameter Number (NRPN) Controller |
411 |
|
* (lower 8 bits / fine). |
412 |
|
* |
413 |
|
* @deprecated Use SetMidiNrpnParameterLsb() instead. |
414 |
|
*/ |
415 |
|
void SetMidiNrpnControllerLsb(uint8_t CtrlLSB) DEPRECATED_API; |
416 |
|
|
417 |
|
/** |
418 |
|
* Reset to no NRPN controller currently selected. |
419 |
|
* |
420 |
|
* @deprecated Use ResetMidiNrpnParameter() instead. |
421 |
|
*/ |
422 |
|
void ResetMidiNrpnController() DEPRECATED_API; |
423 |
|
|
424 |
|
/** |
425 |
|
* Get currently selected MIDI Registered Parameter Number |
426 |
|
* (RPN) Controller, this method will return the already merged |
427 |
|
* value (MSB and LSB value). |
428 |
|
* |
429 |
|
* @e WARNING: you have to call @c ResetMidiRpnController() |
430 |
|
* after using this value, otherwise all subsequent MIDI CC #6 |
431 |
|
* (Data) messages are interpreted as RPN controller value |
432 |
|
* messages. |
433 |
|
* |
434 |
|
* @returns currently selected RPN controller number, a negative |
435 |
|
* value if no RPN controller currently selected |
436 |
|
* |
437 |
|
* @deprecated Use GetMidiRpnParameter() instead. |
438 |
|
*/ |
439 |
|
int GetMidiRpnController() DEPRECATED_API; |
440 |
|
|
441 |
|
/** |
442 |
|
* Get currently selected MIDI Non-Registered Parameter Number |
443 |
|
* (NRPN) Controller, this method will return the already merged |
444 |
|
* value (MSB and LSB value). |
445 |
|
* |
446 |
|
* @e WARNING: you have to call @c ResetMidiNrpnController() |
447 |
|
* after using this value, otherwise all subsequent MIDI CC #6 |
448 |
|
* (Data) messages are interpreted as NRPN controller value |
449 |
|
* messages. |
450 |
|
* |
451 |
|
* @returns currently selected NRPN controller number, a negative |
452 |
|
* value if no NRPN controller currently selected |
453 |
|
* |
454 |
|
* @deprecated Use GetMidiNrpnParameter() instead. |
455 |
|
*/ |
456 |
|
int GetMidiNrpnController() DEPRECATED_API; |
457 |
|
|
458 |
protected: |
protected: |
459 |
EngineChannel(); |
EngineChannel(); |
460 |
virtual ~EngineChannel(); // MUST only be destroyed by EngineChannelFactory |
virtual ~EngineChannel(); // MUST only be destroyed by EngineChannelFactory |