SONAR 2.0 introduced bi-directional support for hardware control surfaces. Since then, all versions of SONAR and derivitave products have had even more advanced Control Surface Support including Active Controller Technology (ACT). Project5 Version 2.5 also has comprehensive support for Control Surfaces.
What you get
The most essential thing you get with the SDK is the IDL (Interface Definition Language) file. This file defines all of the Host-side and Surface-side interfaces that are available and has extensive documentation regarding the methods within those interfaces. You also get a set of framework classes which you may or may not choose to use in your surface design. Lastly, there is some sort of sample project included that will build a working surface plug-in.
The original SDK is available HERE. This contains the framework that all the original Surfaces were built with. It also contains a VC6 wizard for generating a new project in VC6. Users of the more modern .net environments would then have to convert these projects to build.
Since the release of the original SDK, many developers have chosen not to use the Framework classes included with the original SDK. There was a steep learning curve and a good deal of complexity involved in using them. After the release of SONAR 7.0.1, a new framework was developed which combined parts of the original framework with components that have been developed in more recent surfaces. The result is a newer SDK which can be found HERE. Developers may find the newer framework significantly easier to use - especially with the included sample project.
Unlike the original SDK, there is no app wizard that builds a DLL. Instead, there is a working .NET2005 project that implements basic bi-directional mixing and transport functionality of the Mackie Control hardware.
The SDK may be periodically updated (the current SDK is dated January 2, 2008). As additional information is made available regarding the Control Surface SDK, it will be posted on this page of the Cakewalk web site. Please do not contact Cakewalk Technical Support or Customer Service for information regarding this SDK or developing support for control surfaces.
This SDK is provided as-is with no warranties of any kind, and Cakewalk is under no obligation to provide any technical assistance, but we will do our best to assist you with any issues that may not be addressed in the SDK.
Below you will find answers to several questions you may have.
- How does SONAR communicate with control surfaces?
- What are the benefits of supporting control surfaces as plug-ins?
- Who can develop Control Surface support for SONAR?
How does SONAR communicate with control surfaces?
SONAR 2 takes a plug-in approach to supporting hardware control surfaces. Cakewalk has defined a set of COM interfaces, supplied by SONAR, to communicate all the relevant project state information, and to allow transport control, etc. Plug-in parameters are also exposed. SONAR also supplies methods to allow MIDI transmission out to a MIDI hardware port.
Some examples of what is supported by SONAR's Control surface architecture:
- Bi-directional, real-time communication between SONAR and the control surface. Control all mixing parameters of SONAR's audio and MIDI engine, including automatable effect parameters.
- Support for all current control types: motorized, non-motorized and touch-sensitive faders, infinite encoders, multi-state, multi-function buttons, text displays, various indicator lights, transport controls (MMC), Jog/Shuttle wheel, etc.
- SONAR menu commands accessible from control surface
- Ability to synthesize keyboard keystrokes (navigate views, property pages, plug-ins, etc. from control surface
- Scrub via Jog/Shuttle wheel.
- Remote control of track selection.
- Remote control of plug-ins and synth parameters
- Active Controller Technology (ACT )
- WAI (Where Am I?)
What are the benefits of supporting control surfaces as plug-ins?
By supporting control surfaces via plug-ins, any 3rd party vendor can develop, and update, support for their products independently of Cakewalk's release schedule.
Who can develop Control Surface support for SONAR?
Any control surface vendor can write a control surfaces DLL using our Control Surface SDK. Control surfaces integrate with SONAR by means of a COM object. The Control Surface SDK utilizes MFC and ATL to create these COM objects. Given these COM interfaces, the control surface module becomes a separate DLL. A knowledgeable technical person can write these DLLs using our control surface SDK. 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!
- SurfaceSDK 2.0 Contains the IDL, Framework2 classes, and a sample project.
- SurfaceSDK (original) Contains the IDL, original Framework classes, VC6 App Wizard, and a sample project.