Pro Audio 8 introduced an architecture for third-party MIDI effects processing, called MFX. Most Cakewalk products released since then support MFX. MIDI effects can be used non-destructively in real-time, or destructively as offline commands.
The MFX SDK has recently been updated and packaged into the DXi2 developers kit, which includes information on DXi2 development, automatable DirectX effects and MFX plug-ins. The new development kit is rich in sample code and documentation, and installs both a DXi2 wizard and a MFX wizard.
Below you will find answers to several MFX-specific questions you may have:
What are MIDI effects?
The MFX architecture supports third-party, "plug-in" MIDI effects. As with DirectX audio effects, MIDI effects can be used non-destructively in real-time as track inserts, or destructively as offline commands. Pro Audio 8 includes the following MIDI effects:
- Chord Analyzer
- MIDI Event Filter
- Velocity Change
What are the benefits of MIDI effects?
The MFX architecture allows you to create practically any MIDI effect you can imagine. Used in real-time, MIDI effects allow you to experiment to you hearts content without permanently modifying the original MIDI data.
Who can develop MFX?
MFX are COM objects implemented as in-process servers (in Win32 DLLs). If you can program in C++, and are familiar with creating COM objects, then all you need is the SDK in order to get started. The SDK is free to anyone who completes the form below.
How do I get started?
The MFX SDK includes all the information you need in order to start writing your own MFX. The SDK sample code is compatible with Microsoftï¿½ Visual C++ï¿½ 6.0. An MFX Wizard will generate MFC C++ compatible code. It is designed to automate much of the busy-work associated with creating new MIDI effects, and thus to significantly decrease production time.What do I do if I need more information about MFX?
The documentation that is included with the SDK lists several suggested reference books. In addition, you can use the MIDI FX forum to talk with other developers.