/[svn]/linuxsampler/trunk/src/drivers/midi/MidiInputPort.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/drivers/midi/MidiInputPort.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2558 by schoenebeck, Thu Mar 7 19:23:24 2013 UTC revision 2559 by schoenebeck, Sun May 18 17:38:25 2014 UTC
# Line 3  Line 3 
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *   Copyright (C) 2005 - 2013 Christian Schoenebeck                       *   *   Copyright (C) 2005 - 2014 Christian Schoenebeck                       *
7   *                                                                         *   *                                                                         *
8   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
9   *   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  *
# Line 299  namespace LinuxSampler { Line 299  namespace LinuxSampler {
299              void DispatchControlChange(uint8_t Controller, uint8_t Value, uint MidiChannel, int32_t FragmentPos);              void DispatchControlChange(uint8_t Controller, uint8_t Value, uint MidiChannel, int32_t FragmentPos);
300    
301              /**              /**
302                 * Should be called by the implementing MIDI input device whenever
303                 * a channel pressure event arrived (a.k.a. aftertouch), this will
304                 * cause the channel pressure event to be forwarded to all engines
305                 * on the corresponding MIDI channel.
306                 *
307                 * This method is meant for realtime rendering, this way an event
308                 * is immediately created with the current system time as time
309                 * stamp.
310                 *
311                 * @param Value       - MIDI channel pressure value (0..127)
312                 * @param MidiChannel - MIDI channel on which event occured on
313                 *                      (low level indexing, means 0..15)
314                 * @see DispatchPolyphonicKeyPressure()
315                 */
316                void DispatchChannelPressure(uint8_t Value, uint MidiChannel);
317    
318                /**
319                 * Should be called by the implementing MIDI input device whenever
320                 * a channel pressure event arrived (a.k.a. aftertouch), this will
321                 * cause the channel pressure event to be forwarded to all engines
322                 * on the corresponding MIDI channel.
323                 *
324                 * This method is meant for offline rendering and / or in case the
325                 * exact fragment position of the event is already known.
326                 *
327                 * @param Value       - MIDI channel pressure value (0..127)
328                 * @param MidiChannel - MIDI channel on which event occured on
329                 *                      (low level indexing, means 0..15)
330                 * @param FragmentPos - event's sample point position in the
331                 *                      current audio fragment
332                 * @see DispatchPolyphonicKeyPressure()
333                 */
334                void DispatchChannelPressure(uint8_t Value, uint MidiChannel, int32_t FragmentPos);
335    
336                /**
337                 * Should be called by the implementing MIDI input device whenever
338                 * a polyphonic key pressure event arrived (a.k.a. polyphonic
339                 * aftertouch), this will cause the polyphonic key pressure event
340                 * to be forwarded to all engines on the corresponding MIDI channel.
341                 *
342                 * This method is meant for realtime rendering, this way an event
343                 * is immediately created with the current system time as time
344                 * stamp.
345                 *
346                 * @param Key         - MIDI key number of the key where pressure changed
347                 * @param Value       - MIDI key pressure value (0..127)
348                 * @param MidiChannel - MIDI channel on which event occured on
349                 *                      (low level indexing, means 0..15)
350                 * @see DispatchChannelPressure()
351                 */
352                void DispatchPolyphonicKeyPressure(uint8_t Key, uint8_t Value, uint MidiChannel);
353    
354                /**
355                 * Should be called by the implementing MIDI input device whenever
356                 * a polyphonic key pressure event arrived (a.k.a. polyphonic
357                 * aftertouch), this will cause the polyphonic key pressure event
358                 * to be forwarded to all engines on the corresponding MIDI channel.
359                 *
360                 * This method is meant for offline rendering and / or in case the
361                 * exact fragment position of the event is already known.
362                 *
363                 * @param Key         - MIDI key number of the key where pressure changed
364                 * @param Value       - MIDI key pressure value (0..127)
365                 * @param MidiChannel - MIDI channel on which event occured on
366                 *                      (low level indexing, means 0..15)
367                 * @param FragmentPos - event's sample point position in the
368                 *                      current audio fragment
369                 * @see DispatchChannelPressure()
370                 */
371                void DispatchPolyphonicKeyPressure(uint8_t Key, uint8_t Value, uint MidiChannel, int32_t FragmentPos);
372    
373                /**
374               * Should be called by the implementing MIDI input device               * Should be called by the implementing MIDI input device
375               * whenever a program change event arrived. In case the               * whenever a program change event arrived. In case the
376               * respective sampler channel(s) are enabled for MIDI               * respective sampler channel(s) are enabled for MIDI
# Line 320  namespace LinuxSampler { Line 392  namespace LinuxSampler {
392               */               */
393              void DispatchProgramChange(uint8_t Program, uint MidiChannel);              void DispatchProgramChange(uint8_t Program, uint MidiChannel);
394    
395                /**
396                 * Should be called by the implementing MIDI input device whenever
397                 * a MIDI bank select MSB (Most Significant Byte) event arrived.
398                 *
399                 * In case the respective sampler channel(s) are enabled for "MIDI
400                 * instrument mapping", a subsequent MIDI program change event can
401                 * be used to let the respective sampler engine load another
402                 * instrument according to the respective entry in the MIDI
403                 * instrument map.
404                 *
405                 * MIDI sources can either a) just send bank select MSB events, or
406                 * b) just send bank select LSB events or c) they can send both bank
407                 * select MSB and LSB events. The sampler will automatically detect
408                 * which style the MIDI source is using and appropriately interpret
409                 * it for selecting the appropriate bank.
410                 *
411                 * @param BankMsb     - Most Significant Byte of the bank number
412                 * @param MidiChannel - MIDI channel on which this bank select
413                 *                      occurred
414                 */
415              void DispatchBankSelectMsb(uint8_t BankMsb, uint MidiChannel);              void DispatchBankSelectMsb(uint8_t BankMsb, uint MidiChannel);
416    
417                /**
418                 * Should be called by the implementing MIDI input device whenever
419                 * a MIDI bank select LSB (Least Significant Byte) event arrived.
420                 *
421                 * In case the respective sampler channel(s) are enabled for "MIDI
422                 * instrument mapping", a subsequent MIDI program change event can
423                 * be used to let the respective sampler engine load another
424                 * instrument according to the respective entry in the MIDI
425                 * instrument map.
426                 *
427                 * MIDI sources can either a) just send bank select MSB events, or
428                 * b) just send bank select LSB events or c) they can send both bank
429                 * select MSB and LSB events. The sampler will automatically detect
430                 * which style the MIDI source is using and appropriately interpret
431                 * it for selecting the appropriate bank.
432                 *
433                 * @param BankMsb     - Most Significant Byte of the bank number
434                 * @param MidiChannel - MIDI channel on which this bank select
435                 *                      occurred
436                 */
437              void DispatchBankSelectLsb(uint8_t BankLsb, uint MidiChannel);              void DispatchBankSelectLsb(uint8_t BankLsb, uint MidiChannel);
438    
439              /**              /**

Legend:
Removed from v.2558  
changed lines
  Added in v.2559

  ViewVC Help
Powered by ViewVC