![]() |
AAX SDK
2.1.1
Avid Audio Extensions Development Kit
|
How to route and process MIDI in AAX plug-ins.
DirectMidi is Avid's protocol for communication of MIDI and other timing-critical plug-in information. It is a cross-platform solution to tightly integrate the host application, audio engine, and plug-ins.
There are four kinds of nodes an AAX plug-in can create. See AAX_EMIDINodeType for additional details about these node types:
Whether a plug-in will use MIDI in its algorithm or its data model, MIDI data is accessed via ports in the algorithm's context structure. To add a MIDI node to the algorithm context, call AAX_IComponentDescriptor::AddMIDINode() with the appropriate node type.
Like with other algorithm context ports, data in MIDI nodes is directly available in the plug-in's algorithm process function. Here is an example from the DemoMIDI_NoteOn sample plug-in:
A plug-in may access MIDI data in its data model via the UpdateMIDINodes method. This method provides an AAX_CMidiPacket. Because the MIDI packet structure does not identify the associated MIDI stream's type (input, output, global, or transport) this method also provides an index into the plug-in's algorithm context structure which can be used to identify the semantics of the MIDI packet.
|
1.8.5