Cakewalk Application Language Programming Guide

Introduction
Down loads

Introduction

The Cakewalk Application Language is not very well documented. Documentation is very dependent on the Cakewalk version. E.g. in the SONAR help files you will not even find any information about the language, but only how to run a CAL program.

Glen Gardenas has created a very good WEB-site - the Cakewalk Application Language tutorial - with a lot of information about CAL. The information was based on the experience he had build up with several levels of CAL.

Unfortunately, his WEB-site is not up to date anymore. However, Glen gave me his permission to use his material for my programming guide. I restructured the tutorial, updated it for SONAR, and added specifics based on my experience with the language. Who knows Glen's WEB-site will still recognize a lot of his text. Overtime, more updates will follow, and I expect that at the end, it will be a new up to date guide about this nice feature of Cakewalk.

Let us all hope that Twelve Tone Systems will keep this baby alive.

Together with the guide I have created a couple of simple examples to show how programming must be done within CAL.

I have made my library of CAL include programs available. I will expand this library over time.

In addition, a lot of CAL programming techniques can be found in the CAL programs, which are part of the MIDI-Kit.

For starters with CAL, I recommend the short CAL course.

CAL programs can be used within SONAR Studio, SONAR Producer, and SONAR Home Studio. To be able to use CAL programs within SONAR Home Studio you must hit CTRL+F1. You will get a window for selecting a CAL program.

Down loads

The document: Cakewalk Application Language Programming Guide (2 MB) (last update: Version 2.1, July 27, 2006);

The examples zip file: CAL program samples (2 kB) (last update May 31, 2005). These examples are used in the CAL programming guide;

The library zip file: MIDI-Kit library (13 kB) (last update: November 20, 2006). The library routines are explained in the CAL programming guide.

Library contents
+2-2 meter Version 1.0 February 2005
Creates changes in the velocity of marked notes according to the position in a measure with 2/2 meter.
+3-4 meter Version 1.0 November 2004
Creates changes in the velocity of marked notes according to the position in a measure with 3/4 meter.
+4-4 meter Version 1.0 November 2004
Creates changes in the velocity of marked notes according to the position in a measure with 4/4 meter.
+6-8 meter Version 1.0 August 2005
Creates changes in the velocity of marked notes according to the position in a measure with 6/8 meter.
+9-8 meter Version 1.0 October 2004
Creates changes in the velocity of marked notes according to the position in a measure with 9/8 meter.
+Constant Version 1.0 October 2004
Provides project constants which are not standard included within CAL. Not for new development. See '+Meter'.
+Controller Version 1.3 February 2006
Inserts or replaces MIDI controllers at the marked area.
+Events marked Version 1.0 October 2004
Counts number of specified type of events within marked area.
+Meter Version 1.2 November 2006
Provides meter information which is not standard included within CAL.
+Meter declarations Version 1.0 October 2004
Declares the public variables for the program '+Meter'.
+need version Version 1.1 August 2005
Test whether the version number is equal or higher than the indicated version number.


Top of this page