•  

    Cakewalk Control Surface SDK

    SONAR 2.0 introduced bi-directional support for hardware control surfaces, and other Cakewalk products may support control surfaces in the future. If you are a control surface developer and would like SONAR to support your hardware device, a Software Development Kit (SDK) is available.

    The SDK may be periodically updated (the current SDK is dated February 4, 2005). 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.

    FAQ

    Below you will find answers to several questions you may have.

    1. How does SONAR communicate with control surfaces?
    2. What are the benefits of supporting control surfaces as plug-ins?
    3. Who can develop Control Surface support for SONAR?
    4. How do I get started, and where can I get the SDK?
    5. Where do I find out more?
    6. What do I do if I need more information about Control surface development?

    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.
    • Track bank switching (visual indicator of which tracks are currently being controlled).
    • Remote control of track selection.
    • Remote control of plug-ins (DX8, DXi)
    • Transmit text to control surface LCD display (track, control, plug-in titles and parameter names and values, etc.)
    • Control surface DLL may (optionally) provide a user interface for user-configurable control
    • More

    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.

    The SDK includes sample code and a Wizard, which provides a framework for creating control surface DLLs. 

    How do I get started, and where can I get the SDK?

    You can download the SDK from the Cakewalk web site. The SDK includes all the information you need in order to start writing your own DLLs.

    Where do I find out more?

    If you are a control surface developer and would like SONAR to support your hardware device, an SDK is available. Please e-mail controlsurfaces@cakewalk.com for more information.

    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.

    What do I do if I need more information about Control surface development?

    Although Cakewalk can't provide you with an introduction to COM development the documentation that is included with the SDK lists several suggested reference books.

    If you have any specific questions about SONAR's control surface architecture that are not addressed in the SDK, we will do our best to answer your questions sent to controlsurfaces@cakewalk.com.

    Back to the FAQ