Steinberg MIDI Effect APIThis section describes the Steinberg MIDI Effect API, introduced with Cubase SX. A MIDI effect can be used as an insert effect or a send effect on a MIDI track, to transform and generate MIDI data in realtime. Typical MIDI effects are Arpeggiator, Echo, etc.
The Steinberg MIDI Effect API is completely based on the VST Module Architecture,
described earlier.
All special interfaces used for MIDI effects can be found in imidieffect.h.
Plug-In side:
The SDK provides a class CMidiEffect which already implements all required interfaces. You should derive your MIDI effect from this helper class. Host side:
The MIDI effects work directly on the MIDI data structure of the host application. From the effects's
point of view, MIDI events are of type IMEObjectID, which in C++ simply is a void pointer.
To create or manipulate an event, you have to pass this "event handle" to the acccess methods of
IMEAccessor. All timestamps are expressed in PPQ (ticks per quarter note), which ensures that events created by a MIDI effect are always "in time". The timebase is currently 480 PPQ, it can be obtained via IMasterTrackInfo::getPpqBase. To convert timestamps e.g. from PPQ to seconds, you can use IMasterTrackInfo::ppq2seconds.
Copyright ©2004 Steinberg Media Technologies GmbH.
All Rights Reserved.
Last Modified:
|