hydrogen 1.2.5
CoreMidiDriver Class Reference

#include <CoreMidiDriver.h>

Inheritance diagram for CoreMidiDriver:
Object< CoreMidiDriver > MidiInput MidiOutput Base Object< MidiInput > Object< MidiOutput > Base Base

Public Member Functions

 CoreMidiDriver ()
 ~CoreMidiDriver ()
virtual void close () override
virtual std::vector< QString > getInputPortList () override
virtual std::vector< QString > getOutputPortList () override
virtual void handleOutgoingControlChange (int param, int value, int channel) override
virtual void handleQueueAllNoteOff () override
virtual void handleQueueNote (Note *pNote) override
virtual void handleQueueNoteOff (int channel, int key, int velocity) override
virtual void open () override
Public Member Functions inherited from Object< CoreMidiDriver >
 Object ()
Public Member Functions inherited from Base
 Base ()
 Base (const Base &other)
virtual const char * class_name () const
void logBacktrace () const
 Print the current stack at point into the debug log.
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG.
virtual QString toQString (const QString &sPrefix="", bool bShort=true) const
 Formatted string version for debugging purposes.
Public Member Functions inherited from MidiInput
 MidiInput ()
virtual ~MidiInput ()
void handleControlChangeMessage (const MidiMessage &msg)
void handleMidiMessage (const MidiMessage &msg)
void handlePolyphonicKeyPressureMessage (const MidiMessage &msg)
void handleProgramChangeMessage (const MidiMessage &msg)
void handleSysexMessage (const MidiMessage &msg)
void setActive (bool isActive)
Public Member Functions inherited from Object< MidiInput >
 Object ()
Public Member Functions inherited from MidiOutput
 MidiOutput ()
virtual ~MidiOutput ()
Public Member Functions inherited from Object< MidiOutput >
 Object ()

Data Fields

MIDIEndpointRef cmH2Dst
MIDIEndpointRef cmH2Src
ItemCount cmSources
MIDIPortRef h2InputRef
MIDIClientRef h2MIDIClient
MIDIPortRef h2OutputRef
MIDIEndpointRef h2VirtualOut
bool m_bRunning

Private Member Functions

void sendMidiPacket (MIDIPacketList *packetList)

Additional Inherited Members

Static Public Member Functions inherited from Base
static const char * _class_name ()
 return the class name
static QString base_clock (const QString &sMsg)
 Measures the current time and stores it in __last_clock.
static QString base_clock_in (const QString &sMsg)
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation !
static bool count_active ()
static int getAliveObjectCount ()
static object_map_t getObjectMap ()
static Loggerlogger ()
 return the logger instance
static int objects_count ()
static void printObjectMapDiff (object_map_t map)
 Creates the difference between a snapshot of the object map and its current state and prints it to std::cout.
static void set_count (bool flag)
 enable/disable class instances counting
static void write_objects_map_to (std::ostream &out, object_map_t *map=nullptr)
 output the full objects map to a given ostream
static void write_objects_map_to_cerr ()
 output objects map to stderr
Static Public Attributes inherited from Base
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes.
Protected Member Functions inherited from Object< CoreMidiDriver >
 ~Object ()
Protected Member Functions inherited from Base
 ~Base ()
Protected Member Functions inherited from MidiInput
void handleNoteOffMessage (const MidiMessage &msg, bool CymbalChoke)
void handleNoteOnMessage (const MidiMessage &msg)
Protected Member Functions inherited from Object< MidiInput >
 ~Object ()
Protected Member Functions inherited from Object< MidiOutput >
 ~Object ()
Static Protected Member Functions inherited from Base
static void registerClass (const char *name, const atomic_obj_cpt_t *counters)
Protected Attributes inherited from MidiInput
bool m_bActive
Static Protected Attributes inherited from Base
static bool __count = false
 should we count class instances
static timeval __last_clock = { 0, 0 }
static Logger__logger = nullptr
static bool bLogColors = true

Detailed Description

Definition at line 42 of file CoreMidiDriver.h.

Constructor & Destructor Documentation

◆ CoreMidiDriver()

Definition at line 75 of file CoreMidiDriver.cpp.

◆ ~CoreMidiDriver()

Definition at line 104 of file CoreMidiDriver.cpp.

Member Function Documentation

◆ close()

void close ( )
overridevirtual

Implements MidiInput.

Definition at line 163 of file CoreMidiDriver.cpp.

◆ getInputPortList()

std::vector< QString > getInputPortList ( )
overridevirtual

Implements MidiOutput.

Definition at line 174 of file CoreMidiDriver.cpp.

◆ getOutputPortList()

std::vector< QString > getOutputPortList ( )
overridevirtual

Implements MidiInput.

Definition at line 207 of file CoreMidiDriver.cpp.

◆ handleOutgoingControlChange()

void handleOutgoingControlChange ( int param,
int value,
int channel )
overridevirtual

Implements MidiOutput.

Definition at line 331 of file CoreMidiDriver.cpp.

◆ handleQueueAllNoteOff()

void handleQueueAllNoteOff ( )
overridevirtual

Implements MidiOutput.

Definition at line 299 of file CoreMidiDriver.cpp.

◆ handleQueueNote()

void handleQueueNote ( Note * pNote)
overridevirtual

Implements MidiOutput.

Definition at line 239 of file CoreMidiDriver.cpp.

◆ handleQueueNoteOff()

void handleQueueNoteOff ( int channel,
int key,
int velocity )
overridevirtual

Implements MidiOutput.

Definition at line 272 of file CoreMidiDriver.cpp.

◆ open()

void open ( )
overridevirtual

Implements MidiInput.

Definition at line 115 of file CoreMidiDriver.cpp.

◆ sendMidiPacket()

void sendMidiPacket ( MIDIPacketList * packetList)
private

Definition at line 355 of file CoreMidiDriver.cpp.

Field Documentation

◆ cmH2Dst

MIDIEndpointRef cmH2Dst

Definition at line 67 of file CoreMidiDriver.h.

◆ cmH2Src

MIDIEndpointRef cmH2Src

Definition at line 63 of file CoreMidiDriver.h.

◆ cmSources

ItemCount cmSources

Definition at line 62 of file CoreMidiDriver.h.

◆ h2InputRef

MIDIPortRef h2InputRef

Definition at line 65 of file CoreMidiDriver.h.

◆ h2MIDIClient

MIDIClientRef h2MIDIClient

Definition at line 61 of file CoreMidiDriver.h.

◆ h2OutputRef

MIDIPortRef h2OutputRef

Definition at line 66 of file CoreMidiDriver.h.

◆ h2VirtualOut

MIDIEndpointRef h2VirtualOut

Definition at line 69 of file CoreMidiDriver.h.

◆ m_bRunning

bool m_bRunning

Definition at line 49 of file CoreMidiDriver.h.