SynthLab SDK
SynthLab::IMidiInputData Class Referenceabstract

Interface for a MIDI input data object. More...

#include <synthbase.h>

Inheritance diagram for SynthLab::IMidiInputData:
SynthLab::MidiInputData

Public Member Functions

virtual uint32_t getGlobalMIDIData (uint32_t index)=0
 get a global MIDI data value More...
 
virtual uint32_t getCCMIDIData (uint32_t index)=0
 get a MIDI CC value More...
 
virtual uint32_t getAuxDAWDataUINT (uint32_t index)=0
 get aux data as a uint32_t datatype, may or may not be MIDI value More...
 
virtual float getAuxDAWDataFloat (uint32_t index)=0
 get aux data as a float datatype, may or may not be MIDI value More...
 

Detailed Description

Interface for a MIDI input data object.

  • The MIDI input data object stores MIDI data from the MIDI input stream; the interface provides read-access to the MIDI input object's MIDI Data
  • There are three types of MIDI data
  1. Global Data:
  • global (aka "Master") MIDI values such as volume and tuning
  • the most recent two MIDI note on and note off messages (needed for portamento)
  1. CC Data:
  • 128 CC values that should be organzied according to CC number
  1. Aux DAW data: not necessarily MIDI data, e.g. current DAW BPM
Author
Will Pirkle http://www.willpirkle.com
Remarks
This object is included and described in further detail in Designing Software Synthesizer Plugins in C++ 2nd Ed. by Will Pirkle
Version
Revision : 1.0
Date
Date : 2021 / 04 / 26

Member Function Documentation

◆ getAuxDAWDataFloat()

virtual float SynthLab::IMidiInputData::getAuxDAWDataFloat ( uint32_t  index)
pure virtual

get aux data as a float datatype, may or may not be MIDI value

Parameters
indexindex in the array values; see enum auxMIDI in synthconstants.h
Returns
the MIDI value coded as floating point value

Implemented in SynthLab::MidiInputData.

◆ getAuxDAWDataUINT()

virtual uint32_t SynthLab::IMidiInputData::getAuxDAWDataUINT ( uint32_t  index)
pure virtual

get aux data as a uint32_t datatype, may or may not be MIDI value

Parameters
indexindex in the array values; see enum auxMIDI in synthconstants.h
Returns
the MIDI value coded as a 32 bit unsigned integer

Implemented in SynthLab::MidiInputData.

◆ getCCMIDIData()

virtual uint32_t SynthLab::IMidiInputData::getCCMIDIData ( uint32_t  index)
pure virtual

get a MIDI CC value

  • Example: get the MIDI volume CC #7
  • uint32_t midiVolumeGain = midiInputData->getCCMIDIData(VOLUME_CC07);
Parameters
indexindex in the array of MIDI CC data values; a very few of these are already encoded as // — CONTINUOUS CONTROLLERS in synthconstants.h
Returns
the MIDI value coded as an 32 bit unsigned integer

Implemented in SynthLab::MidiInputData.

◆ getGlobalMIDIData()

virtual uint32_t SynthLab::IMidiInputData::getGlobalMIDIData ( uint32_t  index)
pure virtual

get a global MIDI data value

  • Example: get the MIDI pitch bend controller's current LSB value
    • uint32_t lsb = processInfo.midiInputData->getGlobalMIDIData(kMIDIPitchBendDataLSB);
Parameters
indexindex in the array of MIDI global data values; see enum globalMIDI in the synthconstants.h file
Returns
the MIDI value coded as an 32 bit unsigned integer

Implemented in SynthLab::MidiInputData.


The documentation for this class was generated from the following file: