[Top: John S. Allen's Home Page]
[Up: CAL home page]
[Previous: Event types]

[contact John S. Allen by e-mail]

Site logo (2 KB GIF)Bikexprt.com Web Site

CAL programs for downloading

John S. Allen

Please read these instructions! The list of CAL programs is at the bottom of the page.

The CAL programs on this site are in .ZIP archives. Most of the .ZIP archives include several different CAL programs which perform related tasks or run under different Cakewalk versions. The programs are heavily commented -- open them up in CAL view to read the comments. I also include documentation in .TXT files.

To use each .ZIP archive, you need software that supports ZIp archiving -- Windows XP, however, supports it natively. Download a file and place it in a folder of its own, then unzip the files into that folder. Copy files from that folder into the folder where you keep your CAL programs. Some of the programs include files which you must copy into other folders. If so, this is explained in the instructions.

By default, Cakewalk uses the "one big tent" approach, placing many types of files in its main directory. You may create a subdirectory for CAL files, and after you have opened a file in it, Cakewalk will default to it for the rest of the session or until you open a file in another folder.

Also, you may make the CAL dialog box open in your special CAL folder, at least through Cakewalk 6.01. In the Cakewalk Settings | Initialization File dialog box, Type CalFileDir over whatever is presently in the Option field, and type your directory path in the Value field. The new setting will take effect the next time you start Cakewalk. Unfortunately, this feature has been lost with the introduction of the multi-document interface in Cakewalk 7. Cakewalk will save your files in the directory you configure, but will no longer open in a different directory for each type of file.

While you're setting up folders, I also recommend placing the Cakewalk demo files and your own .WRK files in separate subdirectories, to make disk housekeeping easier. Use Settings | Initialization to get Cakewalk to default to a directory of your choice for the .WRK files.

The CAL files on this site are distributed without warranty as to performance. I do warrant that they are original. I welcome your comments and suggestions for improvements.

caltempl.zip -- Microsoft Word '97 and Wordpad templates for CAL file editing.

eventtyp.zip -- The programs in this ZIP file demonstrate the 17 CAL event types; 10 undocumented. There is more information about event types in an article on this site. . Three different versions of the program run under CAL versions 3, 4 and 6. The Cakewalk 6 program demonstrates the nesting limit of CAL.

leach.zip -- David Leach's CAL programs to demonstrate some stunning, undocumented CAL functions, and to test code efficiency.

length.zip -- The Cakewalk Length command lets you change lengths only by percentages, though musical time is organized by fractions. LENGTH.CAL solves this problem, among many others. The ZIP archive includes a version that runs under Cakewalk 3.0 (and maybe 2.0) as well as a fancier version that even stretches audio.

nsrtrpn.zip -- CAL programs to insert RPNs and NRPNs under CAL 2.0 and higher. The programs for CPA 6.x force it to recognize the newly-entered events as RPNs or NRPNs rather than only as groups of controller messages. The documentation and commenting for these programs includes some useful information about quirks in the FileExtract and Paste commands.

scltempo.zip -- Cakewalk has no Scale Tempo command, so this CAL program turns the Fit to Time command upside down to scale tempos. This program also demonstrates use of the VERSION constant to enable version insensitivity, and a workaround for a bug in the EditFitToTime command under CAL versions 4.0 and higher. This program uses the undocumented EditFitToTime40 command under versions 5.0 and higher.

selchnge.zip -- demonstrates a couple of nasty bugs in Cakewalk v. 6.01 CAL which have been corrected in CPA 7.01.

simptrem.zip -- Creates tremolos by converting long notes into repeated shorter notes. Useful in transposing music to instruments without a sustained tone such as steel drums or mandolin. Lets you scale velocity so the tremolo doesn't overpower surrounding notes without tremolo.

splitcombine.zip -- This archive holds two CAL programs which extend the ability to work with clips.

*SPLITNOW.CAL, addressed through a key binding, lets you reliably split clips at the Now line with a single keystroke, and still move the Now line if you want to without having to change a default menu setting.

*Combine_Into_New_Clips.CAL combines any selected events from any clips into a single new clip. (The Cakewalk Combine command only combines whole clips.)

unlap.zip -- When two notes on the same key and channel overlap, the first note off message ends them both. UNLAP.CAL looks for overlapping notes and shortens the first note so the second one will sound for its full length. This program works conservatively and will usually have no audible effect on your music except to restore the notes that ended too early. Also included: OVRLAP.CAL, especially designed to correct stuttering of the MIDI Echo effect in Cakewalk 8.

[Top: John S. Allen's Home Page]
[Up: CAL home page]
[Previous: Event types]

[contact John S. Allen by e-mail]

Contents 1998, 1999 John S. Allen

Last revised 26 December 1999