Copyright: Copyright (c) 1991-1997 by Greg Hendershott.


Contents

Welcome to
Cakewalk Pro Audio 6.0

While using Cakewalk Pro Audio, you may get context-sensitive help -- help about what you're currently working on -- at any time.  Press the F1 function key, or, press the Help button of any dialog box.  This help system will pop up and take you directly to the relevant topic.

You may point and click on any of the following items for help:

• What's New in Cakewalk Pro Audio 6.0

• Answers to Common Questions

• Keyboard Shortcuts

• Glossary

Menus

File   Edit   View   Insert   Realtime  GoTo   Track   Tools  Settings   Window

http://www.cakewalk.com


New Features in this Version
What's New in Cakewalk Pro Audio 6.0?

Here are just some of the new features and changes in Cakewalk Pro Audio 6.0:

• Process audio events using Cakewalk  Audio Effects..

• Control any MIDI device or Cakewalk command using StudioWare.

• Create Linked Clips These are groups of clip "siblings" that share all the same properties.

• Create Percussion Notation in Staff view, using a five-line percussion staff or a percussion line.

• Create and use Presets for numerous editing commands.

Please refer to README.RTF for additional information.


Keyboard shortcuts

This is a list of shortcut keys available from every Cakewalk view.  For shortcuts specific to each view, see the online help for that view.  Some icon buttons have keyboard shortcuts: Rest the the mouse cursor over the button until a tooltip pops up and describes the shortcut key.

Function Keys
F1	Help (context-sensitive)
ALT+F1	Undo
F2	Copy
CTRL+F2	Cut
SHIFT+F2	Paste
F3	Search Next
SHIFT+F3	Step record
CTRL+F4	Close child window
ALT+F4	Exit
F5	(GoTo) Time
 (	The F6 keys work only with View|Options|DOS F6 Keys on:)
F6	Switch to Track pane of Track/Measure view
SHIFT+F6	Switch to Measure pane of Track/Measure view
CTRL+F6	Open or switch to Event List view
ALT+F6	Open or switch to Piano Roll view
F7	(GoTo) From
F8	(GoTo) Thru
F9	From=Now
CTRL+F9	From=Start
F10	Thru=Now
CTRL+F10	Thru=End

Other Keys
CTRL+O	Open
CTRL+S	Save
CTRL+Z	Undo
CTRL+A	Redo
CTRL+C	Copy (Also copies text in notepads/dialogs)
CTRL+X	Cut (Also cuts text in notepads/dialogs)
CTRL+V	Paste (Also pastes text in notepads/dialogs)
CTRL+TAB	Next child window.
SHIFT+CTRL+TAB	Previous child window
CTRL+NumPad5	Select All
NumPad5	Select None
SHIFT+NumPad5	Select By Filter


README.WRI
README.DOC

This file contains important information about changes since the printed documentation went to press.  You should read this file.

Cakewalk SETUP installs an icon for README.WRI that you can double-click on.

Or, choose the View README.DOC command from the Help menu.


Save changes
Save changes?

You are quitting Cakewalk or loading a new file, but your changes to the current file have not been saved.

•  To save your changes before quitting or loading a new file, press Yes.

•  To simply quit or load another file, press No.  Your changes will be lost.

•  To back out of quitting or loading a new file, press Cancel.


Undo -- cannot do later
Cannot Undo later

The action you are about to take cannot be reversed later using the Undo command.

•  If you are unsure about proceeding and you haven't saved your work, press Cancel.  Use  Save to save your workfile now, then take this action again.

•  To proceed anyway, press OK.


WINCAKE.INI

This file is located in the directory where you installed Cakewalk Pro Audio (if you accepted the directory which Cakewalk SETUP proposed, this is C:\CAKEAUD).  It contains information that Cakewalk needs to store between sessions, for example, your preferences.  Many items are stored here from choices you make in Cakewalk's menus and dialog boxes.  But some items can be changed only by directly editing this file using the Windows Notepad application, or, for items in the [WINCAKE] section, by using Initialization Files.

If you make changes to this file, they will not take effect until the next time you start Cakewalk.  Also, when you quit Cakewalk it writes some information about your preferences to this file.  So if you need to directly edit WINCAKE.INI, it is best to quit Cakewalk, make your changes, then restart Cakewalk.

WINCAKE.INI is divided into sections.  The section beginning with the line

[WINCAKE]

is where you should add information if no particular section is mentioned.  For example, if you are advised to, "add the line AskSysxAutoSend=1 to WINCAKE.INI", you should put it on the line under [WINCAKE], like this:

[WINCAKE]

AskSysxAutoSend=1


notepad

When you're using a view that has a standard Windows notepad, remember that you can cut, copy, and paste text between Cakewalk and other programs by using the standard shortcut keys:

CTRL+C	Copy
CTRL+X	Cut
CTRL+V	Paste

These keys work even with small, single-line text boxes in any Windows program.


File menu

The File menu contains mostly commands for relating to files, plus a few others.

New	Wipe out the whole work and start fresh.

Open	Load a work from a disk file

Save	Save a work to a disk file

Save As	Save a work to a disk file under a new name

Merge	Load a work's events into the Scrap buffer

Extract	Save the Scrap buffer into a work file

Info	View comments and other information.

Compact Audio Data	Minimize the amount of disk storage taken up by this song's audio.

Clean Audio Disk	Scan for unused audio files, optionally deleting them.

Export Audio to Wave	Create a stereo RIFF .WAV file from the selected audio events.

Print Preview	Print the current view to the screen

Print	Print the current view

Print Setup	Change the current printer and/or printer settings

Send	Mail the current file.

Exit	Exit the program


New
New (File menu)

Use this command to start a new work.  If your current work has changed since you saved it, you will be given a chance to save it first.  Next, pick from a list of file templates to create a new work.

See Also:

File Menu

"New" in the User's Guide for help with templates.


Open
Open (File menu)

Use this command to load Cakewalk workfiles or Standard MIDI Files.

Loading a file replaces the file currently in memory.  If you have made changes since it was last saved, you will be given a chance to save it before loading the new work.

Shortcut
Key:	CTRL+O

System Exclusive auto send banks.

If you load a Cakewalk workfile containing System Exclusive auto send banks, you will be asked whether you want to send them.  Answer "No" if you are loading a file from someone else that may contain unknown System Exclusive data.  Doing so will prevent your synthesizer configuration from being changed.

If you want Cakewalk always to send the banks and never to ask you, add the following line to your Cakewalk initialization file:

AskSysxAutoSend=0

Dropping files from the File Manager

You can also load files by dragging them from the Windows 3.1 File Manager and dropping them anywhere on Cakewalk's window.  If Cakewalk is playing when you drop the file, playback will stop, the new file will be loaded, and playback will be turned back on again.

See Also:

File Menu


Save
Save (File menu)

Use this command to save a changed file under its existing name.

If you created a brand-new work using the New command, it has no name.  In that case, the Save As. dialog appears.

Shortcut
Key:	CTRL+S

See Also:

File Menu


Save As
Save As (File menu)

Use this command to save your work as a Cakewalk workfile or as a Standard MIDI File.  By default, a new song file is saved as a Cakewalk ".WRK" workfile (Normal).

If you do not supply an extension for the file name, the ".WRK" or ".MID" file extension will be automatically appended to your name, depending on the type of file you've selected.

Note: The Standard MIDI File format is in industry standard for moving files between different MIDI programs.   MIDI Files cannot represent all of the information that Cakewalk can store in its own, native files.  Therefore, generally you will want to save your work as Cakewalk files.  Use Save As to create an additional MIDI File on occasions when you need to export your work to another program that reads MIDI Files.

MIDI File Options

These options are stored inside a Cakewalk file (.WRK).  They control how the file is saved when you also save it as a MIDI File (.MID).  Ordinarily you will want to save a MIDI File as Format 1, and not check the Mark for Microsoft Media Player option.  However, please see the "MIDI Files" appendix in the User's Guide for more information about MIDI Files.

Cakewalk 3.0 .WRK File

When you save a song in Cakewalk 3.0 format, multiple clips on the same track are merged into one long clip on that track.  The older file format organizes data only by track, and does not provide the finer granularity that clips offer.

Cakewalk Bundle File

Bundle files (.BUN) are a way to create a single file, containing a .WRK file and all of the audio data used by it, that you may easily back up to tape or transport to another computer.

See Also:

File Menu


Merge
Merge (File menu)

Use this command to load a file into the clipboard.  Next, use Paste to place the material where you want.

See Also:

File Menu


Extract
Extract (File menu)

Use this command to save the clipboard to a file.   Use this after you have used the Copy or Cut command.

See Also:

File Menu


Info
Info (File menu)

Use this command to set and view special text to describe your work.

Title:  The title for your work.  This text appears at the top of the page when printing the Staff and Event List.

Subtitle:  Also referred to as the "dedication".  This text appears in the Staff view print-out centered below the Title on the first page.

Instructions:  These are performance instructions.  This text appears in the Staff view print-out left-aligned near the top of the first page.

Author:  If you created the work, you probably want to put your name here.  If this field is blank in a file, Cakewalk will use whatever name you provided SETUP.  This text appears in the Staff view print-out, right-aligned near the top of the first page.

Copyright:  A copyright notice.  A default Copyright is proposed based on the name you provided SETUP (like the Author field) and using the current year (e.g. 1997): "Copyright 1997 by <username>").  This text appears in the Staff view print-out below the Author.

Key Words:  Supply any phrases you wish to describe the work or its style.  For example, "RAGTIME JOPLIN".  This will assist searching for files based on the Key Words, using a future feature of Cakewalk or other programs.  This text does not appear when you print, except for printing this file information using the Info dialog Print button.

Comments:  Free-form comments you can write using a notepad.  This text does not appear when you print, except for printing this file information using the Info dialog Print button.

Displaying the Info dialog automatically:  If  the Info dialog is open when you save the file, the dialog  will be open the next time you load the file.

Stats

This button provides some additional information, which is calculated each time you save the file.  A file that has not yet been saved (or not saved with Cakewalk 2.0) won't have this information.  If you use Save As to create a new file -- even if you're writing over an existing file -- this information will be reset.

Editing time:  The total time that you've had the file open in Cakewalk -- from the time it was created to the last time it was saved.  This does not include time spent editing the file since you last saved it; if you want to update this value, save the file.

Revision:  Each time you save a file that's been changed, Cakewalk increases this number.  If you load a file, do not change it, and save it, Cakewalk does not increase the revision number.  You can tell whether a file has changed by looking for an asterisk "*" after its name in the Cakewalk window caption.

Creation time and date.

See Also:

File Menu


Print Preview
Print Preview (File menu)

Use this command to preview printing of the Staff, Event List, and Lyrics views.  Activate the window, then choose this command.

See Also:

File Menu


Print
Print (File menu)

Use this command to print the Staff, Event List, and Lyrics views.  Activate the window, then choose this command.

See Also:

File Menu


Print Setup
Print Setup (File menu)

Use this command to choose which printer you want to use and to configure it.

See Also:

File Menu


Send
Send (File menu)

Use this command to mail the current file.

If your work has changed since you last saved it, you will be asked to save it before Send can proceed.

When there is no current file to mail, this command is disabled.

Note: If your system does not have a MAPI-compliant e-mail system installed, the Send command is not included on the File menu at all.

See Also:

File Menu


Exit
Exit (File menu)

Use this command to exit Cakewalk.  If your work has changed since you last saved it, you will be asked if you want to save it before Cakewalk exits.

See Also:

File Menu


Edit menu

Undo	Undo the most recent edit or action.

Redo	Redo the most recent edit or action.

History	Navigate the Undo, Redo history.

Select menu	Commands for selecting.

Cut	Move events to the Clipboard.

Copy	Copy events to the Clipboard.

Paste	Move events from the Clipboard to the song.

Delete	Delete the selected events.

Create Clips	Create new clips from the selected events.

Audio menu	Commands to modify Audio events.

Quantize	Round off the starting times of events.

Groove Quantize	Apply the "groove" or "feel" of one track to other tracks.

Interpolate	Scale values; "search-and-replace".

Length	Change temporal length of region.

Slide	Slide a region ahead or back in time.

Retrograde	Reverse the order of events in region.

Transpose	Transpose pitches of Note and/or KeyAft events.

Scale Velocities	Change note velocities over time to a set value or percentage.

Fit to Time	Adjust tempos to make region last specified amount of time.

Fit Improvisation	Insert tempos to fit free-form playing to time grid.

Run CAL…	Run a CAL (Cakewalk Application Language) program.


Edit | Select menu

Select All	Select all events.

Select None	Select nothing.

Select by Filter	Narrow an existing selection, based on criteria you supply in an "Event Filter".

Select by Time	Select all event between two times.

From = Now	Set the From marker to the current time.

Thru = Now	Set the Thru marker to the current time.

From = Start	Set the From marker to the start of the song (1:1:0).

Thru = End	Set the Thru marker to the end of the song.

See Also:

Edit Menu


Select All
Edit | Select | All

Use this command to select everything.

Shortcut
Key:	CTRL+NumPad5

See Also:

Edit | Select | By Time


Select None
Edit | Select | None

Use this command to select nothing.

Shortcut
Key:	NumPad5

See Also:

Edit | Select | By Time


Select By Filter
Edit | Select | By Filter

Use this command to narrow an existing selection, based on criteria you supply in an "Event Filter".

Shortcut
Key:	SHIFT+NumPad5

Once you select some events, you may choose Edit | Select | By Filter.  Specify the criteria you want, and press OK.  Of the events you had originally selected, only those meeting your criteria will remain selected.

The way this works is almost as if Select By Filter went around and CTRL+clicked each event that didn't meet your rule, to un-select it.  Once the command is done, you are free to revise the selection, manually.  If you wish to add or remove a few items (if your rule was close but not exactly what you need), you may CTRL+click each one to do so.

If no events met your criteria and could remain selected, Cakewalk tells you.

Tip: You can choose Edit | Select | All first.  This selects all events.  Next you can use Edit | Select | By Filter to reduce this.

See Also:

Edit | Select | By Time


Select By Time
Edit | Select | By Time

Use this command to select all items between the two times.

See Also:

Edit | Select | By Filter


Mark start of selection
From = Now (Edit | Select menu)

Use this command to set the start of the selection.

Shortcut
Key:	F9

See Also:

Edit | Select | By Time


Mark end of selection
Thru = Now (Edit | Select menu)

Use this command to set the end of the selection.

Shortcut
Key:	F10

See Also:

Edit | Select | By Time


From = Start
From = Start (Edit | Select menu)

Use this command to set or extend the selection to the start of the work (1:1:0).

Shortcut
Key:	CTRL+F9

See Also:

Edit | Select | By Time


Thru = End
Thru = End (Edit | Select menu)

Use this command to set or extend the selection to the start end of the work.

Shortcut
Key:	CTRL+F10

See Also:

Edit | Select | By Time


Undo
Undo (Edit menu)

Use this command to reverse the most recent command or operation.

You may choose Undo multiple times in a row to undo a series of actions.

See Also:

Redo

Undo Redo History

Edit Menu


Redo
Redo (Edit menu)

Use this command to redo the most-recently undone action.

You may choose Redo multiple times in a row to redo a series of actions.

See Also:

Undo

Undo Redo History

Edit Menu


History
History (Edit menu)

Use this command to view and navigate the Undo Redo history.

Cakewalk offers multiple levels of Undo capability.  Not only can you undo your most recent command or action, you can wind back even further.  If you find you've backed up too far, you can "redo" actions.  However, once you choose a new command or action, you lose the ability to redo.  The history, in other words, can have only one "future".

The History dialog shows you the series of steps you have taken.  You may pick a point in the history list and press OK.  Cakewalk will perform the necessary number of Undo or Redo actions to get you to that point.

Memory Requirements

Depending on the commands or actions, maintaining the ability to undo multiple times may require a great deal of memory.  The Clear button lets you release this memory if you're sure you won't need to Undo.  In addition, if Windows notifies Cakewalk that it is low on memory, Cakewalk will ask you if you would like to release the Undo history.

Choosing Open or New to begin working with a brand-new file clears the Undo history.

The number of levels of Undo available is subject to available memory and the types of actions you take (which can vary from deleting a single event to quantizing hundreds of thousands of events).  To avoid consuming too much memory, Cakewalk places a limit on the number of levels you can Undo.  Once that limit is reached, each new action pushes out the oldest item in the Undo history.

By default, no more than the 32 most-recent commands or actions may be undone.  However, you may raise or lower this number.  See the User's Guide for more information.

See Also:

Undo

Redo

Edit Menu


Cakewalk Windows Clipboard Formats

The Cut, Copy, and Paste commands work with music data on the Windows Clipboard in several formats.

Standard MIDI Files

One format is MIDI File format: the data on the Clipboard is a memory image of a Standard MIDI File.  Any other application capable of understanding MIDI Files and recognizing this Clipboard format can exchange data with Cakewalk.  You can copy and paste data to and from Cakewalk and the other application.  This is faster than creating an actual Standard MIDI File on disk, and there is no temporary file for you to delete later if it was a temporary transfer.

Note to programmers: Cakewalk calls RegisterClipboardFormat() with the string "Standard MIDI File".  The handle that you put on or get from the Clipboard is a block of memory from GlobalAlloc() that contains nothing more or less than the exact image of a Format 0 or 1 Standard MIDI File.  Please help our mutual customers by supporting this simple protocol for data exchange under Microsoft Windows.

Private format

A private format is recognized by Twelve Tone Systems applications.  For example, if you are running two copies of Cakewalk for Windows at once, and copy-and-paste music data between them, the recipient will use the private format simply because it is faster.


Cut
Cut (Edit menu)

This command lets you cut out a region of the song. The cut material is put on the Clipboard. Later, you can paste the material somewhere else, or just forget about it if all you wanted to do was delete it (it is overwritten the next time something else is put on the Clipboard). However, when you do want only to delete material without also placing it on the Clipboard for later reuse, you should use the Delete command.

Events in Tracks
Tempo Changes
Meter/Key Changes
Markers

These items allow you to specify exactly which kinds of data should be cut..  If any of these items are grayed-out (disabled), it means the selection does not contain any of that kind of data.

Split Audio Events

If this item is selected, only the audio data that lies between From and Thru will be cut.  If this item is not selected, audio events will be cut in their entirety, but only if their start time is between From and Thru.

Delete Hole

Selecting this item will cause any selected material that follows the cut range to be shifted backwards in time, filling the hole created by the Cut command.

Align To Measures

This item is enabled only when Delete Hole has been chosen.  Selecting this item causes the start and end times of hole created by the Cut command to be rounded to the closest measure boundary.

Shortcut
Key:	CTRL+X

See Also:

Copy

Paste

Edit Menu

Cakewalk Windows Clipboard formats


Copy
Copy (Edit menu)

This command works much like the Cut command, except that the current selection is not deleted; rather, a copy of it is placed on the Clipboard.

Like the Cut command, Copy overwrites the current contents of the Clipboard and replaces it with the new material you are copying.

Events in Tracks
Tempo Changes
Meter/Key Changes
Markers

These items allow you to specify exactly which kinds of data should be copied..  If any of these items are grayed-out (disabled), it means the selection does not contain any of that kind of data.

Split Audio Events

If this item is selected, only the audio data that lies between From and Thru will be copied.  If this item is not selected, audio events will be copied in their entirety, but only if their start time is between From and Thru.

Copy Entire Clips as Linked Clips

Checking this option lets you copy the selected clips as Linked Clips, which share the same events and properties . All copies that you paste  will be linked to the original clip and to each other.

Shortcut
Key:	CTRL+C

See Also:

Cut

Paste

Edit Menu

Linked Clips

Cakewalk Windows Clipboard formats


Paste
Paste (Edit menu)

This command opens the Paste dialog box, in which you specify how the events are to be pasted.  By default, only basic Paste options are presented in the dialog box.  For access to advanced Paste options, click on the Advanced button.

In all views except the Track view , the default values in the Paste dialog box paste events back to the tracks they were originally cut or copied from, starting at a time equal to the Now time. In other words, if you cut events from tracks 1, 5, and 7, and then issued the Paste command, initially the Time item in the dialog box contains the Now time, and the Track item contains 1. Thus, events cut from track 1 are pasted back to track 1, events cut from track 5 are pasted back to track 5, and events cut from track 7 are pasted back to track 7. This lets you cut out measures from many tracks at once and move them some place else in the same tracks.

In the Track view, the current track is used as the default value for the Track item.  In terms of the example just given, if the current Track in the Track view is 2, then the material originally from tracks 1, 5, and 7 would be pasted to tracks 2, 6, and 8.  This lets you cut measures from many tracks at once and quickly move them to new tracks.

However, you can use the Starting at options to paste the events to different tracks and at a different starting time.

The contents of the Clipboard are not erased by pasting, so you can paste the same material somewhere else again.

Starting at Time

This item lets you specify the insertion point  the starting time for the events you are pasting. By default, the value of the Now marker is here. This default makes it easy to move to the point where you want to start pasting before you call up the command.

Tip: Press F5 to pick a marker as the starting time.

Repetitions

This item lets you repeat the material any number of times. The default value is 1 (that is, no extra occurrences of the pasted material).

Starting at Track

Use the Track item to specify the first destination track for the pasted events. In terms of the example given above, if you changed the Track to 2, then the material originally from tracks 1, 5, and 7 would be pasted to tracks 2, 6, and 8.

Paste to One Track

By default, the track structure of the material on the Clipboard is maintained when you paste it. The Paste to One Track option lets you override this default, so that the pasted events will all occupy the same track. You can use this option to merge events from several clips into one clip (possibly a new one).

Clicking on the Advanced button provides access the following advanced Paste options.  Clicking on this button while the Paste dialog box is in its advanced mode will collapse the dialog box back to its basic state.

Align to Measures

This item causes each paste interval to be aligned to an exact measure boundary.  This item also ensures that if you're sliding existing material over to make room (see below), the material is slid an exact number of measures.

Aligning to measures is useful is your pasted material contains pick-up notes or sustained ending notes, yet is still conceptually a fixed number of measures in length.

Interval

This item lets you specify the duration after which repetitions should occur.

Link Repetitions

Checking this pastes repetitions as Linked Clips. This option is only available if the Repetitions value is greater than 1.

Blend Old and New

This item causes the Paste command to merge what you're pasting with what's already in the track.

Replace Old with New

This item causes the Paste command to first delete what's in the range being pasted to, and then to paste the new material.

Slide Over Old to Make Room

This item causes the Paste command to first shift over existing material to make room, and then to paste the new material.

Split Audio Events

This item is enabled only if either the Replace or Slide options are chosen.  If this item is selected with the Replace option, only the audio data which lies within the paste time range is replaced.  If this item is selected with the Slide option, audio events will be split at the start and end of the paste time range before making room.

Events/Clips
Tempo Changes
Meter/Key Changes
Markers

These items allow you to specify exactly which kinds of data should be pasted..  If any of these items are grayed-out (disabled), it means the clipboard does not contain any of that kind of data.

Paste as New Clips

When this radio button is selected (the default), pasted material is placed in new clips. If you originally copied entire clips, then the same number of new clips are created, provided you have not checked Paste to One Track. If you have checked Paste to One Track, the pasted events are contained in a single new clip.

Paste as Events in Existing Clips

When this radio button is selected, pasted events are placed in existing clips, extending their length as necessary. If there is no existing clip in a track to which some events are pasted, then a new clip is created in that track.

Shortcut
Key:	CTRL+V

See Also:

Edit Menu

Cakewalk Windows Clipboard formats

Linked Clips


Delete
Delete (Edit menu)

Use this command to delete the items you have selected.

Events in Tracks
Tempo Changes
Meter/Key Changes
Markers

These items allow you to specify exactly which kinds of data should be deleted..  If any of these items are grayed-out (disabled), it means the selection does not contain any of that kind of data.

Split Audio Events

If this item is selected, only the audio data that lies between From and Thru will be deleted.  If this item is not selected, audio events will be deleted in their entirety, but only if their start time is between From and Thru.

Delete Hole

Selecting this item will cause any selected material which follows the delete range to be shifted backwards in time, filling the hole created by the Delete command.

Align To Measures

This item is enabled only when Delete Hole has been chosen.  Selecting this item causes the start and end times of hole created by the Delete command to be rounded to the closest measure boundary.

Shortcut
Key:	Delete

See Also:

Edit Menu


Create Clips
Create Clips (Edit menu)

Use this command to create a new clip for each track, containing whatever events are currently selected in that track.

See Also:

Edit Menu


Quantize
Quantize (Edit menu)

Use this command to round off the starting times and/or durations of note events.

Durations are given a value of the resolution amount minus one.  That way, notes do not run into each other, legato-style, causing problems on some synthesizers. Durations smaller than the resolution amount will be rounded up to the resolution minus one -- not down to zero.

Quantize normally affects only note, audio and lyric events in the selection.  This behavior may be changed by clearing the checkbox labeled Only Notes, Lyrics, and Audio.

Resolution

Quantize lays a grid over your music, then moves your notes to line up on the grid.   The grid spacing is determined by the Resolution option.  For example, a Resolution of an eighth note will use a grid with a point every eighth note.

A rule of thumb is a Resolution matching the smallest note in the region you're quantizing.  If the notes are all sixteenth notes, choose that for the Resolution.  If the notes are a mix of sixteenth and eighth notes, you would still choose sixteenth notes.

Strength

You may control how far Quantize should move notes toward the grid lines.  A Strength of 100% will move the notes fully to the line.  If the Strength is only 50%, the notes will be moved only halfway.

Use a Strength of 100% to make your timing "perfect", but mechanical-sounding.  Use lesser strengths to "tighten" the timing without making it sound as mechanical.

Swing

The timing grid can be "distorted" such that every pair of grid points is spaced unevenly.  If the Swing option is 50% (the default), then every pair is the same size.  If the Swing option is 66%, then the first of each pair is twice as big as the second.   A Swing amount greater than 50% will give you a musical "swing" feel.  When eighth notes are played with a swing feel, the first of each pair lasts longer than the first.

Window

There may be situations where notes that are very far from the grid should not be moved at all.   The Window option lets you say how close to the resolution grid point a note must be for quantize to move it.  A Window of 100% includes all notes.  A Window of 50% includes all notes that are halfway on either side of the grid point.

Offset

Normally the resolution grid is aligned with the start of measures and beats.  You may shift the grid by a number of ticks earlier or later.  If the Resolution is a quarter-note, and you've set the Offset to +3 ticks, then a note near 1:1:0 would end up at 1:1:003 -- three ticks later.

Stretch Audio

If you check this, Quantize will change the duration of audio events as if they were MIDI notes.

Preset

You can load and save presets in this field. Each preset will redefine all settings in the dialog box.

Audition

Click on this to hear the results of a command before actually running it on the full selection.

See Also:

Edit Menu

Preset

Audition


Groove Quantize
Groove Quantize (Edit menu)

Use this command to synchronize events in separate tracks with each other, or with a predefined pattern.

Groove Quantize aligns the start times and durations of events in the selected tracks with events in the groove source.  It can also emphasize accented beats, detected through variations in note velocities.

Timing and accenting can be adjusted to match a sample of music taken from the clipboard data or from a library of predefined grooves.  You can create your own groove patterns and add them to your library.

Durations are given a value of the resolution amount minus one.  That way, notes do not run into each other, legato-style, causing problems on some synthesizers. Durations smaller than the resolution amount will be rounded up to the resolution minus one -- not down to zero.

Groove Quantize normally affects only note, audio and lyric events in the selection.  This behavior may be changed by clearing the checkbox labeled Notes, Lyrics, Audio Only.

Stretch Audio

If you check this, Quantize will change the duration of audio events as if they were MIDI notes.

Preset

You can load and save presets in this field. Each preset will redefine all settings in the dialog box.

Audition

Click on this to hear the results of a command before actually running it on the full selection.

If the groove pattern is shorter than the selected range, it will be repeated as many times as necessary to cover the range.

Groove Pattern	Groove File
Resolution	Strength
Window	Define
Preset	Tips and Examples
Audition


Groove File (Groove Quantize)

Groove Quantize needs a sample snippet of music to use as the timing and accent reference.  This is the Groove File.  The source may be material on the Clipboard, or, a pattern in your library.

The Clipboard choice allows you to use the Copy command before using Groove Quantize.  Copy a region of an existing track.  Then choose Groove Quantize select <clipboard> under Groove File.   You may think of this like copying a groove from one place, and "pasting" it onto another section.


Groove Pattern (Groove Quantize)

When you choose a .GRV file as the Groove File, you can pick one of several Groove Patterns. Each Groove Pattern imparts a different feel.


Resolution (Groove Quantize)

Groove Quantize lays a grid over the groove sample, then moves your notes to line up on the grid.   You specify how often to look for a reference event with the Resolution option.

Use the Resolution option to specify how frequently the tracks should be synchronized.  Cakewalk will interpolate between actual events in the reference material to determine the probable location of notes of a specified duration.

For example, you might have recorded quarter notes, but you would like a run of sixteenth notes to align with it.  By selecting a resolution of "sixteenth", you instruct Cakewalk to determine when you would have played sixteenth notes between the actual reference note events.  This is intended to allow intricate tracks of short notes to be synchronized with more fundamental tracks containing fewer events.  This also allows Cakewalk to compensate when your groove source contains regions of silence where other tracks contain music.

A rule of thumb is to use a Resolution matching the smallest note in the region you're quantizing.  If the notes are all sixteenth notes, choose that for the Resolution.  If the notes are a mix of sixteenth and eighth notes, you would still choose sixteenth notes.


Window (Groove Quantize)

There may be situations where notes that are very far from the reference points should not be moved at all.   Use the Window option to specify how close to the reference point a note must be for quantize to move it.  A Window of 100% includes all notes.  A Window of 50% includes all notes that are halfway on either side of the reference point.

If Outside Window

Use this option to control how events that are between reference points should be handled:

Do Not Change.  Note events that are outside the window of the nearest reference point will be unaffected by the edit operation.

Quantize to Resolution.  A regular quantization grid will be assumed between actual reference points in the pattern.  The Resolution option controls the spacing of the assumed points.

Move to Nearest.  Ignore the window setting, and move all events toward the nearest reference event, regardless of how far.

Scale Time.  Uses the error of nearby "in window" points to adjust the gaps proportionally.  The starting times and durations of notes are stretched or compressed to maintain relative spacing to neighboring events.


Strength (Groove Quantize)

You may control how far Groove Quantize should move notes toward the groove points.  A Strength of 100% will move the notes fully to the point.  If the Strength is only 50%, the notes will be moved only halfway.

You can provide strengths for timing, duration, and velocity independent of one another.

Use Strengths of 100% to make your synchronization "perfect", but mechanical-sounding.  Use lesser Strengths to "tighten" the timing without losing all of the original human performance.  Use 0% to disable a particular kind of quantization.

For example, you could make your music sound "about 85% tighter" by setting the Time and Duration percentages accordingly.  Or, you could opt to modify only the note velocities by setting the Time and Duration strengths to 0%.


Define (Groove Quantize)

Use this button save the currently selected groove source to a groove pattern library file.

To create a groove from a portion of the current song:

1.	Copy a portion of a track.

2.	Pick Clipboard as the Groove File.

2.	Press Define and use the Define Groove dialog.

To copy an existing groove to another library file:

1.	Pick it as the Groove File.

2.	Press Define and use the Define Groove dialog.


Tips and Examples (Groove Quantize)

Aligning sloppy tracks with a good one.  Select the portion of the "good" track which you want to apply to the "sloppy" tracks.  Choose the Copy command.  Next, select the portion of the sloppy tracks you want to modify.  Choose Groove Quantize, be sure to pick Clipboard for the Groove Source, and press OK.

Imposing a new feeling on an old tune.  You can impose a real human "feel" onto an otherwise sterile composition.  Any MIDI data that you can get into the clipboard can be cloned into a groove pattern and either used immediately, or saved into a library.  You can capture complex rhythmic nuance in an easily useable and distributable format.  A carefully-defined groove pattern can translate an old song to a new musical genre.

Accenting beats in each measure.  Create a sample measure containing note events at the desired accent points.  Center the velocities around 64, with accented notes having greater velocities and diminished notes having lesser.  Select the measure, choose the Copy command, then choose Groove Quantize.  Make sure the Velocity Strength option is set to a non-zero value.  After you press OK, note event velocities in the selected edit range will be adjusted to be louder or quieter on the specific beats.

Stealing that feeling.  Suppose you have a dry piece that was composed and entered into Cakewalk with a rigid sense of timing.  Then you record a bass line which has exactly the off-beat rhythmic dynamic you'd been searching for.  You'd like to force your other tracks to share that same feel.  Using the bass track as the reference, choose a resolution roughly on the order of the duration of the bass notes, and a window of 100%.  Cakewalk will align the melody note events with the nearest bass notes.  Use the Strength parameter to control the resulting "tightness" of the piece; the higher the strength, the tighter the piece.

Synchronizing rhythm and solo tracks.  If you want to preserve the unique rhythm of each track, but you want to synchronize them together in time, you might use a larger resolution and a smaller window.  For example, suppose you have one track with a highly stylized drum beat, and another track containing a jazz solo with some very nice runs in it.  The drum beats fall primarily on quarter notes, but the solo consists of runs of fast notes that aren't quite 16th triplets.  Using the drum track as the reference, you could use a quarter note resolution and a small window of perhaps 10%.  Cakewalk will align the solo notes near the quarter note drum beats, but will maintain the feel of the solo during the fast runs of notes in between.

Correcting off-tempo tracks.  Suppose you have both rhythm and melody tracks recorded, but the melody was played erratically.  If you use a whole note resolution and a window of around 25%, and select the Stretch Time option, Groove Quantize will synchronize each selected track with the groove source at roughly measure boundaries.  All events in the middle of the measure will be stretched or compressed in time such that they still fill the measure and still have the same rhythm.

You will probably notice that the starting time of note events has more of an effect on the rhythmic feel of the track than does the duration.  For this reason, the Change Starting Times option has a more noticeable effect on most material than does the Change Durations.  However, you will encounter situations where your notes will overlap (legato) or unwanted rests will be inserted (staccato) if you don't opt to change both.

You can experiment with these parameters and then audition the result.  Use Cakewalk's multi-level Undo and Redo capability to try many different quantizations before committing to one.

See Also:

Quantize

Edit Menu


Define Groove
Define Groove dialog

Use this dialog box to manage a collection of predefined groove patterns.  To create a new entry in your library, choose Groove Quantize, select the desired Groove Source, and press the Define button.

This dialog lets you browse through your collection of groove pattern files.  You can select an existing file or type the name of a new file.  You also can select an existing pattern to replace, or type a new pattern name.  Press OK to write the pattern to the file.

To delete a pattern from your collection, select it and press Delete.

Cakewalk supports two types of groove files:

•	The non-Cakewalk format is compatible with some other software and third-party groove pattern files.

•	Cakewalk's native format allows longer gaps between quantization points, and also allows the storage of velocity accent information.

Cakewalk looks for files with the .GRV extension in the same directory as WINCAKE.EXE.  You may use a different directory by setting "GrooveFilesDir=" in the [WINCAKE] section of your WINCAKE.INI file.  All patterns found in the directory will be available during the Groove Quantize operation.

You can also set the Groove File directory by clicking the … button in the Groove Quantize dialog box. Choose the directory  you want from the Open Groove File dialog, click Open, then click Set Default.

See Also:

Quantize

Edit Menu


Interpolate
Interpolate (Edit menu)

Interpolate is a powerful command that lets you search for certain events and replace their parameters with new, interpolated values.

This command presents you with two Event Filter dialogs.  The first dialog works like a normal Event Filter, except how you specify the ranges is important.  The second Event Filter is used only for its range fields.  The replacement scales parameter values from the first range to the second range.

See Also:

Edit Menu


Edit Length
Length (Edit menu)

Use this command to stretch or shrink the starting times and/or the durations of note events by a percentage that you pick.  You specify this as a percentage of the original values.  For example, 200% would make things twice as long, 50% would make them half as long.

This command does not change the tempo map.  Instead, it modifies the actual starting times and durations of the events.

Stretch Audio

Checking Stretch Audio will lengthen or shorten audio events by the specified percentage.

Note:	The amount of audio stretch must be within 25% to 400%.

See Also:

Edit Menu


Retrograde
Retrograde (Edit menu)

Use this command to reverse the order of events.  The first will be last and the last will be first.

See Also:

Edit Menu


Edit Transpose
Transpose (Edit menu)

Use this command to change the pitches of Note and/or KeyAft events up or down by the amount you specify.

Diatonic math option...	The Amount to transpose by is...
Checked	The number of diatonic steps (based on the current key signature)
Not checked	The number of half-steps (chromatic)
Unless you check the Use event filter option to exclude one of the two kinds, both Note and KeyAft events' pitches are affected by Transpose.

Transpose Audio

Checking Transpose Audio will pitch-shift audio events. The maximum range of transposition for audio is -1 octave to +1 octave.

Note: 	Audio will not transpose if the "Diatonic Math" option is checked.

See Also:

Edit Menu


Slide
Slide (Edit menu)

Use this command to move a region earlier or later.  This is similar to the Time+ track parameter, but this permanently changes the event times.

Note:  You cannot slide a region earlier than 1:1:0.  The From time must be at least as big as the amount of time you are sliding.  Otherwise you will simply get an error message.

Example: If From is 1:1:30, you cannot give an amount less than -30.

See Also:

Edit Menu


Velocity Scale
Scale Velocities (Edit menu)

Use this command to change velocities of notes events over time.  The Begin and End values are either velocity values or percentages by which to change existing velocities, depending on whether the Percentages option is checked.

If the Percentages option is not checked, then the Begin and End values are the starting and ending velocities.  A note at the beginning of the time range will have the Begin velocity and a note at the end will have the End velocity.  Notes in between will be changed to values interpolated between Begin and End over the time range.

If the Percentages option is checked, then the Begin and End values are percentages by which to multiply the notes' present velocities. A note at the beginning of the time range will have its velocity multiplied by the Begin percentage and a note at the end will be multiplied by the End percentage.  Notes in between will be multiplied by percentages interpolated between Begin and End over the time range.

You can also edit note velocities by drawing in the velocity pane of the Piano Roll view, which lets you draw shapes other than straight line changes.

See Also:

Edit Menu


Fit To Time
Fit to Time (Edit menu)

Fit to Time rescales a range to end at a new time (New Thru). It does this by either altering the tempo, or by changing the event times themselves. Select the method you want with the Modify by Changing radio buttons. Using the Event Times method is like using the Length command, except that here you use old and new lengths, whereas the Length command uses percentages.

Clicking the Format button lets you toggle between musical (measure:beat:tick) and SMPTE/MTC (hours:minutes:seconds:frames) time formats.

Stretch Audio

If you check this, Fit to Time will lengthen or shorten audio events to satisfy the new end time.

See Also:

Tempo view

Length

Edit Menu


Fit Improvisation
Fit Improvisation (Edit menu)

Use this command to fit a free-form improvisation into the Measure:Beat:Tick timing grid, without altering how it sounds, by both changing the event times and inserting offsetting tempo changes.   You must record a "reference track" that marks the beats before choosing this command.

See Also:

Edit Menu

"Fit Improvisation" in the User's Guide for a full description of the steps needed to prepare for this command.


Run CAL…
Run CAL… (Edit menu)

Use this command to run a CAL program. CAL programs work on events the same way as built-in Cakewalk editing commands: they change only selected events.  CAL programs may also execute certain other Cakewalk commands.

See Also:

Edit Menu

Creating and Modifying CAL Programs


Split clips
Split (Clips pane right-click menu)

Use this command to split the selected clip(s) into smaller pieces (into more clips).

Note: This command is available only when you are using clip-select mode in the Track view.

Four options are available:

•  Split Once At Time.  Use this option to split the clip(s) once, at the time you specify.

•  Split Repeatedly at Intervals.   Use this to split clips at regular intervals, for example, every four measures.

•  Split At Marker Times.  If the song contains any Markers, use this option to split clips at the time of each marker.  This option is disabled if the song contains no markers.

•  Split When Silent at Least N Measures.  Use this option when you want to split clips whenever there is one or more blank measures.  Although this option uses the word "silence", in fact any type of event will cause a measure to be considered "not silent" -- including events that don't make any sound by themselves like Patch or Controller.


Combine clips
Combine (Track view right-click menu)

Use this command to combine all of the selected clips into a single clip.

Note: This command is available only when you are using clip-select mode in the Track view.

If you select clips from more than one track, they will be combined into a single clip on one track.  To combine clips on only one track at a time, select each track's clips and choose Combine for each track.


Clip properties
Properties (Track view right-click menu)

Name

If you check the Name option, you can type in a name for all selected clips in the Name field.

Start

This sets a start time for the selected clip.

Length

This shows the length of the selected clip.

Clips Linked to This Clip

This shows how many other clips, if any, are linked to the selected clip.

Choosing a Clip Color

To change a clip's color, first check Change Color. You can choose "Use Default Clip Color" to return a clip to its usual magenta color. Or, you can choose "Use Specific Color" and use the color tools to customize the clip's look. These tools include a colors box, a shade bar, and Red, Green, and Blue value fields.

Tip:	You can use the color properties to make all linked clips the same color; this will help you identify related clips at a glance.


Select All Siblings
Select All Siblings (Clips pane right-click menu)

Use this command to select all clips that are linked to this one.


Unlink
Unlink (Clips pane right-click menu)

Use this command to separate linked clips, so that they are no longer linked.

You have two options for separating linked clips. If you choose the first option, the selected clips will no longer link to the group, but will link to each other. Choosing the second option unlinks all selected clips from each other and from the group.


View Options

Display Vertical Rules

This option is on by default; it tells Cakewalk to draw vertical gridlines in the Clips pane. Vertical rules make it easy to see at a glance how clips align with each other, how they align with measure boundaries, and when they start and end.

Display Clip Names

This option determines whether the clip names will appear inside the clips.

Display Clip Contents

This tells Cakewalk to graphically display the MIDI and Audio events inside each clip. Waveforms appear within digital audio clips; MIDI clips show where events occur. Display Clip Contents is on by default, but be aware that it may slow your computer down, especially if you're viewing Audio clips. Uncheck the option if you have this problem.

Right Click Sets Now

This is off by default. Leaving it off lets you left-click in the Clips pane to set the Now marker, and right-click to bring up the Inspector menu. Checking this option will set the Now marker and bring up the Inspector menu when you right-click in the Clips pane.


Linked Clips

When you copy an entire selected clip, you can choose that the copy be linked with the original. Linked clips share the same events, name, and color. Changes that you make to any one of the clips will automatically occur for all of them. Any number of clips may be linked with each other. No one of a set of linked clips is more special than the others; they are all equal "siblings."

Each linked clip has a dotted line around it. You may want a better indication of which linked clips are related. If you like, you can change the linked clips' color by right-clicking in the Clips pane and choosing Properties.

Creating a linked clip using drag-and-drop

Click on one or more entire clips to select them, and drag them while holding the CTRL key (the cursor will change to indicate a drag-copy.) When you've moved the clips to the location you want, release the mouse button and the CTRL key. Drag and Drop Options dialog will appear, and you can check the Copy Entire Clips as Linked Clips item.

Creating a linked clip using Copy and Paste

Select one or more entire clips. Choose Edit | Copy, and check the Copy Entire Clips as Linked Clips item. Move to the location you want, the choose Edit | Paste. The Ctrl+C (copy) and Ctrl+V (paste) keyboard shortcuts work the same way.

Pasting multiple repetitions as linked clips

Edit | Paste lets you repeat the paste multiple times. If Repetitions is greater than one, then the Link Repetitions checkbox is enabled. (Note: Link Repetitions is visible only if you have clicked Advanced>>.) If Link Repetitions is checked, all of the repetitions will be linked with each other. If you copied the clips as linked clips with the Copy command, they will be linked to the original clips as well.

To unlink a clip

In the Track view, select one or more entire clips and click the right mouse button. Choose Unlink from the pop-up menu.


Presets

Cakewalk Pro Audio ships with many presets for the different layouts and editing commands. You just click to the right of the Preset field to see a drop-down list, choose a Preset, and Cakewalk reconfigures the dialog box settings.

You can also create your own presets. When you've changed dialog box settings to your liking, enter a name in the Preset field. Click the Save button  to save the current settings as a preset. Click the Delete button  to delete the current preset.


Audition

Click on this to hear the results of a command before actually running it on the full selection. This is particularly useful for on large audio selections; you can get quick feedback, rather than waiting for the whole selection to be processed.

When you click Audition, Cakewalk plays back only the first three seconds of the selection, with processing, and loops the audio. The Audition button changes its label to Stop  which you click when you are finished listening.


View menu

Cakewalk  has a variety of views.

Track	View of track parameters and measures.

Tempo	Graphical view of tempo changes.

Meter/Key	List of meter (time signature) changes.

System Exclusive	System Exclusive data generic librarian.

Markers	Markers for times.

Panel	Graphical controls and indicators called widgets.

Play List	Play a list of songs automatically.

Big Time	Display a window with current time.

Audio Meters	Monitor input levels and free disk space for audio recording.

CAL	CAL program editor.

MIDI Activity	Monitor MIDI input and output.

Effects	Add real-time audio effects to your audio tracks.

Views to edit events in tracks:

Piano Roll	Graphical view of a track's notes.

Audio	Graphical view of multiple tracks' audio events.

Event List	List of a track's events (all kinds, not just notes).

Staff	Notes from multiple tracks transcribed on a staff.

Lyric	Page view of a track's Lyric events.

View options:

Auto Activate	Graphical view of a track's notes.

DOS F6 View Keys	Use Cakewalk for DOS F6 shortcut keys

Layout	Save your window positions and sizes.

ToolTips	Turn ToolTips on or off.

Colors


Track view

The Track view is your main window in Cakewalk.  The window is divided into two main sections (or "panes"):

• On the left is the Track pane, where you can view and change track parameters.

• On the right is the Clips pane, where you can see and modify the structure of your song, which is reflected in the clips on each track.

When you move the cursor over the border between the two panes, it changes to a left/right arrow.  Click and drag the border left or right.

If you double-click on the border, you can toggle the parameters section size between its maximum and whatever other size you had last set by dragging.  (This is similar to maximizing vs. restoring a window.)

See Also:

View Menu


Track Pane (Track view)
Track pane

Use the Track pane to view and change track properties.

To Enter New Values

With the mouse	Double-click on a field
With the keyboard	Use the arrow keys to move the highlight to the field, then press ENTER.
This will let you type in new information directly on the screen, or, it may call up the Track Properties dialog.

To Increase and Decrease Values

With the mouse	Click on a field and drag the mouse toward you or away from you.
With the keyboard	Press + and  - to add and subtract by 1. Press ] and [ to add and subtract by 10.
To Customize the Layout

You can arrange the position and width of the columns using the mouse.  Click in the header row to drag a column to a new position.   If you click near the right edge of a column, you can change its width.

To Edit a Track

Click on a track with the right button, and a popup menu will appear listing the different kinds of Cakewalk track editing views.  Select the type you want, and the view will open for that track.  The menu also contains other common commands.

See Also:

Track parameters

Clips pane

View Menu


Clips Pane (Track view)
Clips pane

Use the clips pane to see and modify the structure of your song, which is reflected in the clips on each track.

To Open a View Window

Click on a track with the RIGHT mouse button, and a pop up menu will appear listing the different kinds of Cakewalk track editing views.  Select the type you want, and the view will open for that track.  The menu also contains other common commands.

Selecting single clips

You can select a clip in either of two ways:

•  Click the mouse button anywhere in the central area of the clip.

-or-

•  Position the pointer away from any clip and drag a selection rectangle (also called a lasso) to completely enclose the clip you want to select.

Note: You can also start a lasso by pointing along the outside edges of a clip.  (The mouse cursor changes to indicate which area you are in.)  Clicking here is like clicking on empty space, as if no clip were there.  This is handy for starting a lasso in an area that is very crowded with clips.

If you click on a clip that is not selected, any selected clip will be dropped.

Selecting multiple clips

To select multiple clips (that is, to create a multiple selection):

•  Drag a selection rectangle completely around the clips you want to select.

-and/or-

•  To add to a selection of one or more clips, hold down the SHIFT key as you select additional clips either by clicking them or by dragging a selection rectangle around them.

If you click one clip in a multiple selection, it will remain selected (as will all the other clips in the selection).

If you click a clip that is not part of a multiple selection, it will be selected and the multiple selection will be dropped.

To remove a selected clip from a multiple selection, hold the CTRL key and click on the clip.

If you hold the CTRL key while dragging a selection rectangle around clips, this toggles the selected state of each clip.  Selected clips become not selected, and vice versa.

Selecting all or no clips belonging to a track

To select all clips belonging to a track, click on the track's number (the leftmost column) in the Track pane.  If all the clips for that track are already selected, this will select none of them.

Drag and drop of selected clips

After one or more clips are specifically selected, you may drag them to a new location:

1  Click on any selected clip. A rectangle is drawn around all the selected clips.

2  Drag to a new location. The rectangle moves. The clips remain drawn in their original location.

3  Release the mouse button. If the CTRL key is held when you release the mouse button, a copy of the clips will be dropped at the new location.. Otherwise, the original clips will be moved to the new location.

Drag and drop works during playback: You do not have to stop first.

Time Selection

•  While holding the ALT key, click and drag a lasso to select a range of time and a range of tracks.

-and/or-

•  Click and drag in the time ruler near the top of the window to select a range of time.

You may click on the track numbers (in the left pane) to add or remove additional tracks from the selection.

In addition some shortcut keys are available:

Shortcuts
• To set the selection start time ("From") to the current position ("Now"):
Keyboard:	Press F9.
• To set the selection start time ("From") to the start of the song (1:1:0):
Keyboard:	Press CTRL+F9.
• To set the selection end time ("Thru") to the current position ("Now"):
Keyboard:	Press F10.
• To set the selection end time ("Thru") to the end of the song:
Keyboard:	Press CTRL+F10.

See Also:

Parameters pane

View Menu


Track parameters dialog
Track properties dialog

Use this dialog box to change many related track properties.  Double-clicking or pressing ENTER on the Port, Channel, or Patch fields brings up this dialog.

Changes here happen immediately, before you press OK. This dialog is handy for "orchestrating" while a song plays back, because you can hear the results while you change the "destination" -- port, channel, patch -- and also parameters like key and velocity offset, pan and volume.  You can freely experiment with all of them because pressing Cancel restores all of the original track parameters.  Press OK to keep your changes.

Press the Assign Instruments button for the Assign Instruments dialog.


Clips
What are "clips"?

Each track contains clips.  Each clip contains events.

Instead of events living directly in tracks, events live in clips.  Tracks don't contain events directly -- instead, tracks contain clips, and the clips actually contain the events.

You may use clips to organize material in whatever groups you find meaningful and useful.  Often the music in a track consists of definite sections: Four bars of this theme, four bars of another.  By making each section a clip, you get several benefits.  You can see the "structure" of your song at a glance.  It is easy to select clips by clicking on them, then dragging to move or copy them to another track or time.

When you record something, it is placed in the track as a new clip.

You may split or combine clips in the Clips pane of the Track view.  To do so, select the clips, click the right mouse button, and choose Split or Combine from the popup menu.


Event List view

Use the Event List view to see and edit events from one or more tracks in an alpha-numeric list format.  It is not graphical, but it packs a lot of information into a small space.  In addition, it is the only view which lets you see and edit all types of events -- notes, controllers, patch changes, wave events, text events, etc.

The Event List view shows you whatever tracks where selected when you first opened it.  To change which tracks you're viewing, press [image]  or the T key.

Shortcut
• To open an Event List from the Track view:
Mouse:	Press the RIGHT mouse button and choose Event List.

Multiple tracks

Each Event List includes whatever tracks were selected (including the current track) when you opened the window.  To view a different group of tracks, select them, then open a new Event List window.

To insert an event

Press the INSERT key.  Change the event properties.

To delete an event

Press the DELETE key.  This deletes only the event that the cursor is on.   To delete all selected events, choose Delete from the Edit menu.

To select events using the mouse

• Click in the leftmost column.  Clicking toggles the selected state of the event.

-or-

• Click and drag up/down in the leftmost column.  This works much like clicking on track numbers in the Track view: If the event you first clicked on became selected, so will the ones you drag over.  If the event you first clicked on became unselected, so will the ones you drag over.

-or-

• Hold the SHIFT key and click to extend the selection from the event with the highlight on it, to the event where you clicked.  This can be quicker than dragging over a long range of events: Set the anchor at one end, scroll, and SHIFT+click to set the other selection end point.

To select events using the keyboard

• Hold the SHIFT key while pressing the UP and DOWN cursor keys.

-or-

• Use CTRL+NumPad5 to Select All or NumPad5 to Select None.

To Step Play Events

With the keyboard	Press SHIFT+SPACEBAR to play the highlighted event.  If it's a Note event, the sound will sustain as long as you hold down the SPACEBAR.  When you release the SPACEBAR, you are moved back to the event you just heard, so that you can edit it.
With the mouse	CTRL+click on an event.  If it's a Note event, the sound will sustain as long as you hold down the mouse button.

Note:  Audio events will not be heard during step-play.

See Also:

View Menu


Bank/Patch change dialog

The list of patch names you may pick from depends on the port and MIDI channel of the event.  If the track has a forced MIDI channel, the channel stored for the event is ignored.

You can change which patch names are used for various ports and channels by pressing the Configure button, which calls up the Assign Instruments dialog.

See Also:

Event list

View Menu


Kind of Event dialog

Use this dialog box to change an event from one type to another.  If you are inserting events in the Event list view, typically you press the INSERT key to duplicate an existing event, then change its values.

There are various kinds of events.  Cakewalk provides you with standard MIDI events like Notes, Patch changes, and so on.  Plus there are special events that aren't part of MIDI.

MIDI events contain only a small amount of data.  For example, a Note event has a key number (pitch), velocity, and duration.  Cakewalk stores normal MIDI events in such a way that you can cycle among the various kinds without losing data peculiar to a certain kind.  In fact, by temporarily changing a Note event into a KeyAft event, you can get a different view of the same data: you can see the raw MIDI key number instead of Cakewalk's pitch name like "C#4".  You can do this using the plus or minus keys or dragging with the mouse, and avoid calling up this dialog box.

But the special kinds of events require more data -- Wave events, for example, require very large amounts of memory!  Cakewalk cannot preserve this data and must release it when you change to another kind of event.  To make sure that's what you intend, Cakewalk makes you press ENTER and use this dialog box if you want to change an event to or from one of these special event types.

See Also:

Types of events

View Menu


Types of events

The printed User's Guide has a detailed explanation of the various types of events you may use in Cakewalk tracks. Here is a quick reference table:

Type	Description	Properties
Note	MIDI note	Pitch Velocity (0..127) Duration (0..65535)
KeyAft	MIDI key aftertouch Applies only to a specific key (pitch)	Pitch Pressure Amount (0..127)
Control	MIDI controller change	Controller Number (0..127) Value (0..127)
Patch	MIDI bank and patch change	Bank number (none or 0..16383) Patch number (0..127)
ChanAft	MIDI channel aftertouch Applies to all keys (pitches) on the MIDI channel.	Pressure Amount (0..127)
Wheel	MIDI pitch bend wheel	Wheel position (-8192..8191, 0 = center)
SysxBank	System Exclusive bank in the Sysx view	Sysx bank number (0..255)
SysxData	A single System Exclusive message, up to 255 bytes long	The System Exclusive bytes
RPN	Registered Parameter Number	Parameter Number (0..16383) Parameter Value (0..16383)
NRPN	Nonregistered Parameter Number	Parameter Number (0..16383) Parameter Value (0..16383)
Text	Text you can use for any descriptive purpose	Text
MCIcmd	Windows MCI (Media Control Interface) command	MCI command text
Lyric	Lyric; typically one syllable of vocals	Text
Chord	A chord symbol, with text and an optional guitar grid	Chord name Grid of strings and frets
Hairpin	A crescendo or decrescendo marking	Open or closed
Expression	Dynamic marking text	Text. The characters p and f are formatted automatically for you.
Audio	Digital audio	Digital audio data Velocity (0..127) Text description
See Also:

View Menu


Piano Roll view

The Piano Roll window has two main panes (sections): note and Controllers.  When you first open a Piano Roll window, the note pane may be full size and the Controllers pane hidden at the bottom.  You can double-click on the gray border bar to "maximize" the Controllers pane or drag the gray border to whatever position you wish.

The Piano Roll view shows you whatever was the current track when you first opened it.  To change which track you're viewing, press [image]  or the T key.

Shortcut
• To open a Piano Roll from the Track view:
Mouse:	Press the RIGHT mouse button and choose Piano Roll.

Working in the note pane

There are several tools available:

Mode	Button	Shortcut Key
Select		S
Draw		D
Scrub		B
Erase		E

  Use Selection mode.

  Use Draw mode to insert brand-new notes and change existing notes.  The Snap-to button lets you pick a round-off amount for when you drag and change note start times and durations.

To change an existing note:  Which part of the note you click on  -- left, middle, or right -- determines what you can change.

To change...	click on...
Starting time	left third	Drag the note left or right to a new time without affecting the pitch.
Pitch	middle third	Drag the note up or down to a new pitch without affecting the starting time.  In this mode, the note will sound as you move to each new pitch step.
Duration	right third	Drag left or right to change the length of the note.
To copy an existing note:  Hold the CTRL key and click on the existing note.  Drag the copy to the desired location.  The copy will have the same duration and MIDI channel as the original.

  Use Scrub mode to drag horizontally over time to hear notes.  This can be handy to find the time where a bad note is, to test how an entire chord sounds after changing the pitch of one of its notes, or to test notes after adjusting their velocities in the velocity pane (see below).

  Use Erase mode to erase notes. Drag over the events you wish to erase.

To change other note parameters:  Click on a note using the RIGHT mouse button.  A dialog box lets you edit all note parameters, including some that the Piano Roll view doesn't display graphically, like MIDI channel.

Working in the Controllers pane:

The Controllers pane graphs the Controller events and velocity values of notes that appear above in the note pane.  To modify Controllers or velocities, click and drag the shape you want.

Use the Controllers pane to edit Control, Pitch Wheel, Channel Aftertouch, RPN, and NRPN events in a graphical format.  Usually these events occur in groups which describe a shape, for example, a series of Pitch Wheel events with increasing values that create an upward pitch bend.

There are several tools available:

Mode	Button	Shortcut Key
Select		S
Draw		D
Line		L
Erase		E

  Use Selection mode to select Controller events and velocities for editing.

  Use Draw mode to draw new events of the type and MIDI channel you have selected.  Any existing events of that type are replaced by what you draw.

  Use Straight-line mode to draw straight lines more easily.  Click and drag to draw the line.

  Use Erase mode to erase events.  Drag over the events you wish to erase.

Working with percussion parts

Ordinarily the Piano Roll view shows you a picture of a piano keyboard along the left edge of the screen.  A percussion mode is also available.

	Regular Mode	Drum Mode
Notes	Drawn as horizontal lines, with varying duration.	Drawn as "diamond" shapes, duration is not displayed.
Labels on the left	A picture of a piano keyboard.	A list of Note Names.
See Also:

Note Names and Drum Mode dialog

View Menu


Note Names and Drum Mode dialog
Note Names and Drum Mode dialog (Piano Roll view)

If you are editing a track that is routed to a percussion instrument, the Piano Roll view will automatically configure itself in drum mode.

Example: Track 5 is assigned to Port 1, Channel 10.  Using the Instruments command, you have assigned Port 1, Channel 10 to use the "General MIDI Drums" instrument definition.  That instrument is a drum instrument.  As a result, when you open a Piano Roll view for track 5, the view will automatically configure itself in drum mode.   In addition, that instrument defines names for notes, which are drum kit parts like "Kick", "Snare", and so on.  So the Piano Roll view will list those names along the left edge of the window, instead of drawing a piano keyboard.

You may override the automatic configuration by pointing to the keyboard (or drum note names) along the left edge of the screen, and pressing the RIGHT mouse button.

In the Note Names and Drum Mode dialog, choose either of two options:

Use the Assigned Instrument Settings.  This is the default when you open a Piano Roll.  The view follows the settings for whatever Instrument definition is assigned to the track's Port and Channel destination.

Use These Settings Instead.  If you choose this option, you can pick a specific list of Note Names to use.  Also, you may turn Drum Mode on or off.  These special settings remain in effect only for the current Piano Roll window.  Whenever you open a new Piano Roll view, the automatic option (Use the Assigned Instrument Settings) is used.

You can change which patch names are used for various ports and channels by pressing the Configure button, which calls up the Assign Instruments dialog.

See Also:

Piano Roll view


Controllers view

Use the Controllers view to edit Control, Pitch Wheel, and Channel Aftertouch events in a graphical format.  Usually these events occur in groups which describe a shape, for example, a series of Pitch Wheel events with increasing values that create an upward pitch bend.

Shortcuts
• To open a Controllers view from the Track view:
Mouse:	Press the RIGHT mouse button and choose Controllers.

The Controllers view shows you whatever was the current track when you first opened it.  To change which track you're viewing, press [image] or the T key.

There are several tools available:

Mode	Button	Shortcut Key
Select		S
Draw		D
Line		L
Erase		E

  Use Selection mode.

  Use Draw mode to draw new events of the type and MIDI channel you have selected.  Any existing events of that type are replaced by what you draw.

  Use Straight-line mode to draw straight lines more easily.  Click and drag to draw the line.

  Use Erase mode to erase events.  Drag over the events you wish to erase.

See Also:

View Menu


Staff view

The Staff view presents MIDI sequencer data as staff notation, with interactive editing capabilities.  It is not intended to be a replacement for full-featured music publishing software that addresses the many possible nuances of conventional music notation.  On the other hand, it does an excellent job of converting inexact human performances into notation displaying what you meant, rather than the exact timing of what you played.

The Staff view shows you whatever tracks where selected when you first opened it.  To change which tracks you're viewing, press [image]  or the T key.

Shortcuts
• To open a Staff view from the Track view:
Mouse:	Press the RIGHT mouse button and choose Staff.

Tools

Staff view layout

Simplifying options

Note colors

Percussion Settings

See Also:

View Menu


Tools (Staff view)

There are several tools available:

Mode	Button	Shortcut Key
Select		S
Draw		D
Erase		E
Scrub		B

  Use Select mode to select events and move them around.  Hold down the SHIFT key during selection to extend the existing selection.  For move, all events change by the same delta time, delta pitch and delta track as the "anchor" event clicked on.  Hold down the CTRL key during move to copy.  Tap the right mouse button during move to toggle between diatonic (default) and chromatic pitch transposition.  Press ESCAPE while moving to quit with no changes.  Press DELETE while moving to delete the selected events.

  Use Draw mode to add, delete, and move individual events.  The type of event is specified by these buttons:

Button	Meaning	Shortcut Key(s)
	Whole	1
	Half	2
	Quarter	4
	Eighth	8
	Sixteenth	6
	Thirty-second	3
	Dotted	PERIOD
3	Triplet	T
L	Lyric	none
C	Chord	none
	Expression	none
	Hairpin	none
	Pedal	none
The non-note events belong in special, horizontal areas above or below the staff. Exactly how far above or below the staff varies: It depends on what other items (for example, notes) already exist nearby.  The special area might need to move up or down to make room.

To draw a new Chord event, be sure to point to the area above the staff. Similarly, to draw a new Lyric, Expression, Hairpin, or Pedal event, point below the staff.  As you move the cursor up or down into the correct area, the cursor will change to a pencil and you may click to draw the new item.  A no-drop cursor means you are not at a valid location for the current event type.  An arrow cursor means you're positioned on an existing event.

Note: When the 3 button is on to insert triplet notes, three notes are inserted at once for you -- a complete set of three triplets.  Click where you want the first of the three to be located, and release the mouse button.  Next, click and drag each of the other two notes to whatever pitches you want.

Note: When the Pedal button is on, two events are inserted at once for you -- a pedal down and a pedal up. Click where you want the pedal down to be located, and release the mouse button.  Next, click and drag the pedal up to another time if you want.

To copy an existing event:  Hold the CTRL key and click on the existing note.  Drag the copy to the desired location.  The copy will have the same duration and MIDI channel.

Tap the right mouse button during move to toggle between diatonic (default) and chromatic pitch transposition.  Press ESCAPE while moving to quit with no changes.  Press DELETE while moving to delete the selected events.

  Use Erase mode to erase notes.  Drag over the events you wish to erase, or click on them.

  Use Scrub mode to drag horizontally over time to hear notes.  This can be handy to find the time where a bad note is, to test how an entire chord sounds after changing the pitch of one of its notes, or to test notes after adjusting their velocities in the velocity pane (see below).

To change other event parameters:  Click on an event using the RIGHT mouse button.  Use the dialog box to edit all parameters, including some that the Staff view doesn't display graphically, like the MIDI channel for a note.

Duration.  The duration in ticks is displayed to the right of the note size buttons as a numeric field.  It resets automatically to match notehead size.  You can also click on the duration numeric field to change it.

Snap.  "Snap" defines fixed legal time positions to round to when you insert new events.  If the Snap checkbox is checked, this feature is enabled.  The Snap amount, the spacing between time positions, is displayed as a numeric field just below the Snap checkbox.  The Snap amount resets automatically to match notehead size and event type.  You can also click on the Snap amount numeric field to change it.

See Also:

Staff view


"Simplifying" options (Staff view)

Several options help you display inexact human performances without making the notation too terribly complex.  You may not want to see very small noteheads (like 32nd notes) or separate layers.  The following options are alternatives to using the Quantize command to round-off the actual times and durations of the notes: you can preserve the human feel without getting horribly complicated notation.

Fill.  Use the Fill option to round durations up to the next beat (if there would otherwise be a rest).  This is especially effective with chords, because the notes may be released at different times.  However, you may want to turn this off if you are entering notes using the mouse.  Otherwise, you may be confused when you insert an eighth-note in 4/4 time and it looks like a quarter-note, at least until you insert another eighth note immediately following it.

Trim.  Use the Trim option to cut off durations if they extend only a little way past the start of the next note.  This technique helps with legato parts.  As with Fill, you may wish to turn off Trim if you're entering notes precisely using the mouse.

Resolution.  This is similar to Quantize, but works on-the-fly without affecting the actual notes' timing for playback.  Also, it uses a different approach to rounding-off the timing that is more appropriate for notation.

See Also:

Staff view


Note colors (Staff view)

Notes change color while they are being played (when you can hear them).  Notes change color this way during playback, and when you drag them or scrub them.  Non-note events change color as well, to indicate the range of music they affect.

To change the color, choose the View|Options|Colors command.  The Screen Element is called Note that is on.  Whatever color you pick for that will be used to color the notes in the Staff view.

See Also:

Staff view


Layout (Staff view)

The Staff view can display up to 24 staves of standard notation. You can view up to 24 tracks in the Staff view, provided that each track uses only one staff.

When you open the Staff view window, Cakewalk Pro Audio picks a clef (Bass or Treble) for each track by looking at the range of pitches in the track. If a track has notes that fall in both clefs, or no notes at all, Cakewalk Pro Audio splits the track into two staves, Treble and Bass.

You can change how each track displays by clicking the Layout button. Cakewalk Pro Audio displays the Staff View Layout dialog box, listing track names and giving the designated clef(s) for each track as it is selected.

To change the clef for a track, select the track in the list and choose from Treble, Bass, Treble/Bass, Alto, Tenor, Octave-treble, Percussion, and Percussion Line.

If you assign a track to Treble/Bass, the track is split onto two staves. Use the Split option to specify the split point, which is the lowest note that should go on the treble staff. All notes lower than the split point are notated on the bass staff just below.

Note: If you assign a track with Treble/Bass, that track uses up 2 of the 24 available staves.

Note: You may prefer to put piano left- and right-hand parts into two separate tracks, if a simple split point is not adequate for deciding notes staves.

Percussion Staff and Line

You can notate percussion on a five-line Percussion Staff or a single Percussion Line. The staff usually displays a drumset or multiple instruments, and the line is there to notate single instruments. However, you can put multiple instruments on one Percussion Line, and use different staff positions or noteheads to tell the instruments apart.

Default clefs and mappings

The first time you display a drum instrument track, Cakewalk picks a default percussion clef. Tracks with only one note will display on the Percussion Line clef. Tracks with more than one note will display on the five-line Percussion Staff.

The default Percussion Staff uses a standard percussion mapping based on the General MIDI Standard Percussion note assignments. Notes are given popularly accepted percussion staff positions and noteheads.

Clef ranges

The lowest and highest lines on the Percussion Staff show E5 and F6, respectively. The Percussion Line represents E5.

Percussion Layout button

When you choose the Percussion Staff or Percussion Line clefs, you can click the Percussion Layout button. This lets you control the assignment and look of percussion notes in the current track.

See Also:

Staff view

Percussion Settings


Percussion Settings (Staff view)

When you choose the Percussion Staff or Percussion Line clefs, you can click the Percussion Settings button. This brings up the Percussion Notation Key dialog, which controls the assignment and look of percussion notes in the current track.

Note lists

The Percussion Notation Key dialog box has two lists containing notes. The MIDI Note list shows pitches on the left, and note names on the right. The note names come from the instrument definition assigned to that tracks port and channel. The Display As list shows all the notes that will display on the staff.

Tip: If the MIDI Note list on the right shows pitches instead of drum note names, make sure that the instrument definition for the track is set to a drum instrument under Settings | Instruments.

Bind button

You use the note lists to map or bind MIDI notes to any notes on the staff or line. Highlight a note in the MIDI Note list, then highlight a note in the Display As list. Click Bind, and a black line will connect the two notes; a star (*) will appear next to each note, showing that you chose a binding other than the Default Note. To see a binding, click on any starred MIDI note, or double-click on any starred Display note in the Display As list.

Tip: You can use your MIDI keyboard with the note listboxes. Click in either the MIDI Note or Display As listbox, then strike keys on the MIDI Input instrument assigned to the current tracks port and channel. Each note you play will highlight its matching note in the listbox.

You can only bind each MIDI note to one Display note. However, you can bind many MIDI notes to the same Display note. You can then use different noteheads and articulation marks to tell the notes apart.

Clearing a binding

To clear a binding, highlight the MIDI note or Display note, and click Unbind. This binds the MIDI note to the Default Note. The asterisk and black line will disappear, and the Default Note will be highlighted in the field below the Display As list. To clear all bindings, click Zap All. You will be asked if you want to clear all percussion key assignments for the track; click OK to do this, and all MIDI notes will use the Default Note.

The preview window

A preview window shows an example of the bound percussion notes, so you can preview your changes. The note currently highlighted in the MIDI Note list will also be highlighted in the preview window. Text under this window recommends which Display notes you should bind your drum sounds to, based on commonly accepted percussion notation.

Noteheads and articulation marks

You can choose from five notehead types, including standard noteheads and four special shapes. You can use these different noteheads and articulation marks to distinguish between different MIDI notes bound to the same Display note.

You can put a circle around the notehead by checking Notehead Circled; this often indicates a rimshot.

You can also choose from three types of articulation marks, or choose none. Remember that this applies to the entire track. For instance, if you choose a circle mark for an open hi-hat on MIDI note F7, youll see that mark every time the open hi-hat plays.

Default Note

Even if you dont assign bindings to MIDI notes, they must show up on the staff. Therefore, any unbound MIDI notes will automatically use the Default Note for display. To change the Default Note, choose values from Display As, Notehead Type, and Articulation Symbol. Then click the Default Note button.

Presets

When youre satisfied with the Percussion Notation Key settings for a track, you can save the settings as a preset. You can then reload the preset into other tracks (and other workfiles) to automatically apply bindings, noteheads, and articulations.

The GM Standard Percussion preset, supplied with Cakewalk, matches Cakewalk's default mappings for the five-line Percussion staff.

See Also:

Staff view


Staff printing configuration

Engravers have standardized nine sizes of the five-line staff.  The vertical distance between the lines of each staff is called its rastral measurement.  Each rastral size has a number and is used for a specific genre of musical composition by publishers.

The bigger the rastral number, the smaller the size.

	Trade names	Genre usage
0	Commercial or Public	Wire-bound manuscript
1	Giant or English	Elementary band and orchestra books; instruction booklets
2	Regular, Common, or Ordinary	Sheet music, concertos, classics
3	Same as rastral 2	Used for works which contain a greater density of symbols
4	Peter	Folios, works for organ, etc.
5	Large middle	Band/wind ensemble music; sheet music
6	Small middle	Chorals; condensed sheet music
7	Cadenza	Pocket editions; cues in piano parts; military marches
8	Pearl	Thematic advertisement; ossia clarification
See Also:

Staff view

View Menu


Lyrics view

Use this view to create many Lyric events at once, automatically matched to existing notes.  Also use this view as a karaoke "teleprompter" which highlights each syllable during playback.

The Lyrics view shows you whatever was the current track when you first opened it.  To change which track you're viewing, press [image]  or the T key.

Lyric events are similar to Text events.  Like any other event, they occur at a particular time.  Like general-purpose Text events, they contain text.  But typically a Lyric event contains only a single word (or syllable of a word), and should be at the same time as a corresponding Note event.  The Lyrics view makes it easy to type text and split it into individual Lyric events matching Note event times automatically.

Typing lyrics

Type your Lyrics, complete with hyphens (-) between syllables.  Use additional hyphens to indicate a syllable sustained over additional notes.

Example:

Oh - say can you see, by the dawn's ear-ly light,
What so proud-ly we hailed, at the twi-light's last gleam-ing?

The hyphen after the word "Oh" indicates that "Oh" is held over the second note, too.  The remaining hyphens in this example simply join the syllables that make up a word.

Example:

Lyrics View:
One - - - Five

Staff view:

The three hyphens after the word "One" indicate that "One" is held over three additional notes.

Example:

Lyrics View:
For--got-ten

Staff view:

The first hyphen after the syllable "For" will be printed in the Staff view.  The second hyphen indicates that "For" should be held over an additional note.  The syllable "got" falls on the third note.

Tip:  Open a Staff view for the same track while you're using the Lyrics view.  As you make changes in either window, the other window will update to reflect those changes.  Rather than be too concerned about exactly how many hyphens to use, simply experiment and you'll quickly learn to get the results you want.

Flowing to match Note events

As you type, Cakewalk waits until you pause for about one second.  Then it automatically creates (or updates) Lyric events in the track.  This way the text in the Lyrics view stays "in sync" with the multiple Lyric events in the tracks.   Similarly, if you add or change events in the track using another Cakewalk view, the Lyrics view will update to reflect the change.

Cakewalk takes each syllable, finds a note event for it, and creates Lyric event at the same time.  If you have more syllables than notes to match them to, Cakewalk simply assigns the extra lyrics times at quarter-note intervals.  After you later add enough note events, return to the Lyrics view and delete any hyphen ('-') placeholders to force the Lyric event times to be rematched.

You may also view and edit Lyric events one by one in the Staff and Event List views.

Fonts

The Lyrics view has two different uses: to edit lyrics and to view them during playback.  Thus you may pick two different fonts, and choose between them quickly.  Typically you will choose a smaller font for editing lyrics, and a much bigger font for viewing them.

Printing

The Print and Print Preview commands are available for the Lyrics view.  All hyphens are automatically removed for printing.

See Also:

View Menu


System Exclusive view

This provides 256 banks for MIDI System Exclusive data.

Each bank can hold any number of messages; the amount of data it can hold is limited only by available memory.

A bank may be marked as Auto, which means it will be automatically sent whenever you load the file.  Usually you will want to mark your patch and configuration data bank as Auto so your instruments are set up automatically for the song.

See Also:

View Menu


CAL view

Use this view to create CAL programs using a notepad.

Creating "macros" using CAL

You may also Record a CAL program, because CAL has many functions which correspond to Cakewalk commands.  For example, press the Record button in the CAL view.  The Record button changes to /Stop/, to indicate that you're recording a CAL program.  Choose the Open command from the File menu, type in the name of a file ("DEMO.WRK"), and press OK.  Now return to the CAL view and press /Stop/.  A statement will appear in the notepad, replacing the current selection:

(FileOpen "DEMO.WRK")

If you now press Run, the Open command will be executed just as if you'd chosen it from the menu and typed in the name of the file.

To assign a shortcut key (either a computer keyboard key or MIDI keyboard key) to a Cakewalk command or to a CAL program file, use the Key Bindings command.

See Also:

CAL Function Reference

View Menu


Markers view

Markers are a way of associating text with a time.  The time can be a normal musical time, or locked to an absolute real-world time so that if the tempo changes, they will still refer to the same real-world time.  Locked times are useful for indicating cue points when creating music to accompany visuals (film scores, ad jingles, multimedia presentations, etc.)

Anyplace that you can enter a time in a Cakewalk dialog box, you may also select from the list of markers by pressing F5.  The predefined Now, From, and Thru markers are in this list along with any markers that you've defined.  Pick a marker and press OK.  The marker time will be supplied.

See Also:

View Menu


Panel view

StudioWare allows you to control any MIDI device from within Cakewalk. The Panel view  provides graphical controls called widgets that send data and generate MIDI Controller events as you move them.  The data and events may be recorded into tracks, or sent directly to MIDI ports for real-time control of MIDI devices.There is also a Design Mode where you can create your own StudioWare Panels.

Widget Properties	Recording widget movements
Use Mode	Design Mode
Taking Snapshots	Aliases
Saving a Panel	Audio Tracks
Groups
See Also:

View Menu


Widget properties
Widget properties (Panel view)

To open the Widget Properties dialog box from Use Mode, right-click on any widget. You will only be able to view the Widget's Track or Port Assignment from the Use Mode Widget Properties.

To open the Widget Properties dialog box from Design Mode, right-click on any widget and select Properties from the Widget Inspector Menu. From here, you can configure the widget to generate and display virtually any legal MIDI data, plus other kinds of data.   The Track assignment controls where any recorded  data will be stored by the widget.  The Action fields control the MIDI event kind and its parameters associated with the widget.

Widget assignment fields

The widget assignment fields determine the look and behavior of the widget, as well as where widget data is sent and stored.

Label

Use this field to enter the name of the Widget or the data that it transmits and receives.

Alias

The Alias field is used to enter simple and complex relationships between Widgets.

Style

Use this field to pick what form the Widget will take. You can select Cluster, Button, Knob, Slider, LED, Meter, Text, and Image.

Show Border

When you choose this option, a square border will appear around the Widget.

Show Label

When you choose this option, whatever is in the Label field will appear below the Widget.

Show Value

The current value of the Widget will be displayed above the Widget when this option is chosen.

Automate in Track

When selecting this option the Widget actions can be recorded to the selected track when the Record Button is selected from the Panel view.

Direct To Port

When this option is selected the information generated by the widget is sent directly out the MIDI Port; no data is recorded to a track. This is useful for MMC (MIDI Machine Control) commands.

Placement

Use this to determine the location of the widget on an X-Y grid. This section also controls the Width and Height.

X

Determines the Left to Right or horizontal position of the widget in relation to the Master Cluster and not the Cluster the widget is located in.

Y

Determines the Up-Down or Vertical position of the widget in relation to the Master Cluster and not the Cluster the widget is located in.

Width

Determines how wide the widget will be.

Height

Determines how tall the widget will be.

Range

Use this to set the Min and Max values that the widget can send and receive.

Min

Min sets the value that a widget sends and receives at its start position. For example, a knob is at its start position when it is rotated fully counter-clockwise.

Max

Max sets the value that a widget sends and receives at its end position. For example, a knob is at its end position when it is rotated fully clockwise.

Initial

Determines the default or starting position for the widget when you open the StudioWare view.

Spring Loaded

Checking this causes  the widget to "jump" back to its Initial value when you release it.

Action Fields

The Action fields control the MIDI event kind and its parameters associated with the widget.

Primary Action

The widget can transmit data of any legal value except for zero (usually the MIN value.)

Kind

Use this to select which type of data the widget  will send and receive.

Return Action at Minimum Value

This is the Return to Minimum Action. When the widget is at the minimum value you can set another type of Data to be transmitted; or, select Same As Above and transmit what the Primary Action is sending.

Kind

Use this to select which type of data the widget  will send and receive for the Return Action at Minimum Value..

See Also:

Widget Messages

Use Mode

Design Mode

Formulas


Controllers and Note events, (Faders view)

Sliders, knobs, and buttons transmit Controller events as you move them.

Sliders and knobs also have a "preview" feature.  Move the cursor directly over the slider's black slot or inside a knob's circle.  The value will temporarily change to show you what value would take effect if you clicked.  This is handy for making instant jumps without generating lots of events with values in between the old and new positions.

Buttons can transmit Note On and Off events (among other event kinds.)  Some automated mixing consoles respond to these by muting and unmuting mixer channels.


Taking a snapshot of widget positions (Panel view)

When you have arranged the widgets the way you want, you can take a snapshot of their positions by pressing the camera button [image].  This inserts an event capturing the position of each widget into each widget's track, at the current time.  (If the current time is the beginning, 1:1:0, then widgets for Volume or Pan will change their tracks' corresponding Volume or Pan parameter instead of inserting an event.)This only works for widgets that send their events to tracks, and not directly to MIDI ports.

Tip: When you are using the Panel view to create snapshots, remove the check from the Update option.  Otherwise, as you move through your song, the widgets may change to show you the values at the various times.   That is undesirable if you are trying to set the widget positions, listen to the settings during playback, then create a snapshot -- because the widget positions may change during playback if Update is enabled.


Recording widgets movements (Panel view)

You can record your widget movements into tracks.  To do so, click the Record button in the StudioWare view.  Start playback.  Now, when you click on a widget, recording starts.  As you drag the widget, each position is recorded into the track as a controller event.  When you release the widget, recording stops.  (Playback continues, so that you may later click to record another series of widget movements.) This only works for widgets that send their events to tracks, and not directly to MIDI ports.

If the widget is part of a Group, then all of the other widgets in the group will move and be recorded, too.

This recording works in a special "punch-in" mode: Controllers of that kind will be muted in the widget's track, and replaced by the new controllers you record.  (Other kinds of events in the track are not muted or replaced, so it's safe to mix controller events and notes in the same track.)  You can click on as many widgets as you want; each one will be a separate recording segment for each widget's destination track.

See Also:

Panel view

Use Mode

Design Mode


Groups (Panel view)

Each widget may belong to a group. Each group may contain any number of widgets.  Clicking on any widget that is part of a group will move all of the widget in that group.

Grouping widgets in Design mode

While you're in Design mode, select all the widgets that you want to group. Right-click on any one of them, and choose the Group command. To remove a widget from the group, right-click on the widget and choose Group again.

Grouping widgets in Use mode

You can group and ungroup widgets while in Use mode. Hold down the Ctrl key and click on widgets to add them to a group. Hold Ctrl and click on any grouped widget to remove it from the group.

Group ranges

Each grouped widget has a group range.  The group range determines how the widget moves in relation to other widgets in a group.  As you move one widget through its range, the position of each other widget in the group is "interpolated" based on the ranges.  By setting the group range for each widget, you may construct a variety of interesting relationships between the widgets in a group (see Group Examples).

When you first add a widget to a group, its group range is set for you automatically:

•	The minimum is set to zero.

•	The maximum is set to whatever is required to produce the widget's current position relative to the rest of the group.

In other words, when you add a widget to a group, its group range is set to retain the current position, and arrive at zero with the rest of the group.  If you are working with volumes, that is probably exactly the relationship you want, and you may never need to adjust the group range.

To adjust a widget's group range

Use the SHIFT key to click and drag the widget to a new position.  Its group range will be recalculated, so that the widget will be in that position whenever the group is at its current position.  Whether its minimum or maximum position is set depends on whether the entire group is closer to its minimum or maximum.

To set a widget to move in the opposite direction

1.	Move the whole group to its maximum position (for example, the highest slider is 127).

2.	Hold the SHIFT key and click to drag the widget to your desired minimum position (for example, 0).

3.	Move the whole group to its minimum position (for example, the lowest slider is 0).  Use another widget to do this, not the widget whose range you are setting. At this point, the widget may not move at all, because its range may be restricted to a single value.

4.	Hold the SHIFT key and click to drag the widget to your desired maximum position (for example, 127).

As a result, this widget will move in a direction opposite of the rest of the group.  When the group is at its maximum position, this widget will be at its minimum.

See Also:

Panel view

Group Examples

Design Mode

Radio Groups


Group Examples (Panel view)

Following are some examples of interesting widget relationships.  For simplicity, the examples involve a group containing only two widgets.

• Fixed offsets.  The ranges may be offset.

Min	Max
Widget #1	0	63
Widget #2	64	127

As you move widget #1 from 0 through 63, widget #2 moves from 64 through 127.

• Fade-outs and fade-ins.  Widgets may have different maximum values, but if their minimum values are set to be zero, they will all approach zero and arrive there at the same time.  Similarly, you may drag them all to zero, then drag them up to the maximum levels -- they will all approach their maximum values and arrive there at the same time.

Min	Max
Widget #1	0	127
Widget #2	0	100

As you move widget #1 down from 127 to 0, widget #2 moves down from 100 to 0.

• Crossfades.  The Minimum value may be greater than the Maximum value.

Min	Max
Widget #1	0	127
Widget #2	127	0

As you may widget #1, widget #2 moves in the opposite direction.

See Also:

Panel view

Design Mode

Radio Groups


Radio Groups (Panel view)

Radio groups are commonly used for sets of buttons where only one is allowed to be pressed at any given time, although other uses are possible.  To create a Radio group, enter Use mode and move all widgets to their "reset" position.  Then enter Design mode and select all widgets in the intended radio group.  Right-click on any widget in the group, and select the Radio Group command.  When you re-enter Use mode, manipulating any member of the radio group will move all other members to their "reset" positions.

A widget may belong to both a Group and a Radio Group at the same time.  To remove a widget from a Group or Radio Group, select it alone and issue the Group or Radio Group command.

See Also:

Panel view

Design Mode

Groups


Fader templates and StudioWare Panels (Panel view)

As you may have noticed, Cakewalk StudioWare is similar to the Faders view from Cakewalk 5.0. StudioWare goes far beyond the Faders view, which was mostly limited to Controller number changes. StudioWare gives you even greater control over products like the Yamaha ProMix 01 and the Roland VS-880, and lets you send more kinds of data, including Sysx and MCI commands. Though you cannot directly convert any old Faders templates into StudioWare Panels, we are offering new StudioWare versions of the Faders view templates we used to supply.

If you want to quickly call up a set of controls for mixing your song, select one or more tracks and choose the View | New | Panel command. This automatically creates a default Panel similar to the old Faders view, with one fader group for each selected track.

See Also:

Saving a Panel


Widgets and MIDI tracks (Panel view)

A  widget can be connected to a track.  A track is assigned to a Port and Channel.  Each Port/Channel has an Instrument definition assigned to it.  The Instrument definition provides information about the Controller names the instrument uses.

Example: You are using an XYZ synthesizer.  You have connected it to Port 1 and set it to respond to Channel 16.

(1)	Use the Instruments command to assign the "XYZ" instrument definition to Port 1/Channel 16.  You only need to do this once and it will remain set up for the future.

(2)	Now, create a track and set it to Port 1, Channel 16.


Panel view use mode
Use Mode (Panel view)

When the Design button is up, you are in "Use" mode. Any mouse manipulation of the Panel widgets will generate MIDI data that you can record into tracks or send to MIDI ports.  You can switch back and forth between Design mode and Use mode as often as you want by clicking the Design button.

See Also:

Panel view

Design Mode


Panel view design mode
Design Mode (Panel view)

Press the Design button at the top of the Panel view to modify the Panel layout.  The tool buttons to the right of the Design button, active only in Design mode, allow you to insert new controls or modify existing ones:

Snap

Snap allows you to control the alignment grid that is used for moving and sizing widgets with the mouse.  When Snap is off, you can place widgets at any pixel location.  When snap is on, widgets can only be placed at multiples of the snap resolution.  This makes it easier to lay out consistent panel designs by hand.

To change the spacing of the snap grid, right-click on the Snap button to get the Snap To Grid dialog.

Note:  The snap settings only affect mouse edit operations.  The "fine-placement" arrow keystrokes always operate in one-pixel increments.

Selection tool

Use the Selection tool to select the widgets that you want to edit.  Each selected control has a rectangular frame drawn around it that can be dragged to change the widget's size.  Dragging inside the frame moves the selected widget (or copies them if the Shift or Control key is held when they are dropped.)

Insertion  tools

The insertion tools allow you to insert new widget controls into a Panel.  Each tool  is for inserting a different style of widget. When you select a tool, the first mouse click will insert a new widget at the click point; the cursor will then change to let you move or resize the new widget.  The Panel will move widgets to prevent them from overlapping one another, and to ensure that "parent" clusters always fully contain all of their "children."

Cluster

Clusters are containers for other Widget types.

Button

Buttons are widgets that have an on/off  position.  Set the Max  value to the on  position and the Min value to the off position.

Knob

Knobs are widgets that emulate the movement of a rotary knob.  Knobs can be used for Continuous Controller data entry.

Slider

Sliders can be used to emulate faders or for Continuous Controller data entry.

LEDs

LED's can be used to display the on off position of other widgets or to represent data input via an Alias.

Meters

Meter's are used to graphically display either incoming data or positional data from other widgets via an Alias.

Text

The Text widget is designed to display text-based information, which can be either a label or a numeric value.

Image

You can add an Image widget to a Panel. In Design Mode click on the widget which will bring up the Widget Inspector Menu and select Foreground Bitmap. Then select the *.bmp or *.dib file you wish to use in your StudioWare Panel.

See Also:

Panel view

Use Mode

Widget Inspector Menu

Widget Properties

Widget Messages

Using a text widget

Inserting a Bitmap


Using a text widget(Panel view)

There are three ways that you can use this widget type:

If you provide a Label, but no Alias, the Text widget will display the label text.

If you provide an Alias but no Label, the value of the Alias will be displayed.

If you provide both a Label and an Alias, the Label text will be used to format the Alias' quantity for display.  This allows you to combine text with the numeric value and control the spacing and presentation of the value.  Several typical examples follow.  (The sample output below assumes that the Alias has the value of 23 decimal.  Quotation marks have been added for clarity, but should not be entered into the Label definition field.)

Label	Display

"%d"	"23"

"Volume = %d"	"Volume = 23"

"Device ID = 0x%02X"	"Device ID = 0x17"

"I have %05d widgets!"	"I have 00023 widgets!"


Inserting a Bitmap onto a widget (Panel view)

You can import your own bitmap artwork to customize the  appearance of your StudioWare Panels.  To do so, enter Design mode and select one or more widgets which are to have the same visual appearance.  (It is most efficient if you select all widgets which are to share a bitmap at once and perform a single import operation for all, even if the widgets are different sizes.)  Right-click on one of the selected widgets, and choose Foreground Bitmap or Background Bitmap from the menu.  Select the desired .BMP or .DIB file and hit O.K.

The various widget styles use the foreground and background bitmaps differently:

	Foreground	Background
Cluster	unused	Wallpaper for entire cluster.
Button	Button in "down" position stretched.	Button in "up" position, stretched to fill button.
Knob	Knob pointer, drawn at original scale.	Knob image, stretched to fill rectangular area.
Slider	Slider "thumb", aspect ratio preserved	Slider background, stretched to fill.
LED	Indicator when "on"	Indicator when "off"
Meter	Portion of meter which is "lit"	Portion of meter which is "dark", stretched
Text	unused	unused
Image	Displayed image, stretched to fill.	unused
Note: Some images stretch to fill the available area, while others maintain their original size or aspect ratio as noted.  In most foreground bitmaps, the upper-left pixel is transparent, to let you create non-rectangular images.  If you need to create a rectangular transparent bitmap, add an additional top row or left column of transparent pixels to the image.


Panel view formulas
Formulas (Panel view)

Expressions and formulas are written in a syntax that is loosely borrowed from the C programming language.  They can be used to perform calculations, make decisions, and pack and unpack data values in MIDI messages.  The following operators are currently defined:

Symbol	Meaning
+	addition
-	subtraction
*	multiplication
/	division
%	modulus
&	bitwise AND
|	bitwise OR
~	bitwise exclusive OR (XOR)
( )	parentheses for controlling the order of evaluation
? :	conditional operator
==	equality
!=	inequality
<	less than
<=	less than or equal to
>	greater than
>=	greater than or equal to
Formula Example	Meaning
x = y	Alias x is assigned the value of alias y whenever the value of alias y changes.
x = y + 2 * z	Alias x is assigned the value of alias y plus 2 times the value of alias z whenever either y or z changes.
x = (y + 2) * z	Alias x is assigned the value of alias y plus 2, then multiplied by the value of alias z whenever either y or z changes.
x = y | z	Alias x is assigned the value of alias y bitwise ORed with the value of alias z whenever either y or z changes.  If y==$F0 and z==$0F, then x is set to $FF.
See Also:

Simple Alias

Calculated Expression

Assignment


Simple Alias (Panel view)

In the Alias field, you can enter a simple name that represents the numeric value of the widget at all times.  Moving the widget causes the alias to take on the new value immediately, and if the alias value changes for some other reason, the widget will automatically update to the new position and transmit/record fresh MIDI data.  This makes a "two-way" connection between the widget and the rest of the system, because data values can flow both into and out of the widget.  If two widgets have the same alias, they will always have the same value as well.

See Also:

Calculated Expression

Assignment


Calculated Expression (Panel view)

This is a computational expression that can refer to other aliases, e.g., "VocalLevel + 18."  This allows one widget to take on a value that is determined by (but not necessarily identical to) the value of one or more other widgets.  But because an expression cannot generally be inverted, this form defines a "one-way" relationship between the other aliases and the widget.  This means that manipulating the widget will have no effect on any aliases or other widgets, a behavior that is vital for constructing certain kinds of Panel systems.

See Also:

Simple Alias

Assignment


Assignment (Panel view)

This is a combination of a simple alias and compact expression It is formed as an alias followed by an equals sign "=", followed by an expression.  The alias behaves like a normal "two-way" alias, but if the value of the expression ever changes, the alias and the widget will both take on the new value immediately.   This provides a "two-way" connection between the widget and the alias, and a "one-way" relationship from any aliases referenced in the expression to the widget alias.

See Also:

Simple Alias

Assignment


Widget messages
Widget Messages (Panel view)

None - The widget will not transmit any data, but will still send and respond to Alias information.

Key - The widget will transmit and receive MIDI Key information. You can select what Key and at what Velocity  the note will be sent.

Controller - The widget will transmit and receive Continuous Controller information. You can select what  Controller number and value is transmitted. You can use an Alias to represent the position of the widget as the value for the Controller.

Patch Change - The widget will transmit and receive Patch Change information. The Bank and Patch list are derived from the Instrument Definition that is tied to the track that the Widget is using.

Pitch Wheel - The widget will transmit and receive Pitch Wheel information. The Amount can be a fixed value or variable in relation to the widget position via an Alias.

Key Aftertouch - The widget will transmit and receive Key Aftertouch information. The Key and Pressure can be fixed values or variable in relation to the widget position via an Alias.

Channel Aftertouch - The widget will transmit and receive Channel Aftertouch information. The Pressure  can be a fixed value or variable in relation to the widget position via an Alias.

RPN (Registered Parameter Number) - The widget will transmit and receive RPN information. The Number and Value  can be fixed or variable in relation to the widget position via an Alias.

NRPN (Non-Registered Parameter Number) - The widget will transmit and receive NRPN information. The Number and Value  can be fixed or variable in relation to the widget position via an Alias.

SYSX Bank - The widget will transmit a System Exclusive Bank of 255 bytes or less. The Number can either be an Alias or a non-blank bank number from the SYSX View.

SYSX Data - The widget will transmit and receive SYSX information. The information must be denoted as hex using the "$" format. If this format is not used the Panel will treat the value as decimal. You can include an Alias in place of one of the values of the SYSX data. (See also:Advanced use of SYSX)

MCI (Media Control Interface) Command -  Widgets can trigger an MCI (Media Control Interface) Command. Set the Action Kind to MCI Command.  Then enter the text of the desired MCI command string into the edit field to the right.  The MCI command will be issued whenever the widget is manipulated.

Binding - This Action will trigger a Cakewalk Key Binding. Binding verbs let the widget directly trigger any Cakewalk command or respond to open dialog boxes. This is useful for live use if you wish to automate switching Views during the playback of a sequence.

CAL (Cakewalk Application Language) - To make a widget run a CAL program, set the Action Kind to CAL Program, and type a short program into the edit field to the right.  The program will be executed whenever the widget control is manipulated.  You may find it easier to edit and test the program in the CAL view, and then use Ctrl + Insert and Shift + Insert to copy the program text into the Widget Properties dialog.

Note:	The text of the CAL program can be up to 32768 characters long.

See Also:

Glossary


Advanced Use of SYSX (Panel view)

You can now create widgets that generate and respond to system exclusive messages among other event types.  The Panel view now allows sysx message templates to be defined which tell Cakewalk how to package data values into a sysx message for transmission or recording, and also how to extract data values from an incoming or previously-recorded sysx message.

If you specify "Sysx Data" as a widget's Action Kind, you are provided with an edit field which accepts the hex bytes of the sysx message that should be transmitted when the widget is manipulated.  You can also enter a simple alias or a more complex expression in place of any byte in this sysx message. (See Panel View Formulas, above, for more details about aliases and expressions.)  When the message is transmitted or recorded, the current value of the alias or expression will be inserted into that byte slot in the message. You must type "$" or  "0x" in front of any hex byte (eg., "0xF0") so that it won't be interpreted as an alias name by Cakewalk.  A number without a leading "$" or "0x" is assumed to be decimal, so "10" is ten, but "$10" is sixteen. (See Also: SYSX Example)


SYSX Example (Panel view)

You could create a MIDI Machine Control Play/Stop button as follows:  In Panel Design mode, insert a new button.  Right-click on the button to edit its properties.  Set Alias to "MMCPlay".  Set both Range Min and Range Initial to "1" (The MMC command value for "Stop") and set Range Max to "3" (the MMC command value for "Deferred Play".  Set the Action Kind to "SysxData", and enter the following text into the Data field that appears (without the quotes but with the trailing space):  "0xF0 0x7F 0x7F 0x06 MMCPlay 0xF7 ".  You might also want to set the widget's  Label to "Play".  Click OK to accept these changes to the widget's properties, and then switch back out of Design mode into Use mode.  Now, pressing the button will transmit an MMC Play command "0xF0 0x7F 0x7F 0x06 0x03 0xF7", and pressing it again will transmit an MMC Stop command "0xF0 0x7F 0x7F 0x06 0x01 0xF7".  If a sysx message of the form "0xF0 0x7F 0x7F 0x06 xx 0xF7" is encountered, where "xx" is any byte value, then the alias MMCPlay will take on the new value contained in the "xx" byte, which will also set the state of the Play button appropriately. Furthermore, the state of the button (up or down) will be available to any other widgets in the Panel through the alias "MMCPlay".


Widget Inspector Menu (Panel view)

When in Design Mode you can right-click on a widget to bring up the Widget Inspector Menu. This menu gives you the following commands:

Properties - Choosing this brings up the Widget Properties Dialog Box.

Group - You can group widgets together to maintain relative mixing levels or perform crossfades.  In Use mode, these widgets will move as a group.

Radio Group - Radio groups are commonly used for sets of buttons where only one is allowed to be pressed at any given time, although other uses are possible.

Bring to Top - Allows you to set a widget to always appear on top of another widget or Cluster.

Send to Bottom - Allows you to set a widget to always appear below another widget or Cluster.

Foreground Bitmap - Choosing this option brings up a dialog box that will allow you to select a *.BMP file.

Foreground Color - Selecting this option will bring up a color palette from which you can choose the Foreground Color of your widget.

Background Bitmap - Choosing this option brings up a dialog box that will allow you to select a *.BMP file.

Background Color - Selecting this option will bring up a color palette from which you can choose the Background Color of your widget.

Delete - Allows you to Delete the selected widget(s).

See Also:

Design Mode


Saving A Panel (Panel view)

Once you have designed your new Panel, you can save it by saving your song as a "Normal" .WRK file. The Panel will be displayed whenever you reload that song.  You can also save a Panel view as part of a named View Layout. This will let you use the View | Layouts command to open the Panel and use it with any workfile. To do this, click the Save button.   A dialog box appears, letting you provide a name and password for your Panel. The next time you press the Save or Design buttons, you will be prompted to enter the password. If you enter the correct password, you won't be prompted again as long as the panel is open. If you enter the wrong password, you will not be able to save the Panel or enter Design mode.

If you have changed a StudioWare Panel in Design mode, and you try to close the StudioWare view without saving it first, you will see a warning. Click Cancel and click the Save button to save the Panel, or click OK to discard the Panel.

If you save a workfile, any open Panels will be saved as part of the workfile. Note that if you want the Panels to be open when you reload the song file, you must check "When Opening a File, Load its Layout" under View | Layouts.


Audio tracks (Panel view)

When you select one or more tracks playing on audio ports and choose View | New | Panel, the Panel is different than it is for a MIDI track. You get an Arm button and send and return level controls for Effects Loop 1. This makes it easier to work with real-time audio effects that you have set up in that Effects Loop in the Effects view.

Arm button

Audio tracks have an Arm button instead of the Chorus knob supplied for MIDI tracks. This kind of button will be familiar to anyone who uses multitrack recording gear  the button lets you arm (record enable) or disarm (record disable) the track. Having an Arm button is especially useful for audio tracks, as opposed to MIDI tracks, because you often need to arm multiple audio tracks at once.

Note that on a generic Windows sound card, you can only arm two tracks at a time, because there are only two input channels available. If you try to arm a third track, Cakewalk will automatically disarm some other track. Odd-numbered tracks are always armed for the left channel, and even-numbered tracks are armed for the right channel.

Send knob

Panels for audio tracks also have a Send knob instead of the Reverb knob supplied for MIDI tracks. The Send knob is assigned to Controller 91, channel 1 (i.e., the send level out to Effects Loop 1.) So if you've put effects in Effects Loop 1 in the Effects view, the Send knob is a quick and easy way to control the send level.

Return cluster

Any Panel containing at least one audio track has an extra "Return" cluster. The Return cluster controls the volume and pan of the return level coming in from Effects Loop 1. In other words, the Return cluster's Pan knob has been assigned to Controller 93, channel 1, and its Volume fader has been assigned to Controller 92, channel 1. Just as with send levels, these controls make it easy to control and automate effects return levels.

See Also:

Panel view

Effects view


Tempo view

Use this view to draw tempo changes.

There are several tools available:

Mode	Button	Shortcut Key
Select		S
Draw		D
Line		L
Erase		E

  Use Selection mode.

Tip: If you do this to prepare for using the Copy or Cut commands, remember to check Tempo Changes in the dialog box, and possibly remove the check from the Track Events and Meter Changes options.  These commands can work on any or all of these.

  Use Draw mode to draw new events of the type and MIDI channel you have selected.  Any existing events of that type are replaced by what you draw.

  Use Straight-line mode to draw straight lines more easily.  Click and drag to draw the line.

  Use Erase mode to erase events.  Drag over the events you wish to erase.

Stretch Audio

When this button is down, all audio in the song will shrink or stretch immediately after any gesture with the Line Draw, Free Draw and Erase tools.

See Also:

View Menu


Meter/Key view

Meter and key signature changes can occur only on measure boundaries.  You can insert, delete, or change any entry in the meter/key map.  The map always has at least one entry, for measure 1, because there must always be some meter and key signature.

Meters

The meter describes how to divide time.  You pick the number of beats per measure, and the value of each beat.

Key signatures

The key signature controls how Cakewalk displays notes.

In the Event List view and some dialog boxes, Cakewalk converts the MIDI pitch number to labels like "C#2", or the C-sharp in the 2nd octave.  (Octave 0 corresponds to MIDI pitch number 0, Octave 1 to pitch number 12, and so on.  You can change this through the BaseOctave variable in the Cakewalk initialization file).

And of course the Staff view  needs to know the key signature.

Changing the key signature only changes how Cakewalk displays notes.  To actually transpose pitches, use the Transpose command.

See Also:

View Menu


Play List view

Use the Play List view to build a list of up to 128 songs.  While one song is playing the next song is pre-loaded from disk, so that it's ready to start without delay when the first one finishes.  Song files may be either Cakewalk files (*.WRK) or Standard MIDI Files (*.MID, *.MFF).

Be sure to check the On item if you want playback to follow the list.  Otherwise, Cakewalk will play the current song -- which appears in the caption of the main Cakewalk window.

Changes to songs are not saved

If you make any changes to a song while the play list is On, you will not be asked if you want to save the changes.  The play list is designed for live performance and will not interrupt list playback to ask this question.  Also, this enables you to make temporary changes to a song while it's playing back for a particular performance, without worrying about changing the actual song file.

For example, you may save a song with a certain section set to Auto Shuttle.  This section may be for an open-ended solo or dancing.  The song will repeat that section indefinitely, until you press the Loop button to turn off Auto Shuttle.  Then the song continues on past the section to finish.  Even though the song is changed, you don't want to save the song with looping turned off, and you don't want Cakewalk even to bother asking you about this.  You want to know the original song file is unchanged, ready for your next performance.

Other options

You may set an initial Delay for each song.  The delay may be for a number of seconds or be a pause until you press a key to begin the song.

While one song is playing, you may stop it and immediately advance to the next song by pressing the Next button.

You may cause Cakewalk to move to a different spot in the list by double-clicking on a particular song.  Whatever song was already loaded and standing by (marked "READY") will be discarded, and the song on which you double-clicked will become the next song instead.  If playback is not underway, then double-clicking simply loads that song as the current song.  You may use the rest of Cakewalk to edit the song.

In addition to using Add and Delete to change the list, you may drag and drop songs to different places in the list:

To move a song to a new position, click and drag it.
To copy a song to a new position, hold the CONTROL key while you click and drag.

See Also:

View Menu


Big Time view

Use this to display a window with the current time in a large font for high visibility.

To Change the Time Format

Point anywhere in the window and click the left mouse button.  The format will change between musical (Measure:Beat:Tick) and SMPTE/MTC (Hours:Minutes:Seconds:Frames) formats.

To Change the Font

Point anywhere in the window and click the right mouse button.  Enter the name, size, and color of the font.  Other font attributes in this standard Choose Font dialog box are ignored.

See Also:

View Menu


Auto Activate
Auto Activate (View | Options menu)

Normally you activate windows by clicking on them.  With this option enabled, you don't have to click: merely moving the mouse cursor over any window activates it.

You may want to turn off Auto Activate if you don't like this behavior, or if your machine is too slow redrawing the windows as they're activated.  If you are using Windows utility software that already provides auto activation ("floating windows") you will also want to add the line WinEat1stClick=0 to the Cakewalk initialization file.  You may want to put it below the line "WinAutoActivate=<0 or 1>", which is how Cakewalk stores your preference for Auto Activate being off or on.

See Also:

View Menu


DOS F6 View Keys
DOS F6 View Keys (View | Options menu)

This option is intended for people familiar with Cakewalk for DOS.  It makes the F6 keystrokes act like they do in Cakewalk in DOS.  (This emulation isn't perfect because Cakewalk for Windows has more kinds of "views" and many of them can be visible at once.)

Keystroke	Action
F6	If the active window is an Event list or Piano Roll window, it is closed. Activates the parameters pane ("Track View") of the Track view (the "Track View" and "Measure View" are combined in Cakewalk for Windows).
SHIFT+F6	If the active window is an Event list or Piano Roll window, it is closed. Activates the clips pane ("Measure View") of the Track view (the "Track View" and "Measure View" are combined in Cakewalk for Windows).
CTRL+F6	Opens an Event list window ("Event View"), or, if one is already open, activates it.
ALT+F6	Opens a Piano Roll window ("Note View"), or, if one is already open, activates it.
___
* Normally in Windows programs, CTRL+F6 takes you to the next window in an application.  That standard meaning is ignored when this option is enabled.

See Also:

View Menu


Layouts

You can load and save window layouts so that Cakewalk Pro Audio looks the way you want each time you start it. Window layouts consist of currently open window positions and the tracks (if any) that each window shows. Every time you save a Cakewalk .WRK file, all layouts are saved too. Your songs can all use the same layouts, or use different ones.

When you save a StudioWare Panel, it will also appear as a layout in this dialog box.

Adding and loading layouts

To add a new layout, just arrange your windows as desired. Choose View | Layouts, and click Add. Type a name for the layout, then click OK. The Window Layouts list will grow each time you add a new layout. Whenever you want to apply one of your layouts to a view, hIghlight the layout you want in the list, and click Load.

Replacing, renaming, and deleting layouts

If you change an open layout that already exists, and you want to replace the original layout, just choose View | Layouts and highlight its name in the list. Click Add, then click OK without changing its name. You will be asked if you want to replace it, and you can click Yes.

To rename a layout, highlight it and click Rename. Type in a new name and click OK.

To delete a layout, highlight it and click Delete. You can't undo this, so be sure that you really want to delete the layout.

Window Layouts options

Checking "Close Old Windows Before Loading New Ones" means that Cakewalk will close all windows that a newly loaded layout doesn't use. If you leave this unchecked, open windows will stay open when you load a new song.

Check "When Opening a File, Load its Layout" if you want Cakewalk to reset the windows and views to each file's saved layout whenever you open a workfile or a template.

See Also:

View Menu


ToolTips
ToolTips (View | Options menu)

Use this command to turn ToolTips on or off.

ToolTips are text explanations that appear when the pointer is placed over a graphical button.

See Also:

View Menu


Colors
Colors (View | Options menu)

You may choose what colors Cakewalk will use for various kinds of screen elements in many of its views.

The dialog box presents three sections.  The Screen Elements are categories of things that Cakewalk displays on the screen.  Select an element.  Then use the Use Specific Color box or the Use System Color list  to select which color you want used for that element.

You may restore all of the screen elements to their factory default settings by pressing the Default button.

There are two kinds of colors: specific colors like Black, Blue, and Red, and system colors, like "System Color: Window text" and "System Color: Button Face".  You can choose specific colors by clicking and dragging in the color box, or by entering Red, Green, and Blue values below this box. The system colors correspond to some of the colors you set using Windows Control Panel's Colors icon.  For example, out of the box, for the screen element "Window Text" Cakewalk uses the system color "System Color: Window text" .  That way, Cakewalk uses the same color for text as all of your Windows programs.

Screen Elements

Except where noted below, the views which follow this color scheme are the Track, Piano Roll, Audio, Event List, and Tempo views.  Dialog boxes and other views use their own, hardwired colors, although these usually follow the colors you've set for those kinds of screen elements as defined by Windows in Control Panel.

Tip: Don't set any other screen element to the same color as that used by "Window Background", or you'll make the screen element invisible!

Screen element	Explanation
Window Background	Background color for the whole window
Window Text	Text color
Rules	Rules (lines used to mark values or time)
Major Rules	Major lines (lines used to mark larger intervals of values or time)
Values	Color of notes and velocities in Piano Roll view, Controllers in Piano Roll view, and tempo changes in Tempo view
Drawing	Color used to show your drawing in Piano Roll and Tempo views
Erasing	Color used to show your erasing in Piano Roll, Controllers, and Tempo views
Event List Note	Color of note events in Event List view
Event List KeyAft	Color of KeyAft events in Event List view
Event List Control	Color of control events in Event List view
Event List Patch	Color of patch events in Event List view
Event List ChanAft	Color of ChanAft events in Event List view
Event List Wheel	Color of wheel events in Event List view
Event List Sysx	Color of Sysx events in Event List view
Event List Special	Color of other, special events in Event List view
Note that is on	Color of currently playing notes
Events	Color of events in the Piano Roll and Audio views.
Clips playing on MIDI ports	Color of clips on tracks assigned to MIDI ports in Track view
Clips playing on Audio ports	Color of clips on tracks assigned to Audio ports in Track view
Markers	Color of markers in Track, Audio, Piano Roll, Staff, and Tempo views.
Wallpaper

You can select the wallpaper on the background of the Cakewalk main window.

You can select the default wallpaper, no wallpaper, or custom wallpaper. To select custom wallpaper, click Custom, then select a .BMP or .DIB file from the dialog box that opens.

See Also:

View Menu


Insert menu

Commands on the insert menu let you insert things into your song.

Bank/Patch Change	Insert a Bank/Patch change.

Wave File	Insert a digital audio .WAV file.

Tempo Change	Insert a Tempo change.

Meter/Key Change	Insert a Meter/Key change.

Marker	Insert a Marker.

Series of Controllers	Insert a series of controller events.

Series of Tempos	Insert a series of Tempo changes.


Insert Bank/Patch
Bank/Patch (Insert menu)

Use this command to add a Bank/Patch change to the current track at the current time.  This is a shortcut for inserting the event in a track using the Event List view.  After you insert an event, you may change or delete it using the Event List view.

Note: If the current time is the beginning of your song -- 1:1:0 -- then this command will change the current track's Bank and Patch parameters.  Using these track parameters is better than inserting an event at 1:1:0.  Cakewalk sends the parameters before playback begins.  This gives your instruments more time to respond and have the desired sound ready.

See Also:

Insert Menu


Insert Wave File
Wave File (Insert menu)

Use this command to create audio event(s) from a .WAV file, and insert the events into the current track at the current time.  This is a shortcut for inserting the event in a track using the Event List view.

If the .WAV file is stereo, you have a choice of splitting the left and right channels into two separate events, or merging the left and right channels into a mono event.  If you opt for splitting the channels, then the left channel's event will be placed in the current track, and the right channel's event will be placed in the next consecutive track.

Inserting a .WAV will automatically route the track(s) to an audio destination if necessary.

See Also:

Insert Menu

Audio View


Insert Tempo
Tempo (Insert menu)

Use this command to modify the most recent tempo change, or, to insert a brand new tempo at a specified time.

To modify the most recent tempo change

(1) Specify the tempo you want.  Either:

(a) Type a value in the Tempo field

- or -

(b) Click the Click here to tap tempo item at the desired rate.

(2) Choose Change the Most Recent Tempo.

(3) Press OK.

To insert a brand new tempo change

(1) Specify the tempo you want.  Either:

(a) Type a value in the Tempo field

- or -

(b) Click the Click here to tap tempo item at the desired rate.

(2) Choose Insert a New Tempo.

(3) Type a time for it to occur in the Starting at Time item.

(4) Press OK.

You can also create tempo changes by drawing in the Tempo view.  The Insert Series of Tempos command is a way to insert a whole series of tempos, for example, an accelerando or ritard.

See Also:

Insert Menu


Insert Meter/Key
Meter/Key (Insert menu)

Use this command to insert a single Meter/Key Signature change.

You can also add, change, and delete Meter/Key Signatures using the Meter/Key view.

See Also:

Insert Menu


Series of Controllers
Series of Controllers (Insert menu)

Use this command to insert a series of MIDI controller or pitch wheel events.  The data values can range from one value to another over time.

In the dialog box, you pick a controller type, a MIDI channel, a starting and ending value for the controller, and a starting and ending time (the size of the selection is proposed as a default).  Cakewalk inserts a series of controller events so that the value changes smoothly over time from the starting to the ending value.  Insert Series of Controllers never inserts more than one event on the same tick.  If there are any existing controllers of that type in the time region, they are deleted before the new ones are inserted.

You can also create controller changes by drawing in the Controllers view.  Drawing is more flexible: you can draw any shape, whereas Insert Series of Controllers creates only linear (straight line) changes.  However, Insert Series of Controllers can create a smooth change over a very long period of time, which might be difficult to draw by hand.

See Also:

Insert Menu


Series of Tempos
Series of Tempos (Insert menu)

Use this command to insert a series of tempo changes.

In the dialog box, you pick a starting and ending tempo, a step value, and a starting and ending time (the size of the selection is proposed as a default).  Cakewalk inserts a series of tempo changes so that the values change smoothly over time from the starting to the ending value.  Series of Tempos never inserts more than one tempo on the same tick.  If there are any existing tempo changes in the time region, they are deleted before the new ones are inserted.

You can also create tempo changes by drawing in the Tempo view.  Drawing is more flexible: you can draw any shape, whereas Series of Tempos creates only linear (straight line) changes.  However, Series of Tempos can create an even change over a very long period of time, which might be difficult for you to draw by hand.

See Also:

Insert Menu


Marker (Insert menu)

This command inserts a marker at the Now time, or at a time you choose.

Shortcuts: F11, F5 in any time field, or Ctrl+Click above time ruler in Clips pane.

This is the same as opening the Markers view and pressing Add. The default insertion point is at the Now marker, but you can enter a new measure:beat:tick value. You can even press F5 in the time field to pick an existing marker as the insertion point. You won't replace the old marker; you'll just put a new one on top of it.

If you define a MIDI key binding for Insert | Marker, you can drop markers on-the-fly in any view from your MIDI controller.

See Also:

Insert Menu

Markers view


Tempo Ratio

Use this command to control the current tempo ratio.

The tempo ratios are values by which the base tempo is multiplied during playback.  For example, a ratio of 0.50 makes the real tempo one-half the base tempo, while a ratio of 2.00 makes it twice as fast.  The ratios do not change  the shape of the underlying tempo graph; they affect all the changes by the same ratio.

Tip: Use the three tempo ratios for a "slow," "normal," and "fast forward" facility.  The default ratio values are set for that use.

Note: Tempo ratios have no effect during SMPTE\MTC sync because the "real" tempo values are used for tick-to-frame conversions.  Similarly, tempo ratios have no effect when the clock source is MIDI Sync.

Shortcut
Keys:	Ctrl+1, Ctrl+2, Ctrl+3.

See Also:

View Menu


Snap To
Snap To Grid

The Snap To Grid button lets you pick a round-off amount for start times and durations.  When you move or copy a selection using drag and drop, the start time of the entire selection is rounded to the nearest Snap To Grid duration.

In the Snap To Grid dialog box, select the note resolution and click OK.  You can choose from the predetermined note resolution or enter a numeric value between 1 and the whole-note tick resolution.


MIDI Activity
MIDI Activity (View menu)

Cakewalk provides an optional MIDI activity monitor which is displayed on the Windows 95 task bar.  Use this command to enable or disable this feature.

The display is an image of a keyboard with two tiny light bulbs:

•  The left bulb lights up whenever MIDI data is being received.

•  The right bulb lights up whenever MIDI data is being sent.

This activity pertains only to MIDI ports which are currently open by Cakewalk.  To change these ports, choose the MIDI Devices command on the Settings menu.

See Also:

View Menu


Effects view
Effects (View menu)

Effects view lets you add real-time audio effects to your audio tracks.

The left pane shows the Effects Loops and Track Inserts. These give you different ways of playing tracks through Cakewalk Pro Audio's effects.

The right pane contains a list of all effects currently on your system. These include the six standard Cakewalk Pro Audio effects, plus any effects included with your hardware or software.

Important notes

You need to have Microsoft ActiveMovie installed on your computer for any of the ActiveMovie audio effects to work. You also need a computer with a 100 MHz Pentium or higher to properly use any real-time effects. We recommend a 133 MHz Pentium or higher for optimal performance.

Make sure that the Channel property in Track View is set to none (--) on all audio tracks that you play through the effects. If you set a MIDI channel for an audio track, Cakewalk Pro Audio won't be able to control the effects properly. This is because Cakewalk sends controller messages over several MIDI channels on the same track.

See Also:

Working in the Effects view window

Support for effects

Effects Loop

Track Insert

Customizing effects parameters

View Menu


Working in the Effects view window

The effects view window has two panes, each containing folders that open to reveal trees of effects, loops, and inserts. These folders and trees open and close just like the ones in your Windows 95 directories.

Double-click on the Effects Loop folder or Track Insert folder to open it. Then drag effects from the right pane and drop them onto a loop or insert in the left pane. You can move effects around in the left trees by dragging and dropping them. To remove an effect from the left pane, select it and press Delete.

You can use the right-button Inspector menu in either pane to collapse or expand the trees. In the left pane, the menu lets you open Properties for an effect or Effects Loop, and lets you delete effects. You can also double-click on Effects Loops and effects in the left pane to bring up their properties.

Effects Loops behave just as they do on a real mixing console; every track has a mono effects send level, and each Effects Loop's output comes back as a pannable stereo return. Track Inserts are just like a mixing console's channel inserts, allowing you to put effects directly into a track.

You can use Effects Loops and Track Inserts separately or in combination. So you could send five or six tracks to Effects Loops, then use two or three Track Inserts for adding specialized effects to certain tracks.

Each Effect Loop or Track Insert can contain as many effects as your computer and hard drive can handle. Some effects (such as 2-band EQ) require less processing, while others (such as Reverb) will almost completely bog down all but the fastest systems.

Cakewalk Pro Audio 6.0 comes with six ActiveMovie audio effects: Delay/Echo, Chorus, Flange, Time/Pitch Stretch, Reverb, and Two-band EQ.

Note: 2-band EQ is the only EQ you can use in real time. You can apply Parametric EQ or Graphic EQ commands off-line if you need more frequency bands or a higher quality of equalization. See the "Audio Editing Commands" chapter for more.

See Also:

Effects view

Support for effects

Customizing effects parameters

View Menu


Support for effects

Your hardware determines what effects you can use. The Effects view window will only display those effects supported by your hardware. The table below shows which effects are currently supported by different devices.

Hardware	Effects you can use in Effects view
Sound card	All ActiveMovie audio effects installed on your computer
Session 8	Session 8 EQ plug-in
Audiomedia III	Audiomedia III EQ plug-in
Digital Audio Labs V8	V8 custom plug-ins
Soundscape HDR1	No effects currently supported
Session 8 and Audiomedia III users

You no longer need to go to Settings | Audio to configure your EQ. Simply bring up the Effects view, and drag and drop the EQs into tracks.

Note: Session 8 and Audiomedia III do not support Effects Loops, so you will only be able to use Track Inserts to add the EQ from those systems.

V8 users

You can add the V8 plug-ins to Effects Loops and Track Inserts. All effects send levels, return levels, and parameter changes take effect instantly.

See Also:

Effects view

Working in the Effects view window

Customizing effects parameters

View Menu


Effects Loop

An Effects Loop lets several tracks share a common effect, such as reverb. Start by making sure that the Effects Loop folder is open, showing the four Effects Loop returns. You then drag effects from the Effects folder, on the right side of the view, onto the returns.

You can use all four of the Effects Loops at once. You assign each Effects Loop return to a different audio channel. Then you assign groups of audio tracks to each audio channel. The audio tracks will get effects from the corresponding Effects Loops.

Each Effects Loop controls its effect by sending MIDI controller messages. These controllers include:

•	Controller 91 - Effects Send

•	Controller 92 - Effects Return

•	Controller 93 - Effects Return Pan

Controllers 91, 92, and 93 are sent to separate MIDI channels. This lets Cakewalk Pro Audio control many effects parameters on a single track. For example, Controller 91 sent on Channel 1 controls the send level to Effects Loop 1.

Effects are sent in mono, and return in stereo.

Note: These are non-standard Controller assignments. Not all MIDI instruments use these Controllers for effects.

Note: On generic windows sound cards, effect return level and return pan are handled as quickly as ordinary volume pan. However, effect send levels and parameter changes will take about 2 seconds to respond.

Properties

Double-click on an Effects Loop to see its properties.

•	Return to Audio Channel: This lets you assign the Effects Loop to an audio channel.

•	Pre-Fader and Post-Fader: You can choose whether an Effects Loop is pre- or post-fader. By default, all loops are pre-fader. Pre-Fader inserts the effect before the volume control. This lets you change the volume of the dry signal, but not the wet signal. Post-Fader inserts the effect after the volume control. This lets you change the dry and wet signals together.

See Also:

Working in the Effects view window

Support for effects

Track Insert

Customizing effects parameters

View Menu


Track Insert

A Track Insert lets you patch selected tracks directly through effects. You can have any number of tracks assigned to their own independent effects, depending on how powerful your hardware is.

Make sure that the Track Insert folder is open; you will see a Track Insert for each track that is assigned to an audio port. Now click on an effect, and drag it to the track you want. While you're in the left pane, you can double-click on any effect to change its properties.

You can drop as many effects as you like on a track, but remember that using many effects may slow your computer down. Effects like Reverb and Delay will gobble up increasing amounts of memory, and you'll eventually hear hiccups during playback. Therefore, if you're going to need effects on many tracks, you should use an Effects Loop instead; this will let the tracks share a common effect, and will reduce the strain on your computer.

See Also:

Working in the Effects view window

Support for effects

Effects Loop

Customizing effects parameters

View Menu


Customizing effects parameters (Effects view)

When you're in the left Effects view pane, double-click on any effect to bring up its Properties. You can then adjust the effect parameters; each effect property page has controls that are specific to the effect. However, all Properties pages share a Preset field and Add/Delete buttons for managing presets. Presets created in these property pages are also available in the Edit | Audio menu.

Tip: When customizing effects in an Effects Loop, set Dry Mix to 0, and Wet Mix to 100%. This lets you control the effect mix using the return level, found in the Effects Loop Properties.

See Also:

Working in the Effects view window

Support for effects

Effects Loop

Track Insert

View Menu


Realtime menu

The Realtime menu contains commands relating to recording and playback.

Play

Record

Rewind

Step Record	Record notes one step at a time

Auto Shuttle	Set rewind, stop, and restart times

Record Mode	Whether recorded material is blended with or overwrites existing material.

Reject Loop Take	Reject the last loop recording take.

Update Patch Cache	Update patches on sound cards which require "caching".

Panic	Turn off all notes, lift all pedals, and center all wheels.

Tempo Ratio	Selects one of three tempo ratios.


Play
Play (Realtime menu)

Use this command to start and stop playback.

Shortcuts
Toolbar:
Keys:	SPACEBAR

  The "panic" button on the control bar also stops playback -- plus it turns all notes off and zeroes all continuous controllers.

  The loop button on the control bar is a short-cut for selecting Auto Shuttle and checking all the options. Double-clicking this button (when it's off) calls up the full Auto Shuttle dialog.

See Also:

Realtime Menu


Record
Record (Realtime menu)

Use this command to start and stop recording.

Shortcuts
Toolbar:
Keys:	R

Anytime during playback, you may press the Record button to begin recording. You may press it again to stop recording but let playback continue.  You may repeat this indefinitely (starting and stopping recording while letting playback continue) to record multiple segments of material.

When you stop recording and playback, if anything was recorded it is automatically kept. You can change your mind using Undo and Redo.

Layered loop recording

If you have full looping set using Auto Shuttle, then you may accumulate many record takes, layering them on top of each other.

If you record anything during a loop, you will hear it play back immediately on the next loop.  Until you record something new (or until you stop recording), that is the most recent take, and you may reject it using Reject Loop Take without stopping recording.

Changing tracks while recording

With both normal and loop recording, you may switch to a new track in the Track view.  Cakewalk will place whatever you record during that segment on that track.  For example, during loop recording you may move the cursor to a new track.  All loop takes from that point on will be destined for that track.  With normal recording, you may move the cursor to a different track for each time you turn on recording.

See Also:

Auto Shuttle

Record Mode

Realtime Menu


Rewind
Rewind (Realtime menu)

Use this command to rewind to the beginning, or, to the optional Auto Shuttle rewind time.  This command also stops playback.

Shortcuts
Toolbar:
Keys:	W

See Also:

Realtime Menu


Step Record
Step Record (Realtime menu)

Use this command to record music one rhythmic step at a time.

Note that you step-record while inside the step-record dialog box.  Once you exit the dialog, you are no longer in step-record mode.

Shortcuts
Toolbar:
Keys:	SHIFT+F3

See Also:

Realtime Menu

"Step Record" in the User's Guide for details.


Auto Shuttle
Auto Shuttle (Realtime menu)

Auto Shuttle provides various options for automatically stopping, rewinding, and restarting playback under certain conditions.

Rewind To rewinds to a time you specify whenever playback or recording is stopped.

Stop At stops playback or recording at a time you specify.

Restart restarts playback whenever it is stopped -- except when you stop playback manually.  For example, it restarts if playback was stopped automatically by Stop At, if the end of the work was reached, or if you pressed the Rewind button.

Full looping

If all three options are enabled, this results in looping of all tracks between the rewind time to the stop time.  This looping may have a slight delay associated with it, especially if you have certain MIDI Out settings turned on.

If you Record with full looping, you may layer multiple takes.

Shortcuts
Toolbar:
Keys:	none

Auto Shuttle and synchronization

If the clock is set to MIDI Sync or SMPTE/MTC Sync, checking the Restart option is handy for a "chase mode": when playback stops, Cakewalk will restart, which means waiting for sync mode.  You can start and stop playback on the tape deck or drum machine and Cakewalk will follow.  (The Stop At and Rewind To are ignored when you are using synchronization.

See Also:

Realtime Menu


Record Modes
Record Mode (Realtime menu)

There are three modes available for recording.

Sound On Sound

Existing material is not erased.  The new material is blended with it.

Overwrite Mode

Existing material is erased.

Auto Punch

Auto Punch is a form of overwrite mode where you specify the times to start and stop recording.  Use this when you want to be careful that you record new material only within a specified time range, and when you want the new material to overwrite the existing material.

Once you have set the Punch In Time and Punch Out Time, you are ready to begin recording:

Press the Record button [image] on the Control bar.

(1) Cakewalk deletes any existing material between the Punch In Time and Punch Out Time.

(2) Even though recording appears to be on, nothing you play on the keyboard before the Punch In Time or after the Punch Out Time will actually be recorded.  Only what you play in between those times is recorded.

When you stop recording, you may decide to change your mind.  Choosing Undo both (1) restores the original events that had been deleted and (2) discards any new events that had been recorded.

Recording Digital Audio

Digital audio is always recorded using Sound on Sound mode.  Also, digital audio recording commences as soon as the record button is pressed, even if Auto Punch mode is active.

See Also:

Realtime Menu


Reject Loop Take
Reject Loop Take (Realtime menu)

If you Record with full looping (using Auto Shuttle), then you may accumulate many record takes, layering them on top of each other.

If you record anything during a loop, you will hear it play back immediately on the next loop.  Until you record something new, that is the most recent take, and you may reject it using Reject Loop Take without stopping recording.

This command is enabled if there is a prior loop take to reject, and you haven't stopped recording and playback.  Once you stop, this command is disabled: then, you may use Undo to reject all of the material you recorded.

Shortcut
Key:	CTRL+SPACEBAR

See Also:

Realtime Menu


Update Patch Cache
Update Patch Cache (Realtime menu)

This command is enabled only if you're using one or more sound cards which require "patch caching".  After making changes to your song which result in patch change events being added, changed, or deleted, you may need to choose Update Patch Cache to force the sound card to load the required sounds from disk storage.

See Also:

Realtime Menu


Panic
Panic (Realtime menu)

Use this command to silence everything.   Panic turns off all notes, lifts the sustain pedal, and centers pitch bend and modulation wheels.

See Also:

Realtime Menu


GoTo menu

The GoTo menu contains commands for going to a different time in the work.

Time	Enter a specific time to go to

From	Go to the time in the From marker

Thru	Go to the time in the Thru marker

Beginning	Go to the start of the work (1:1:0)

End	Go to the end of the work

Previous Measure	Go to start of this or previous measure

Next Measure	Go to end of this or next measure

Search	Go to the next event that meets criteria you supply

Search Next	Find the next event that meets the criteria you specified in the last Search.


GoTo Time
Time (GoTo menu)

Use this command to enter a specific time to go to.  The Now marker reflects the change.

Shortcut
Key:	F5

See Also:

GoTo Menu


GoTo From
From (GoTo menu)

Use this command to go to the time of the earliest selected item.

Shortcut
Key:	F7

See Also:

GoTo Menu


GoTo Thru
Thru (GoTo menu)

Use this command to go to the time of the latest selected item.

Shortcut
Key:	F8

See Also:

GoTo Menu


GoTo Beginning
Beginning (GoTo menu)

Use this command to go to the beginning (1:1:0).

Shortcut
Key:	CTRL+HOME

See Also:

GoTo Menu


GoTo End
End (GoTo menu)

Use this command to go to the end (the time of the latest event among all of the tracks).

Shortcut
Key:	CTRL+END

See Also:

GoTo Menu


GoTo Previous Measure
Previous Measure (GoTo menu)

If you are in the middle of a measure, this takes you to the start of that measure.

If you are already at the start of the measure, takes you to the start of the previous measure.

Shortcut
Key:	CTRL+PAGEUP

See Also:

GoTo Menu


GoTo Next Measure
Next Measure (GoTo menu)

If you are in the middle of a measure, this takes you to the end of that measure.

If you are already at the end of the measure, takes you to the end of the next measure.

Shortcut
Key:	CTRL+PAGEDOWN

See Also:

GoTo Menu


Search
Search (GoTo menu)

Use this command to find an event at or later than the current time which meets certain criteria that you specify in an Event Filter.

See Also:

GoTo Menu


Search Again
Search Next (GoTo menu)

Use this command to find the next event that matches your previous Search command.

Shortcut
Key:	F3

See Also:

GoTo Menu


Track menu

Most of the Track commands correspond to properties in the Track pane of the Track/Measure view.  The advantage of these command equivalents is that they let you change a property for many tracks at once.  The following topics discuss each track property:

Name

Status

Archive

Port

Channel

Key+

Vel+

Time+

Bank

Patch

Volume

Pan

The following commands do not correspond to track parameters.  They are commands that operate on tracks:

Solo	Mute all tracks except the current track.

Un-solo	Restore the muted settings of tracks.

Clone	Back up a track, putting a clone of it on another track.

Kill	Delete all events and reset all parameters to defaults.

Wipe	Delete all events; don't reset track parameters.

Sort	Sort tracks.


Name
Name (Track menu)

Each track has a name, which you may use for any purpose you wish.

Use this command to change the name of all the selected tracks at once.

See Also:

Track Menu


Status
Status (Track menu)

Muted tracks are silent, but may be un-muted instantly during playback.

Use this command to toggle the muted status of all selected tracks at once.  "Toggle" means that non-muted tracks become muted, and vice versa.

See Also:

Archive

Track Menu


Archive
Archive (Track menu)

Archived tracks are "super-muted": they can't be un-muted during playback.

Why would you want to do this?  If you have a large number of muted tracks (for instance, with different versions of solos, or bits of thematic material), you may encounter timing problems.  Cakewalk still processes muted tracks during playback so that it can be ready to un-mute them instantly at your command.  Archiving them means you "promise" not to un-mute those tracks during playback.  Thus they can be ignored, possibly improving performance.

Use this command to toggle the archived status of all selected tracks at once.  "Toggle" means that non-Archived tracks become Archived, and vice versa.

See Also:

Status (muting tracks)

Track Menu


Key+
Key+ (Track menu)

The Key+ parameter is an amount added to the MIDI key number (pitch) of all note events in the track.  It is an on-the-fly transposition that does not change the key number that is actually stored for each note event.  Transpose lets you do the latter.

Use this command to change the Key+ parameter for all selected tracks at once.

See Also:

Track Menu


Vel+
Vel+ (Track menu)

The Vel+ parameter is an amount added to the velocity of all note events in the track.  This parameter is an on-the-fly transposition that does not change the velocity that is actually stored for each note event.

Use this command to change the Vel+ parameter for all selected tracks at once.

See Also:

Track Menu


Time+
Time+ (Track menu)

The Time+ parameter is an amount added to the starting time of all the events in the track.  This parameter is an on-the-fly transposition that does not change the time actually stored for each event.  (The Slide command lets you do the latter.)

Use this command to change the Time+ parameter for all selected tracks at once.

See Also:

Track Menu


Port
Port (Track menu)

The Port parameter controls which port tracks will be routed to.  Ports correspond to one or more MIDI Out devices that you've set up using MIDI Devices.

Use this command to change the Port parameter of all selected tracks at once.

See Also:

Track Menu


Channel
Channel (Track menu)

The Channel parameter forces all events in a track to be transmitted to a particular MIDI channel.  Each event has a MIDI channel stored actually stored with it, so the Channel parameter can also be none ("--"), which allows a track to contain events for multiple MIDI channels.

Use this command to change the Channel parameter of all selected track(s) at once.

See Also:

Track Menu


Bank
Bank (Track menu)

The Bank parameter is for transmitting a Bank Select message before playback starts.  Tracks may contain actual bank/patch change events, for example to change sounds midway through a track.  For that, use the Insert Bank/Patch command or the Event List view.  Using the Patch parameter is easier when a track uses the same patch for its entire length.

If you want to use the Bank parameter, you must also give the track a forced MIDI channel using the Channel parameter.  Otherwise Cakewalk won't know what MIDI channel to use for the bank select.

Use this command to change the Bank parameter of all selected tracks at once.

See Also:

Track Menu


Patch
Patch (Track menu)

The Patch parameter is for transmitting a patch change before playback starts.  Tracks may contain actual patch change events, for example to change patches midway through a track.  For that, use the Insert Bank/Patch command or the Event List view.  Using the Patch parameter is easier when a track uses the same patch for its entire length.

If you want to use the Patch parameter, you must also give the track a forced MIDI channel using the Channel parameter.  Otherwise Cakewalk won't know what MIDI channel to use for the patch change.

Use this command to change the Patch parameter of all selected tracks at once.

See Also:

Track Menu


Pan
Pan (Track menu)

The Pan parameter is for transmitting a MIDI Pan (10) controller event before playback starts.  Tracks may contain actual pan events, for example to change panning midway through a track.  For that, use the Piano Roll view.  But using the Pan parameter is easier when a track needs only a single pan setting for its whole length.

If you want to use the Pan parameter, you must also give the track a forced MIDI channel using the Channel parameter.  Otherwise Cakewalk won't know what MIDI channel to use for the pan event.

Use this command to change the Pan parameter of all selected tracks at once.

See Also:

Track Menu


Volume
Volume (Track menu)

The Volume parameter is for transmitting a MIDI Volume (7) controller event before playback starts.  Tracks may contain actual volume events, for example to change volume midway through a track.  For that, use the Piano Roll view.  But using the Volume parameter is easier when a track needs only a single volume setting for its whole length.

If you want to use the Volume parameter, you must also give the track a forced MIDI channel using the Channel parameter.  Otherwise Cakewalk won't know what MIDI channel to use for the volume event.

Use this command to change the Volume parameter of all selected tracks at once.

See Also:

Track Menu


Solo
Solo (Track menu)

Use this command to mute all tracks except the current track.

The original track muted settings are restored when you select Un-solo.

Shortcut
Key:	/  (SLASH)

See Also:

Track Menu


Un-Solo
Un-solo (Track menu)

Use this command to restore the track mute settings that were in effect before you used Solo.

Shortcut
Key:	\  (BACKSLASH KEY)

See Also:

Track Menu


Wipe
Wipe (Track menu)

Use this command to deletes all events from all selected tracks.

Unlike Kill, Wipe preserves the tracks' parameters like the Name, Port, Patch, and so on.

Like Kill, the events are not Cut to the scrap buffer, they are simply deleted.  The From and Thru markers are ignored -- all events in the selected track(s) are wiped out.

See Also:

Track Menu


Kill
Kill (Track menu)

Use this command to clear all selected tracks.  The events are not Cut to the scrap buffer, they are simply deleted.  The From and Thru markers are ignored -- all events in the selected track(s) are killed.

See Also:

Wipe

Track Menu


Clone
Clone (Track menu)

Use this command to copy the selected track's events and/or all its parameters to another track.

Useful for quickly making a back-up copy of a track before embarking on some major editing operation, or to double a part on a different MIDI channel.

See Also:

Track Menu


Sort
Sort (Track menu)

Use this command to sort tracks using one of the track parameters as the sort key.

Example 1: Pick Name for the key to Sort By and Ascending for the sort Order.  Tracks will be sorted alphabetically by name.

Example 2: Pick Size for the key to Sort By and Descending for the sort Order.  Tracks will be sorted in order from those with the most to those with the fewest events.

Blank tracks -- those with no parameters or events -- are moved to the end when sorting.

See Also:

Track Menu


Window menu

Tile in Rows

Tile in Columns

Cascade

Arrange Icons

Close All

Minimize All


Tile In Rows
Tile In Rows (Window menu)

Use this command to arrange all windows so that they're side-by-side (tiled) in rows.  This way, windows tend to be wider than they are higher.

See Also:

Window Menu


Tile In Columns
Tile In Columns (Window menu)

Use this command to arrange all windows so that they're side-by-side (tiled) in columns.  This way, windows tend to be higher than they are wider.

See Also:

Window Menu


Cascade
Cascade (Window menu)

Use this command to arrange windows stacked over one another but with at least the caption bar of each window visible.

See Also:

Window Menu


Arrange Icons
Arrange Icons (Window menu)

Use this command to arrange icons (minimized windows) so that they're in a neat row starting at the bottom left corner.

See Also:

Window Menu


Close All
Close All (Window menu)

Use this command to close all windows except the Track/Measure view.

See Also:

Window Menu


Minimize All
Minimize All (Window menu)

Use this command to minimize (make into an icon) all windows except the Track/Measure view.

See Also:

Window Menu


Tools menu

The Tools menu contains commands for starting other programs and utilities.

Depending on the options you chose when you installed Cakewalk, you may have the following two items on the Tools menu:

Virtual Piano	Start or switch to the Virtual Piano accessory program.

Virtual Jukebox	Start the Virtual Jukebox accessory program.

You may see additional items on this menu: Cakewalk provides a way for software from other companies to add itself to this menu.  For example, certain wave editor applications may do this.

Note: This version of Cakewalk does not provide a way for you to modify this menu.  Currently this capability is provided only for other software programs.


Virtual Piano
Virtual Piano (Tools menu)

Use the Virtual Piano's software keyboard to record music when you do not have a MIDI keyboard.

The Virtual Piano is a separate accessory program.  When you choose this command, Cakewalk starts the Virtual Piano.  If the Virtual Piano is already started, Cakewalk activates it.

Shortcut
• To start or switch to Virtual Piano:
Keyboard:	CTRL+K.
• To switch back to Cakewalk:
Keyboard:	CTRL+K.

See Also:

Tools Menu


Virtual Jukebox
Virtual Jukebox (Tools menu)

The Virtual Jukebox is a stand-alone media file playlist program. It's great for live use, or whenever you want multiple songs or audio files to play in sequence. Virtual Jukebox lets you load playlists (.PLY files) containing Cakewalk .WRK and .BUN files, .SET files, standard MIDI files, and digital audio .WAV files. Each .PLY file playlist can contain up to 999 files.

Starting the Virtual Jukebox

Start the Virtual Jukebox from the Windows 95 Programs menu, or from Cakewalk Pro Audio's Tools menu. Cakewalk Pro Audio does not have to be running for Virtual Jukebox to run.


Settings menu

The Settings menu contains commands for setting various parameters and options.

Metronome

Timebase

Clock

Time Format

Audio Hardware

Audio Options

MIDI Devices

Instruments

MIDI Output

MIDI Echo

Channel Filter

Type Filter

Channel Table

Auto Save

Key Bindings

Initialization Files

Drag & Drop Options


Clock
Clock (Settings menu)

Use this command to change the clock source to one of the following:

Internal Clock

This follows the computer's internal clock.

MIDI Sync

MIDI synchronization makes Cakewalk follow another device that is sending MIDI Sync to the computer's MIDI In port.

SMPTE/MTC

SMPTE/MTC synchronization makes Cakewalk follow another device that is sending SMPTE/MTC timecode to the computer's MIDI In port.  Some MIDI interfaces have a special SMPTE jack to read timecode directly.  You may also use a device that converts SMPTE to MTC for sending over a MIDI cable.

Audio

Use Audio synchronization when your song contains any audio events.  Cakewalk will follow the clock rate of the digital audio hardware.

Shortcut
Toolbar:	A single button advances through these options as you click it:
  Internal Clock
  MIDI Sync
  SMPTE/MTC
  Audio

See Also:

Settings Menu

"Synchronization" appendix in the User's Guide, for a full discussion of synchronization methods.


Metronome
Metronome (Settings menu)

Use this command to control the sound of the metronome.

The left column of items lets you pick various options about when you want to hear the metronome.  (Even if Recording is not checked, the metronome will be heard during the Count-in, if any, then will stop once recording actually begins.)

The right section lets you specify two MIDI notes that will be played as metronome "ticks".  On note is played on the first beat, the other on other beats.  The default key numbers are those used by most drum machines for a kick drum and a closed hi-hat.  MIDI channel 10 is a popular convention for drum machines, so that is also provided as a default.

Metronome and Audio Sync

The Count-in value is ignored during Audio Sync mode.

See Also:

Settings Menu


Timebase
Timebase (Settings menu)

Use this command to set the timing resolution.

The timebase is also known as PPQ: "Pulses Per Quarter-note".  This is the number of clock ticks that a quarter-note is worth.  Generally, higher values provide more precision, but many people are not sensitive to much improvement using a timebase greater than 120 PPQ.  The computer has to work harder to provide higher timebases, so if you cannot hear the difference, it is probably best to stick with the default value of 120 PPQ.

See Also:

Settings Menu


Settings MIDI Devices
MIDI Devices (Settings menu)

Use this command to select MIDI input and output devices.

Input and Output devices

You may pick any number of available MIDI input and output devices.  However:

•  For playback to work, you must select at least one Output device.

•  For recording to work, you must select at least one Input device.

The lists of devices show drivers which you have already installed using the "Drivers" icon of the Windows Control Panel.  Cakewalk lists only MIDI input and output devices, not other kinds of devices.

MIDI Out devices are assigned to Cakewalk port numbers in the order they are listed.  For example, if "MPU-401" is above "Sound Blaster" in the list and you select both, port 1 in Cakewalk is the MPU-401 and port 2 is the Sound Blaster.  To rearrange the order, select one or more items, then press the Move Selected to Top button.

See Also:

Settings Menu

README.WRI file -- which you may view using Help/View README.WRI -- may contain specific instructions and tips for the kind of devices you're using.


Patch Names
Assign Instruments (Settings | Instruments)

Use this command to assign an instrument definition to each port and channel.

Because you may have different kinds of instruments connected to various ports and channels, Cakewalk lets you specify an "instrument definition" for each port and channel.  Once you set this up, a number of features throughout Cakewalk will work automatically.  The instrument definition tells Cakewalk a number of things about the synthesizer, including:

•  What names to use for patches, notes, and controllers.

•  Whether the instrument provides drum sounds.

•  What Bank Select method the instrument uses.

Using the dialog box

You can select more than one item at a time in the Port / Channel list on the left.  If they share the same instrument definition, its name will be selected (highlighted) in the list on right.  To change the assignments, first select one or more items from the Port / Channel list on the left, then click on the desired Instrument on the right.

If your instrument is not in the list, you may want to try using the General MIDI and General MIDI Drums instrument definitions.  You may also create your own instrument definitions, by pressing the Define button.

Many synthesizers have a special channel -- usually channel 10 -- which acts like a percussion instrument.  Be sure to assign a drum instrument (if available) to that channel.

Example:  Assign channel 10 to use the "General MIDI Drums" instrument.  Assign all of the other channels to use the "General MIDI" instrument.

Save changes

If you want your changes to be remembered the next time you run Cakewalk, make sure the Save Changes For Next Session option is checked before pressing OK.  Otherwise, to make only temporary changes, be sure to remove the check from that option.

See Also:

Defining your own instruments

Defining your own names

Settings Menu


Define Instruments
Instruments tree (Define Instruments and Names dialog)

Use this dialog box to create, change, rename, or delete an instrument definition.Open the Instruments folder, and you see the instrument definitions currently loaded into Cakewalk.

Working in the Instruments and Names trees

The Define Instruments and Names window has two trees of folders and lists. The Instruments tree, in the left pane, shows the instrument definitions currently loaded by Cakewalk. The Names tree, in the right pane, shows the resources you use to build the instrument definitions.

The left tree lets you define instruments. You open folders on the tree, then you drag the names and Bank Select Methods from the Names tree to the appropriate branches on the Instruments tree. Each definition is color-coded; notice that you can only drag a Names list to a branch having the same color. This prevents you from putting Patch Names in the Controller Names branch, and so on. Dragging a list onto a branch will replace whatever definition was already there.

You can right-click in either pane to get an Inspector menu for any item.

You expand or collapse the folders and lists in each tree by double-clicking on the item, by clicking once on the  or  symbol next to the item, or by using the left and right arrow keys. You can also right-click in either pane to bring up an Inspector menu, and choose "Expand" or "Collapse."

Renaming an instrument definition

Select it. Press F2, or, click the right button and choose Edit. Type the new name and press Return.

Creating an instrument definition

Select any existing instrument definition. Press the Insert key, or click the right button and choose New.

Deleting an instrument definition

Select it. Press the Delete key, or click the right button and choose Delete.

Patch Names for Banks

This folder contains Patch Name lists used by an instrument.

Viewing the Patch Names lists used by an instrument

Select the instrument definition, then click the + sign or press the right arrow key to expand it. Expand the "Patch Names for Banks" folder, too. You will see a list of bank numbers and the Patch Names lists they use.

The default Patch Names list

The default Patch Names list has a * as its bank number (i.e., * = 0..127.) Cakewalk will use the default Patch Names list for any bank that doesn't have a Patch Names list.

Assigning a Patch Names list to a bank

Drag a Patch Names List from the Names tree to the "Patch Names for Banks" folder, or over an existing bank. Release the mouse button, enter a bank number in the Add Patch Names dialog box, and press OK. If you enter a bank number of -1, the Patch Names list you just added will become the default Patch Names list.

Creating new patch names for a new bank

Highlight a patch names list in the left pane, then press Ins or right-click and choose "New Patch Names for New Bank." Then immediately type in a new bank number or name for the Patch Names list, or it will disappear when you click on another item.

Removing a Patch Names list

Select the Patch Names list in the left pan and press Delete, or click the right button and choose Delete.

Setting or clearing the Drums flag for a bank

Select the Patch Names list, click the right button, and choose Drums. If Drums already has a check by it, this is a Drums bank.

Choosing this option tells other parts of Cakewalk how to display tracks that have drum instruments. For example, if you open a Piano Roll view for a track, and the track is assigned to a port/channel with a drum instrument, the Piano Roll shows the drum notes as diamonds.

Note Names for Patches

This folder contains Note Names lists used by an instrument's patches.

Viewing Note Names lists used by an instrument

Open the Patch Names for Banks folder, and click on the + next to the Patch Names assignment. This reveals a "Note Names for Patches" folder. Open that folder, too. You will see a list of patch numbers and the Note Names lists they use.

The default Note Names list

The default Note Names list has a * as its patch number (i.e., * = Diatonic.) Cakewalk will use this default for any patch that doesn't have a Note Names list.

Assigning a Note Names list to a patch

Drag a Note Names List from the Names tree to the "Note Names for Patches" folder, or over an existing Note Names list. Release the mouse button, enter a bank number in the Add Note Names dialog box, and click OK. If you enter a bank number of -1, the default Note Names list will use the Note Names list you just added.

Setting or clearing the Drums flag for a patch

Select the patch, click the right button, and choose Drums. If the menu item has a check by it, this is a Drums patch.

Controller, RPN, and NRPN Names

To assign controller names, RPN names, NRPN names, use the same drag and drop techniques described above for note names and patch names. There is only one drop target for each instrument, since each instrument can use only a single resource of each type.

To change controller names, RPN names, NRPN names

You can't delete these items, because Cakewalk needs some value for each. However, you can assign a name list like "0..127" or a bank select method like "Normal" to reset a definition.

Bank Select Methods

Each instrument can use one Bank Select Method. Drag it from the Names tree to the Bank Select branches on the Instruments tree. Which Bank Select method will work depends on your MIDI instrument, but it's likely that one of the following methods will work:

•	Normal  Use this for instruments that respond to Ctl 0 or Ctl 32 bank select messages.

•	Ctl 0 only  Use this for instruments that only respond to Ctl 0 bank select messages.

•	Ctl 32 only  Use this for instruments that only respond to Ctl 32 bank select messages.

•	Patch 100..127  Some MIDI instruments let you change banks by sending patch changes between 100 and 127.

See Also:

Defining your own names

Importing, exporting, and saving instrument definitions

Settings Menu


Define Names
Names tree (Define Instruments and Names dialog)

Use this tree to create, change, rename, or delete a list of Patch Names, Note Names, Controller Names, RPN Names, and NRPN Names  for use by instrument definitions.

Patch Names.  Open this folder to work with Patch Name lists.   These are names for patches ("timbres") on a synthesizer, like "Piano", "Bass", etc.

Note Names. Open this folder to work with Note Name lists.  These are names for notes (pitches) on a synthesizer.  Note Names are most frequently used to name drum notes, like "Kick", "Snare", etc.

Controller Names. Open this folder to work with Controller Name lists.  These are names for continuous controllers, like "Volume", "Pan", etc.

RPN Names. Open this folder to work with RPN Name lists.  These are names for Registered Parameter Numbers, whose Controller numbers and data values can be anywhere between 0 and 16383.

NRPN Names. Open this folder to work with NRPN Name lists.  These are names for Non-registered Parameter Numbers, whose Controller numbers and data values can be anywhere between 0 and 16383.

Bank Select Methods

You can choose one of four Bank Select Methods from the Names tree.

•	Normal (Ctl 0 and Ctl 32)

•	Ctl 0 only

•	Ctl 32 only

•	Patch 100...127

Note: A few name lists are predefined and cannot be deleted. For instance,"0..127" and others are always in the tree so that you can drag and drop them to instrument definitions.

Adding new Names lists

Highlight a Name List and press Ins, or highlight the folder and press Shift+Ins. You can also right-click on a folder or Name list, and choose "Add...Names List."

Adding new Names

Highlight a Name and press Ins, or highlight the Name list and press Shift+Ins. You can also right-click on a Name or Name list, and choose "Add...Name."

Deleting Names lists or Names

Highlight the Names List or Name, and press Del. You can also right-click, and choose Delete.

Changing the value of Names lists or Names

Highlight the Names List or Name and press F2. Then type in the new number and name. You can also right-click, and choose Edit, or click once on the value when it is highlighted.

Based on

You can base your new definition on a previous definition. If you do, the names associated with that list appear in the Names field. Frequently, a synthesizer has two sets of names that are very similar. For example, two banks may have the same patches in locations 0...100, but different patches in locations 101-127. In this case, you can save time by creating one complete list. Next, create the second list and base it on the first one. In the second list, redefine only the names that differ from those in the first list.

Here's an example. Say you want to base XG Bank 64 on XG Bank 50. Drag the Patch Names list for XG Bank 64 onto the Patch Names list for XG Bank 50, and release the mouse button. You will be asked if you want to base XG Bank 64 on XG Bank 50. If you click OK, XG Bank 64 will appear under XG Bank 50.

Note: If you choose Delete, you will delete the list shown in the Names tree. You will see a warning if that list is being used by an instrument definition. If you delete it anyway, the instrument will change to refer to another list of names.

To base a list on no other list, drag and drop it on the root folder for that type of name. For example, to base a Patch Names list on no other list, drag and drop it on the "Patch Names" root folder.

See Also:

Defining your own instruments and names

Importing, exporting, and saving instrument definitions

Settings Menu


Importing, exporting, and saving instrument definitions

If you don't see the instrument definition you want, click Import  to load it.

Double-click on the .INS file with your instrument manufacturer's name (such as Kurzweil.ins) and you'll see a dialog box where you can select one or more instrument definitions to import. When you click OK, the selected instrument definitions and matching names lists will appear in the Define Instruments and Names dialog box.

Exporting instrument definitions

To export an instrument definition, right-click on it and choose Export.This lets you save the definition as a .INS file.

Saving instrument definitions

When you have finished working in the Define Instruments and Names dialog box, you'll probably want to save any changes you have made. Click Close, and you will return to the Assign Instruments dialog box. Make sure that "Save Changes for Next Session" is checked, and click OK. Cakewalk will save the instrument definitions in the Uses Instrument list by updating the Master.Ins file. This file contains all of the instrument definitions that display in the Define Instruments and Names dialog box each time you open Cakewalk.

See Also:

Defining your own instruments and names

Settings Menu


Update Instruments?

You have installed a new version of Cakewalk.

The new version contains new or changed Instrument definitions.  To merge this new information in your instrument database, press Yes.  Otherwise, press No.

If an Instrument definition will replace an existing definition, you will have a chance to approve each replacement individually.  For example, if you have customized a particular definition, you may choose not to replace it.

See Also:

Instruments


Channel Filter
Channel Filter (Settings menu)

Use this command to instruct Cakewalk to accept or ignore input on each MIDI channel.  Remove the check for each channel which you want to be ignored.  When input is ignored, it won't be recorded or echoed by MIDI Echo.

See Also:

Settings Menu


MIDI Output
MIDI Output (Settings menu)

Use this command to set various options related to information that Cakewalk sends to the MIDI Out port(s).

Send MIDI Start/Continue/Stop/Clock controls whether Cakewalk will transmit MIDI Sync.  If you are not synchronizing another device like a drum machine to Cakewalk, leave this disabled.

Use Start, Never Continue lets you force Cakewalk to send a MIDI Start even when playback begins from other than the start (1:1:0).

Send MIDI SPP enables sending MIDI Song Position Pointer.  This message lets devices synchronizing to Cakewalk jump to the correct spot.

Locate Delay for SPP Recipient can be set higher than zero to give slow devices more time to jump to the correct spot.

MIDI Output Port defines which port the MIDI Sync messages will be sent to.

MIDI Machine Control (MMC) tells Cakewalk whether to transmit MMC messages. When you choose this, you can also pick  the timecode master's unit ID. Set the Timecode Master's Unit ID item to match the ID number of the receiving device (such as your digital multitrack.) If you need to prevent Cakewalk from automatically establishing a timecode master, enter "127" as the Unit ID. In that case, you will have to manually configure one device to generate timecode.

Zero Controllers When Play Stops causes Cakewalk Pro Audio to zero (reset) the pitch wheel, the pedal Controller, and the modulation wheel Controller on all 16 MIDI channels whenever you stop the song. It also sends the relatively new "zero all continuous Controllers" MIDI message, which turns off other continuous Controllers on newer synthesizers.

Patch/Controller Searchback Before Play Starts tells Cakewalk to search for the most recent patch change, wheel, and pedal events on each port and MIDI channel, and send them before playback starts. This ensures that, even if you jump to an arbitrary point in your work, the patch, wheel, and pedal settings are correct. If your work is very long or your machine is not very fast, this searching process could take a while.

See Also:

Settings Menu


MIDI Echo
MIDI Echo (Settings menu)

Use this command to set options controlling how MIDI input is transformed and echoed to the MIDI output.  Auto mode, the default, is the most convenient.  It routes things based on the Port, Channel, Key+ and Vel+ parameters of the track you currently have the cursor on in the Track/Measure view.

See Also:

Settings Menu

"MIDI Echo" in the User's Guide for a description of all Thru modes and options.


Type Filter
Type Filter (Settings menu)

Use this command to avoid recording certain types of MIDI events.  By default, Aftertouch events are filtered and will not be recorded.

Note: By default, all items are checked except Key Aftertouch and Channel Aftertouch.

If you check the System Exclusive item, you can record short System Exclusive messages in real-time. These will end up in the track as the new Sysx Data types of events, which can hold System Exclusive messages up to 255 bytes long. You can leave the Buffers setting at 128 unless you experience data not being recorded.

These System Exclusive settings are global  that is they are saved for all files, not in each file.

See Also:

Settings Menu


Channel Table
Channel Table (Settings menu)

Use this command to map MIDI channels to tracks when recording.

Normally, when you record, events are placed on the current track.  Using this option, events on particular channels will end up on one or more specific tracks.  This is most useful when "dumping" a sequence from another sequencer, or working with a guitar controller that transmits on multiple channels at once.

Note: Cakewalk permits each track to contain events from multiple MIDI channels. You are not required to split things onto separate tracks.  You may find it more convenient.

The dialog box has a checkbox for enabling/disabling the channel table and for assigning a track number to each MIDI channel.  The "Fill" button can save you typing: it looks at the number in the field you have the cursor on, and fills in the remaining fields with increasing values.

See Also:

Settings Menu


Time Format
Time Format (Settings menu)

Use this command to select a SMPTE/MTC format.

The "Offset" option lets you specify a SMPTE time that will correspond to the beginning of your work.  In other words, this is the SMPTE time corresponding to musical time 1:1:0.

Hint: If you are synching to SMPTE/MTC, you should stripe your tape beginning with SMPTE/MTC time 0:0:0:0 and set an offset of at least 2-3 seconds, or 0:0:3:0.  This gives the SMPTE tape reader enough time to establish a good sync lock-up before your song starts.

See Also:

Settings Menu

"Synchronization" Appendix in the User's Guide, for a full discussion of synchronization methods.


Key Bindings
Key Bindings (Settings menu)

Use this command to assign commands that you frequently use to keys.

There are two types of "keys" you may use: computer keyboard keys and MIDI keyboard keys.  When you bind computer keyboard keys to commands, this is like the kind of "macro hotkey" feature you may be familiar with in other software.  Using your MIDI keyboard is more novel, but the same basic idea: it provides "remote control" of Cakewalk from your MIDI keyboard.

You make both types of key bindings using the same dialog box: select which set you want to work with by picking one of the radio buttons at the top.

Computer keys

The available hotkeys include CTRL in combination with the A through Z keys, and the function keys (F1 through F12) by themselves or with CTRL or ALT pressed also.  If you use choose a hotkey which Cakewalk has already assigned to a command, your binding will override Cakewalk's.

These bindings execute the command they're assigned to only when you could choose the command normally from the menu.  If Cakewalk's menu is not available (for example when you're in a dialog box) or if the command is disabled, then the keys won't work either.

MIDI keys

The MIDI option uses a "shift" event to signal whether your MIDI keys should be treated as hotkeys.  That way, you can still use all the MIDI keys to play notes.  For this shift event, you may choose to use either a MIDI key (typically, the very lowest or highest key on your MIDI keyboard) or a controller event (typically, one of the pedals).

You may also temporarily disable MIDI macros by un-checking the Enable box, without having to clear all of the MIDI bindings.

Temporary changes

If you want your changes to be remembered the next time you run Cakewalk, make sure the Save Changes For Next Session option is checked before pressing OK.  Otherwise, to make only temporary changes, be sure to remove the check from that option.

See Also:

Settings Menu


Initialization Files
Initialization Files (Settings menu)

Use this command to view and change certain options in Cakewalk initialization files.  You may also change initialization files by opening and editing them in Windows Notepad, but you may find using Initialization Files easier.

To set or delete an option:

1.	Type the name of the option in the Option field.

If the option already exists, you may pick it in the list of Current Settings, and that will fill in the Option and Value fields for you.

2.	If you want to delete the option, press the Delete button.
or
If you want to set the option, type in the value for it in the Value field, then press the Set button.

3.	When you are done viewing or changing options, press the Close button.

IMPORTANT:  For most of these settings, Cakewalk looks at the initialization files only when it starts up.  Therefore, to ensure that all of your changes take effect, you must exit Cakewalk and restart it.

See Also:

Settings Menu


Auto Save
Auto Save (Settings menu)

Use this command to automatically save your work to a special back-up file, named AUTOSAVE.WRK.  You may control this using two options.

•	Use the Minutes item to say how many minutes may pass before Cakewalk automatically saves your file (assuming it's changed since last saved).  Set Minutes to zero to disable this.

•	Use the Changes item to say how many changes you may make to the file before Cakewalk automatically saves it.  Set Changes to zero to disable this.

If both Minutes and Changes are set to zero, no automatic save will occur.  If both items are set to something other than zero, than whichever condition becomes true first will cause an automatic save to occur.

Your work is saved to a work file called AUTOSAVE.WRK.  If you should need to retrieve your work after an error or system crash, use Open to load AUTOSAVE.WRK.  You may then use Save As to save this using the name of the file you were originally working on.   Warning: If you don't re-save soon, then Auto Save may write over AUTOSAVE.WRK!  To avoid this possibility completely, you may wish to rename AUTOSAVE.WRK before restarting Cakewalk at all, using the Windows File Manager or the DOS RENAME command.

See Also:

Settings Menu


Drag & Drop Options
Drag & Drop Options (Settings menu)

Use this command to set the Drag and Drop options.

Out of the box, Cakewalk presents this dialog to you every time you drag and drop.  If you remove the check from the Ask This Every Time item, it will simply continue to use the options you've chosen.  In that case, the only way to get back to the dialog is to choose this command.

Copy Entire Clips As Linked Clips

This links all selected clips when you copy them.

Split Audio Events

Audio events will automatically split when you copy or move them.

Blend Old and New

This item causes Drag & Drop to merge what you're pasting with what's already in the track.

Replace Old with New

This item causes Drag & Drop to first delete what's in the range being dropped to, and then to drop the new material.

Slide Over Old to Make Room

This item causes Drag & Drop to first shift over existing material to make room, and then to drop the new material.

Align to Measures

This item ensures that if you're sliding existing material over to make room, the material is slid an exact number of measures.

Aligning to measures is useful is your material contains pick-up notes or sustained ending notes, yet is still conceptually a fixed number of measures in length.

Split Audio Events

If this item is selected, only the audio data that lies between From and Thru will be dragged.  If this item is not selected, audio events will be dragged in their entirety, but only if their start time is between From and Thru.

If this item is selected with the Replace option, only the audio data which lies within the range being dropped to is replaced.  If this item is selected with the Slide option, audio events will be split at the start and end of the time range before making room.

See Also:

Linked Clips

Settings Menu


World Wide Web
Cakewalk on the World Wide Web

Visit Cakewalk on the World Wide Web!  You can find us at:

http://www.cakewalk.com

Learn all you want to know about Cakewalk Music Software:  Technical support documents, upgrade information, new products, and more.


Edit | Audio menu

The Edit | Audio menu contains commands relating to editing selected digital audio.

Combine	Combine selected audio events into a single event.

Remove Silence	Remove silence from audio, optionally creating new audio events.

Extract Timing	Created MIDI notes or tempo changes based on rhythmic peaks in audio.

Pitch Detection	Convert the audio to MIDI.

Graphic EQ	Apply a graphic equalizer to the audio.

Parametric EQ	Apply a parametric equalizer to the audio.

3dB Louder	Increase audio volume by 3dB.

3dB Quieter	Decrease audio volume by 3dB.

Normalize	Increase volume as much as possible without clipping.

Fade/Envelope	Apply a volume fade or envelope.

Crossfade	Crossfade overlapping audio events.

Reverse	Reverse the audio (make it play backwards).

Event Properties	Edit an audio event's properties.

Split	Split an audio event into two audio events.


Audio view

The Audio view allows waveform editing on audio events.  The Audio view consists of a single pane where all the events are drawn, a horizontal ruler to provide a timescale, and a vertical ruler to distinguish between different tracks in the view.

The Audio view shows you whatever tracks where selected when you first opened it.  To change which tracks you're viewing, press [image]  or the T key.

Shortcut
• To open an Audio View from the Track view:
Mouse:	Press the RIGHT mouse button and choose Audio.

Working in the Audio view

There are several tools available:

Mode	Button	Shortcut Key
Selection		S
Scissors		C
Draw Volume		L
Scrub		B

 Use Selection mode to select one or more audio events.  You may select events by dragging a lasso that encloses them, or by clicking on them directly.
To add or remove events from the event selection: Hold the CTRL key down while clicking on the event, or while lassoing events.
To select a range of time, including events in the track that are not visible in the Audio view: Click and drag the time ruler at the top of the window.  (You can do this even when another tool is active.)
To select a range of time and tracks: Hold the ALT key and drag a rectangle.
To add or remove a track from the time selection: Click on the track number on the vertical ruler.

 Use Scissors mode to break long audio events into smaller ones.  Clicking on an audio event will split it at the click position.  Lassoing audio events will split the events along the left and right edges of the lasso.

 Use Draw Volume mode to quickly perform a linear volume on the selected audio.  As you drag the cursor in this mode, you will see a visual preview of the volume fade.  When you release the mouse button, the fade will be performed.
To change the volume of an entire track at once:  Click and drag the cursor in the vertical (track numbers) ruler.

 Use Scrub mode to drag horizontally over time to hear audio.  This can be handy to find the exact instant in time where a sound begins, or to test how audio sounds after being edited.  As you move the scrub cursor to a new track, you will hear only the audio contained in that track.
To scrub all tracks at once: Click and drag the scrub cursor in the horizontal ruler.

To change audio event parameters:  Click on an audio event using the RIGHT mouse button.  The Audio Event Properties dialog box will appear, where you can set the audio event's name, starting time and velocity.

To change audio event velocities:  Move the cursor over the small volume knob located at the lower-left corner of the audio event.  The cursor should change to an up/down arrow.  Click the LEFT mouse button, and drag the mouse up and down to adjust the velocity.  When you release the mouse button, the change will take effect.

To change an audio event name:  Move the cursor towards the upper-left corner of the audio event, until it changes shape to an "I-beam".  Click the LEFT mouse button, and enter the new event name.  Press ENTER or click anywhere else in the Audio View to save your change.

The Audio view ruler

The ruler helps you locate audio events (and the mouse) in time.  Its units are switchable between samples and Measure:Beat:Tick.  The following shortcut keys are available for the ruler.

Action	Shortcut Key
Sample units	A
Meas:Beat:Tick units	M
To select a range of time, including events in the track that are not visible in the Audio view: Click and drag the time ruler at the top of the window.  (You can do this when any tool is active.)

Snap in the Audio view

Setting snap values in the audio view makes it easier to select and drag audio events to precise locations.  When you use snap, the Audio view will automatically adjust the position of mouse clicks and drags to the nearest snap position.  For example, if the snap resolution is set to "Half", every mouse click or drag is aligned to the nearest half-note.

Snap affects the following mouse gestures in the Audio view:
• Clicking and lassoing with the Scissors tool.
• Dragging a lasso to select.
• Drag/Move and Drag/Copy with the Selection tool.
• Drawing volumes with the Draw Volume tool.

Resolution	Description
Events	Mouse gestures are snapped to the nearest start or end time among all the audio events in the Audio view.  This setting makes it easy to "butt-join" several audio events simply by dragging them into position.
Samples	Mouse gestures are snapped to the nearest sample.  This setting allows you freely drag or select with the highest possible precision.  Because a sample represents the smallest usable unit of time in the Audio view, this setting is equivalent to having no snap at all.
Whole, Half, etc.	Mouse gestures are snapped to the nearest whole-note, half-note, quarter-note, etc.  This setting makes it easy to construct musical rhythms out of short audio events simply by dragging them into position.


Audio Meters view

The audio meters view allows you to monitor input levels and free disk space for audio recording.

To adjust input levels for recording:  Click on the Test button, and audition the material you intend to record.  The input meters will indicate the incoming audio level.

See Also:

Audio view

Audio events and disk space


Compact Audio Data
Compact Audio Data (File | Utilities menu)

Use this command to collect all of the audio data used by the current sequence, and write it into a new disk file.  Any audio data which is not being used by the sequence (such as data on the Undo history) is deleted, and its disk storage is reclaimed.

To fully reclaim the disk space that was recovered by this command, you must run the Clean Audio Disk command.

Example:

Suppose you've begun a brand new song, and recorded a 10 minute jam session onto two tracks.  After some work, you've cut the jam down to a single 4-bar loop, and decided to build your song around that loop instead of the entire jam.

Since most of the original 10 minute jam is no longer required for your song, there's no reason to keep the data on the disk.  The Compact Audio Data command will create a new file containing only the loop you need, making the old 10 minute file available for deletion.

See Also:

File Menu

Clean Audio Disk

Audio events and disk space


Clean Audio Disk
Clean Audio Disk (File | Utilities menu)

Use this command to reclaim the disk storage belonging to orphaned audio files.

Audio files can become orphaned when a .WRK file is deleted, or as a result of running the Compact Audio Data command.  Once an audio file becomes orphaned, there is usually no reason to keep it on the disk.

See Also:

File Menu

Compact Audio Data

Audio events and disk space


Export Audio to Wave
Export Audio to Wave (File | Utilities menu)

This command will create a stereo .WAV file out of the audio data in your song.  If no audio events are selected, then the entire song is processed.  Otherwise, only the selected audio events are processed.

Your exported Wave files will sound different than the audio you hear when playing back your sequence.  First, any volume and pan changes to the audio will not be applied to the newly-exported files.  Second, the newly-exported files do not include any real-time effects added in the Effects view.  Real-time effects do not become part of the audio events. The effects are separate, just like effects that you might add during mixdown using outboard effects processors. This lets you use the same audio events in different songs, with different effects each time.

See Also:

File Menu

Audio events and disk space


Split
Split (Edit | Audio menu)

Use this command to split the selected audio events with sample-accuracy.  When performing this command, you may choose the exact sample position for the split.  The default position is the value of the Now marker..

Note: This command is available only from the Audio View inspector (right-click) menu.

See Also:

Edit | Audio menu


Combine
Combine (Edit | Audio menu)

This command combines many selected audio events into a single event.  All events are combined track by track, i.e., you cannot combine events across different tracks.  The resulting audio event will have the same name and position as the first selected event in the track.

You are free to combine overlapping audio events, but doing this requires you to choose how the overlapping portions should be combined.  You may choose to combine them polyphonically, which mixes the overlapping audio; or monophonically, which preempts overlapping audio.

See Also:

Edit | Audio menu


Remove Silence
Remove Silence (Edit | Audio menu)

Overview

Remove Silence will detect sections of audio that fall below a given loudness threshold, and replace those sections with absolute silence.  Remove Silence gives you the option of actually deleting the silent sections from the affected Audio events, splitting long audio events into many smaller audio events.

Cakewalk  is "smart" about how it treats absolute silence.  It doesn't bother storing stretches of silence on the disk.  This conserves precious disk space, as well improves audio playback performance.  Cakewalk  also knows that it can reclaim disk storage for the audio which was replaced by silence.

Using Remove Silence to split long audio events into smaller ones opens a variety of creative possibilities.  For example, suppose you've found an awesome 4-bar drum loop, but it's at the wrong tempo for the song you're working on.  With Remove Silence, you can separate each beat into its own event, and then rework the loop into your song beat-by-beat.

Remove Silence is also a great tool for cleaning up your final audio mix, since it can mute all audio tracks where the live performers were laying out.

How to use

When you choose Remove Silence from the menu, you will be presented with a dialog box that lets you specify the parameters for its Noise Gate.

 If you would like to delete the silent sections, thereby splitting long audio events into many short ones, check the Split Events option.

Preset

Use this field to choose and enter presets.

Audition

Click on this to hear the results of the command on the first three seconds of the selected audio.

See Also:

Noise Gate

Edit | Audio menu


Pitch Detection

Pitch Detection is an audio-to-MIDI converter that will create MIDI note and pitch-wheel events from audio events. The new events are then put into the same clip as the original audio. The audio must be monophonic; that is, there can only be one sound or instrument playing at a time.

Note: Pitch Detection may not work well on events containing harmonies, multiple sounds at once, or spoken/sung consonants.

Pitch Range

In this field, you enter the range of notes that you expect Cakewalk to find in the selected audio material.

Threshold (%)

This determines how strongly-pitched each "grain" of audio must be before it is considered to have pitch. Lowering the threshold will allow more weakly-pitched material to be accepted as notes. For example, if you're converting a fretless bass part to MIDI, you should probably set a very low threshold.

Minimum Duration

This determines how long a pitched segment of audio must be before it will produce a MIDI note. Increasing the duration may help reduce the number of glitches.

Bend Range

This tells the pitch tracker how far a note can be bent in semitones. For example, a Bend Range of 1 or 2 might work well for a guitar part with heavy vibrato. The Bend Range value should also match the range set on your synthesizer's pitch wheel.

Bend Spacing

Determines how often pitch wheel events will be added, in ticks.

Destination Track

Enter a track number in this field. Cakewalk will put the newly-generated MIDI events onto that track.

Preset

Use this field to choose and enter presets.

See Also:

Edit | Audio menu


Noise Gate

In technical terms, the Remove Silence command utilizes a noise gate.  A basic noise gate works as follows.  It examines audio at its input, allowing the audio to pass through to its output only when an imaginary gate is open.  This gate is opened when the audio's loudness crosses a certain threshold, the open level.  The gate then remains open until the loudness falls below another threshold, the close level.

More sophisticated noise gates employ various time delays.  For example, rather than immediately closing when the audio becomes too quiet, a gate may first wait until its release time has passed.  A situation where a release time is useful is when the noise gate is being used to process reverberant signals.  In this situation, you'd want the gate to allow the tail end of the reverberation to pass, in order to retain the feel of the original material.

Another useful time delay is known as hold time.  Hold time represents a guarantee of the minimum amount of time the gate will be kept open.  Hold time is useful when you've configured the gate with a high open level and close level, for example, when your source signal is very loud.  Noise gates configured in this way tend to react to repeated percussive passages (such as drum rolls) by repeatedly opening and closing, and this is usually not a desirable effect.  By setting a hold time, you can ensure that the gate will stay open long enough during these kinds of passages.

A time delay made possible by the advent of digital noise gates is attack time.  A gate that uses attack time seems clairvoyant.  It anticipates the level of future incoming audio, and opens the gate beforehand.  The most common application of attack time is for vocal material.  If a standard noise gate were applied to speech, you would perceive that the beginning of many words were being clipped by the gate.  By using an attack time, you can ensure that spoken material sounds more natural when it comes out of the gate.

Finally, the digital noise gate used in Cakewalk has a granularity time.  This time determines the sensitivity of the noise gate to volume.  If granularity is large, then loud audio levels must be sustained over a longer period of time before the gate will open.  If granularity is smaller, even brief moments of loudness will open the gate.


Extract Timing
Extract Timing (Edit | Audio menu)

Overview

The Extract Timing command first analyzes the audio for pulses: sudden percussive changes in volume.  Then, from each pulse's position and intensity, Extract Timing synthesizes new timing information, in the form of note events or tempo changes.

This command offers exciting ways to get your MIDI data to groove along with audio rhythm tracks.  For example, using Extract Timing you can:

• Generate MIDI notes that play along with a rhythm, retaining all the accents in the rhythm track.

• Create templates for the Groove Quantize command, so that your MIDI plays with the same feel as your rhythm track.

• Adjust the tempo and feel of an existing sequence to match that of a new rhythm track.

• Record a new MIDI sequence on top of an audio rhythm track, letting the audio track determine the metronome for the song.

How to use Extract Timing

When you select Extract Timing from the menu, you will be presented with a dialog box that lets you specify the parameters for its pulse analysis and timing synthesis.  If you've selected Extract Timing from within an Audio view, you can press the Preview button to get visual feedback about the location of each pulse that was found.

There are two important things to keep in mind when using this command.

1. Extract Timing is dumb.  It knows nothing about the musical context of  the audio.  It hasn't got a clue about the tempo of the audio, the feel, or time signature.  It only knows how to listen for sudden changes in volume.  You, the user, must guide it with your smarts about the music.

2. Extract timing is a two step process: Pulse Analysis, followed by Timing Synthesis.  The second step depends on the success of the first.

Step 1.  Pulse Analysis

This is where the selected audio is scanned for sudden percussive attacks.  When you start the Extract Timing command, you should first focus on the Pulse Analysis parameters, adjusting them and previewing the results until the pulses seem right.

The following table explains the Pulse Analysis parameters in the Extract Timing dialog box.

Trigger Level (%)	Specifies how percussive the audio must be to trigger a new pulse.  Note that Trigger Level does not measure loudness, it measures the suddenness of changes in volume.
Minimum Length (ms)	Specifies the minimum allowable amount of time between pulses.  If you are dealing with dynamic source material, and Extract Timing seems to come with clusters of pulses that don't seem right, you may want to try increasing the value of this parameter.
Find a Steady Rhythm	When this option is checked, Extract Timing will try to find a steady rhythm among all the pulses it finds.  For example, if you're analyzing a drum track that consists of a steady beat on the snare and kick-drum, but also has some syncopated accents, you can use Find a Steady Rhythm to ignore the syncopation and retain only the backbeat.

After you've set the Pulse Analysis parameters to your satisfaction, you're ready for the next step, Timing Synthesis.

Step 2.  Timing Synthesis

This is where the pulses are converted into musically meaningful data, such as MIDI events or tempo changes.

Expected Pulse Duration	This parameter is ignored unless you've checked Insert Tempo Changes (below).  By setting this value, you can assign a musical time value to each pulse that was found.  For example, if you're analyzing a drum beat that has steady 8th notes on the high-hat, you should set this value to "Eighth" for the correct tempo changes to be inserted.
Convert Pulses to MIDI Note	When this option is checked, Extract Timing will create a MIDI note event for each pulse that was found.  The Note parameter allows you to choose which note will be used.
Note Velocities	This parameter is grayed unless you've checked Convert Pulses To MIDI Note.  If you choose Vary With Pulse Level, the MIDI note velocities will get louder and softer, following the feel of source audio material.  If you choose Set All To Same Value, each inserted MIDI note will have the velocity you specify.
Insert Tempo Changes	When this option is checked, Extract Timing will insert tempo changes in the appropriate places in your song to ensure that the sequence plays in time with rhythm track.  Please remember to set the Expected Pulse Duration, since it defines the metronome markings for all tempo changes.
How to generate MIDI notes that play along with an audio rhythm track:

1. Select the audio events which contain the rhythm track.

2. Choose the Extract Timing command and adjust your pulse analysis parameters.

3. Check Convert Pulses to MIDI, uncheck Insert Tempo Changes, and press OK.

4. Paste the notes into a new track.

How to create templates for Groove Quantize from an audio rhythm track:

1. Generate MIDI notes as described above.

2. Use the clipboard as a template for Groove Quantize.

How to a synchronize a sequence to an audio rhythm track:

1. Select the audio events which contain the rhythm track.

2. Choose the Extract Timing command and adjust your pulse analysis.

3. Check Find A Steady Rhythm and Insert Tempo Changes.

4. Uncheck Convert Pulses to MIDI.

5. Set Expected Pulse Duration to the rhythmic unit of each pulse.  Press OK.

Preset

Use this field to choose and enter presets.

Audition

Click on this to hear the results of the command on the first three seconds of the selected audio.

See Also:

Groove Quantize


Graphic Equalizer
Graphic EQ (Edit | Audio menu)

Graphic EQ

Graphic EQ allows you to adjust the equalization of your audio across ten frequency bands.  The width of each frequency band doubles as you go from low to high frequencies.  In other words, Graphic EQ provides you with ten octaves of equalization.

To use the Graphic EQ, simply set one more of the frequency sliders to the desired amount of gain or boost.  If you make a mistake and would like start over from a "flat" equalization curve, choose the <Bypass> preset.  Once you've set all the sliders, press OK and the equalization will be applied.

Note that clipping or distortion may occur if a frequency range is boosted too high.

Preset

Use this field to choose and enter presets.

Audition

Click on this to hear the results of the command on the first three seconds of the selected audio.

See Also:

Edit | Audio menu


Parametric Equalizer
Parametric EQ (Edit | Audio menu)

Parametric EQ allows you to accurately adjust audio equalization.  Four different types of equalization are available by choosing a  Filter Type:

High pass	Stops frequencies which are below the cutoff F1.
Low pass	Stops frequencies which are above the cutoff F1.
Band pass	Stops frequencies which lie outside the range F1...F2.
Band stop	Stops frequencies which lie within the range F1..F2.
The F1 and F2 parameters establish the frequency settings for the filter, as listed in the table above.  Note that clipping, distortion or "ringing" may occur if F1 and F2 are too close together in a Band pass or Band stop filter.

The Cut parameter determines the maximum desired amount of gain reduction to apply to stopped frequencies.

The Quality parameter determines the "sharpness" of the frequency cutoff, i.e., how far outside the cutoff range a frequency must be for its gain to be fully reduced.  Higher values Quality are "sharper."

The Gain parameter determines an overall gain to be applied to the filtered audio.  Note that clipping or distortion may occur if the gain is too high.

Preset

Use this field to choose and enter presets.

Audition

Click on this to hear the results of the command on the first three seconds of the selected audio.

See Also:

Edit | Audio menu

Graphic EQ


3dB Louder
3dB Louder (Edit | Audio menu)

Use this command to increase the volume of the selected audio by 3dB (50%).

See Also:

Edit | Audio menu

3dB Quieter


3dB Quieter
3dB Quieter (Edit | Audio menu)

Use this command to decrease the volume of the selected audio by 3dB (50%).

See Also:

Edit | Audio menu

3dB Louder


Normalize
Normalize (Edit | Audio menu)

Use this command to increase the volume of the selected audio to its maximum possible level before clipping.   Since the amount of increase is determined the volume of the loudest audio in the selection, the Normalize command may not seem to have any effect if the selection contains any loud signals.

See Also:

Edit | Audio menu

3dB Louder

3dB Quieter

Fade/Envelope


Fade/Envelope
Fade/Envelope (Edit | Audio menu)

All of the fade commands perform a gradual volume increase or decrease on each selected audio event.  Fade ... In  commands set each event's starting volume to 0% and ending volume to 100%.  Fade ... Out  commands set each event's starting volume to 100% and ending volume to 0%.  Different styles of fade commands describe different shapes when changing the volume between 0% and 100%.

Fade Linear In/Out change the volume in a straight line.

Fade Exponential In/Out changes the volume in the shape of an exponential curve.

Fade Inverse Exponential In/Out changes the volume in the shape of a ( 1 - exponential ) curve.

If you like, you can Customize the Fade Curve to a different shape.

See Also:

Edit | Audio menu

Crossfade

Customizing a Fade Curve


Crossfade
Crossfade (Edit | Audio menu)

Use this command to create a smooth transition between two audio events which overlap in time, or to create interesting stereo panning effects.  As with the Fade command, you may choose the shape of volume envelope for a crossfade.

To smooth the transition between two overlapping audio events

First, select one or more audio events which overlap in time and are on the same track.  If none of the events you select overlap, Crossfade will have no effect.

Next, choose Edit | Audio | Crossfade, and pick the shape of the crossfade want to apply. If you like, you can Customize the Crossfade Curve to a different shape.

To create stereo panning effects

First, select one or more audio events which overlap in time and are on different tracks. If none of the events you select overlap, Crossfade will have no effect.

Next, choose Edit | Audio | Crossfade, and pick the shape of the crossfade want to apply. If you like, you can Customize the Crossfade Curve to a different shape.

See Also:

Edit | Audio menu

Fade/Envelope

Customizing a Fade Curve


Customizing a Fade Curve
Customizing a Fade or Crossfade Curve

After choosing a basic curve shape from the Fade/Envelope or Crossfade dialog box, you are free to tailor the shape of the curve by clicking on the curve itself.  As you move the mouse over a line-segment on the curve, the cursor will change its shape to a pencil [image] to indicate that you are permitted to click to make changes.

To move an endpoint of a line-segment:  Click on the small square at the endpoint, and drag it to the desired position.

To split a line-segment into two new segments:  Click anywhere on the line segment, and a new endpoint will appear.  You can move this endpoint in the same step as creating it by dragging the mouse before releasing the mouse button.

To remove a line segment:  Click on the small square at the endpoint, and drag it so that it lies directly over another adjacent endpoint.

See Also:

Edit | Audio menu

Fade/Envelope

Crossfade


Reverse
Reverse (Edit | Audio menu)

Use this command to reverse the audio data in each selected audio event.

Note that this command does not reverse the musical start time of a series of audio events.  To do that, use the Retrograde command.

See Also:

Edit | Audio menu


Properties
Event Properties (Edit | Audio menu)

Use this command to edit the name, starting time , velocity, and Material type of an audio event.

Note: This command is available only from the Audio View inspector (right-click) menu.

See Also:

Edit | Audio menu


Audio Events

Audio events contain digital audio data.

Because digital audio requires a large amount of memory, audio is stored in disk files. On a dedicated system like Session8, the files are stored on a hard disk (or multiple disks) under the control of that system. These are "remote" drives and files. With a sound card, the digital audio is stored in the form of standard Windows .WAV format files on your computer's regular hard drive.

Only 16-bit digital audio is supported (not 8-bit). For sound card systems, all digital audio in the same song must be at the same sampling rate (for instance, 44.1 kHz). Some dedicated audio systems do permit mixing sample rates in the same song; Cakewalk can do this if the system permits it.

Audio events are always mono.  You may record stereo to a pair of mono Audio events.  Use the Audio Meters view to check your analog input levels.  After you complete recording, a pair of Audio events will be automatically created and placed in the two tracks. You may assign each track an audio port for the respective left or right channel.

Audio events also have a velocity property, much like Note events.  You may use this to adjust the loudness of individual events, without actually changing the wave data.  Cakewalk uses the velocity while mixing Audio events during playback. The velocity value ranges from 0 to 127.  The value 103 means "normal," that is, the loudness of the actual wave data.

Of course, you may also modify the loudness of the wave data itself, using the line/pencil tool in the Audio view, or the various Edit | Audio commands.

See Also:

Audio events and disk space


Audio Events and Disk Space

Audio events automatically share as much backing disk space as possible. Assume one Audio event is copied. Both the original and the copy share the same disk space. A change to a portion of one event will cause the corresponding portion of the backing storage to become unshared. The portion of the two events that remains identical, however, will continue to be backed by shared storage.

For speed and to support non-destructive editing, Cakewalk may store a single Audio event in pieces split across more than one .WAV file. Use the Export Audio to Wave command if you need to create a single contiguous .WAV file for use by another product.

The net result of this is that you don't have to play the role of "disk-space manager" like you do with some products. With such products, you are acutely aware of how much disk space audio requires and must manage it carefully.  If you want to reuse a portion of audio elsewhere, you must be careful to create a "region" that refers to a portion of the same sound file. And if you make a destructive edit to the sound file, it will affect all regions, whether or not this is what you intended or wanted.

In Cakewalk, by contrast, you can work as though audio were more "lightweight". Disk-space optimization is handled for you. You can think of Audio events as independent events just like notes, and freely copy and modify them. Cakewalk will do the work of conserving disk space by trying to share storage among similar audio events. Computers are good at boring tasks like this. Computers should do them so you don't have to.

In cases where you do want to make the same modification to many identical Audio events, simply select all of them, and make the modification.  Cakewalk is "smart" enough to optimize such operations and continue to maintain shared backing store as much as possible.

See Also:

Audio events

Compact Audio Data

Clean Audio Disk

Export Audio to Wave


Audio channels and polyphony

As explained in the Track Port topic, tracks containing audio events should be set to output to audio ports.

Audio ports correspond to audio outputs in the audio hardware. The actual number of available outputs depends on the type of audio hardware you are using.

Each audio port may be capable of playing multiple audio events at the same time ("polyphony"). How many simultaneous events are possible is hardware-dependent. In the case of dedicated systems like Session8, this number is determined by the capabilities of that system. In the case of sound cards, the number depends on the speed of your CPU and hard disk.

Each audio port has only one Volume and Pan setting that may be in effect at any time. Regardless of how many sound files are being played, they all share the same Volume and Pan setting in effect at that moment for the port. (This is similar to multiple notes playing on a specific MIDI channel: there is a single Volume and Pan setting in effect for all notes on that same MIDI channel).


Audio Hardware

This command lets you choose the audio hardware that Cakewalk Pro Audio will use, without making you edit the "AudExtDLL" entry in WINCAKE.INI. Just highlight the device you are using in the list, and click OK.


This electronic help document is Copyright © 1992-1997 by Twelve Tone Systems, Inc.  All rights reserved.

Cakewalk, Cakewalk Express, Cakewalk Home Studio, Cakewalk Professional, Cakewalk Pro Audio, and Cakewalk Music Software are trademarks of Twelve Tone Systems, Inc.

All of us here work hard to provide powerful but affordable software.  From the day in 1987 when Cakewalk 1.0 for DOS first shipped, we have never used copy-protection.  We thank you for your purchase of this product!


Glossary

activate

controller

CAL

event filters

layers

Now marker

patch changes

synchronization

System Exclusive

velocity


activate

Activating a window means to make it the topmost, current window.  The window caption changes to show that it is the active window.  If an application's main window is active, then one of its "child" windows may be active, too.


event filters

Event filters let you specify criteria that an event must meet in order to be affected by some operation.  Each row specifies a kind of event to include or not.  If you check including a kind of event, the rest of the row indicates certain values that an event must have to still be included.


velocity

In MIDI, how fast you strike a key is called the velocity.  Each note event has a velocity stored with it.  Usually the velocity controls how loud and/or "bright" the sound of the note is, just like with a real piano.  But this depends on the synthesizer or sound card: velocity can sometimes have no effect (as with an "organ" patch) or set to control other characteristics of the sound.


patch changes

A type of MIDI command that tells an instrument to use a different sound.  Numbers from 0 to 127 each select a different sound -- what sound depends on the synthesizer: MIDI doesn't require that certain numbers mean certain kinds of sounds.  This flexibility has many benefits.  But an optional "General MIDI" specification does assign sounds (like "Grand Piano") to particular numbers, making it easier to distribute MIDI Files that will sound similar on different equipment.

Note that manufacturers use an incredible variety of jargon for "patch", including "program", "voice", "preset", and other terms.  We stick with "patch" because it's one of the oldest phrases and one which doesn't have other meanings for electronic music.


synchronization

A mode of playback where Cakewalk follows an external source of timing instead of its internal clock.


Now marker

Shows the current time.  As you play or record, this will change to reflect the current time.  While not playing or recording, as you move through screens you will change the current time.  Some editing commands -- like Paste -- also propose using the Now marker for a time.


controller

MIDI uses controller messages for a variety of things.  Each controller message has a number for what it controls.  The MIDI spec assigns many controller numbers to standard functions.  For example, controller 1 is the Modulation Wheel, controller 7 is Volume, controller 10 is Pan, and controller 64 is sustain pedal.  However, not every synthesizer responds to every assigned controller number.  And some synthesizers have special functions assigned to other numbers.  You need to check the manual for a synthesizer to see what it responds to.  Each controller message also has a value.  For instance, 0 for Modulation Wheel means no modulation, and 127 means full modulation.  The Sustain Pedal is an "on/off" controller, so 0 -63 means no pedal and 64-127 means the pedal is down.


System Exclusive

MIDI data that is understood only by a particular brand/model of synthesizer and ignored by everyone else.  Each manufacturer gets a unique ID code with which to tag their System Exclusive messages.  Typically used to save/restore data describing patches (sounds) and/or configuration information for a synthesizer.  Cakewalk can receive this data, store it, and transmit it, but cannot understand what it means.


layers (Staff view)

When a staff contains other than chordal harmony -- that is, overlapping notes with different durations -- separate layers must be created.   Each layer has its own stem direction, beaming, and rests.  Cakewalk has no internal limit to the number of layers, but aesthetics will impose a practical limit.  If too many notes, too close in pitch are crammed together; Cakewalk cannot resolve these "aesthetic errors".  You can help by moving parts to different tracks, so they can have a staff to themselves.


CAL

Cakewalk Application Language.  CAL is an interpreted language for writing custom editing commands.  CAL programs can get user input, display messages, and insert, delete, and modify events in tracks.


Answers to common questions

Here are answers to some of the most common questions about Cakewalk Pro Audio.  Checking this list may save you a phone call to technical support!

Setup

•  Why can't I hear anything on my synthesizer (no MIDI output)?  Answer

•  Why can't I record anything? (no MIDI input)?  Answer

•  How do I get a driver for my brand of MIDI interface?  Answer

Audio

• I have Audio events: Why can't I hear them play?  Answer

• Why is my audio playback distorted?  Answer

• How do "Audio" events differ from version 3.0's "Wave" events?  Answer

• I'm using Audio sync, and the MIDI playback is erratic: Why?  Answer

•  Why can't I play digital audio using my MPU-401 or other MIDI interface card?  Answer

Printing

•  Why do I get a "General Protection Fault" when I try to print?  Answer

•  How can I print to a file? Answer

Customization

•  How do I create my own set of Patch Names?  Answer

•  How do I use my own Patch Names I created with version 1.0 or 2.0?  Answer

•  How and why should I use the Microsoft MIDI Mapper?  Answer

Synchronization

•  Why won't my drum machine sync to Cakewalk?  Answer

Miscellaneous

•  What is the meaning of life?  Answer


"General Protection Fault" (GPF) while printing

Solution: Contact the manufacturer of your printer and make sure you have the most recent version of their driver for Windows.  If not, obtain and install it.

Explanation: When Cakewalk prints, it uses the printer driver that you've installed in Windows.  Many printer drivers have problems ("bugs") which appear only when certain applications use them, even when the application is using them correctly.  Unfortunately, Cakewalk's intensive use of TrueType fonts may flush out a problem with a printer driver which is not apparent when you're using other programs.  The printer driver may crash.  You can tell this because the error message identifies the printer driver as the program which crashed, not Cakewalk.

We have investigated this problem thoroughly.  In all cases so far, we have not found any way in which to modify Cakewalk to avoid a printer driver problem.  The only solution, unfortunately, is to obtain a fixed version of the driver.  The good news is that many printer manufacturers update their drivers frequently, and newer versions of many will work fine with Cakewalk.

Hint: Sometimes a driver for a similar printer will work and will not cause a GPF.

Example:  A manufacturer makes similar ink jet printers.  One printer is black & white only, the other is color.  The color printer is "backward compatible" with the B&W one, so the driver for the B&W one will also print correctly with the color printer.  The B&W driver does not cause a GPF crash.  Solution:  Use the B&W driver to print from Cakewalk to the color printer.  Music notation is all black & white anyway!

This does not mean you lose the ability to print in color from other programs when you need to.  Windows lets you install more than one printer driver for the same printer port.  You may choose among drivers from each Windows program's Print Setup dialog.  Install both the B&W and color drivers.  Choose the B&W driver when printing from Cakewalk and choose the color driver when you need to print in color from other programs.

Example:  If you have a printer "model number 4", the driver for "model number 3" may work with model 4 and may not cause a GPF.  As described in the previous example, you may install both drivers and select either as needed.

Please see README.WRI.  There may be additional information about specific printer models and driver version numbers.

Other common questions....


Required hardware for digital audio

There are basically three functions that multimedia audio hardware can provide:

  (1) MIDI interface (cable connection to external synthesizers)

  (2) Tone generators (on-board synthesizers)

  (3) Digital audio (wave audio, like a CD or DAT recorder/player)

Various multimedia audio cards provide one or more of these three functions.  MIDI interfaces like the MPU-401 provide only the first.  Products like Sound Blaster combine all three functions in a single card.

To use digital audio, you must install a sound card with digital audio capabilities and install a wave driver for the card using Windows Control Panel.  For more information, consult the manufacturer of the sound card you own or are considering purchasing.

Other common questions....


No MIDI output

If you aren't getting any MIDI output, please run through this checklist:

1.	Make sure you've connected your cables properly.  See the instructions in the Cakewalk Users Guide.

2.	Make sure you install a MIDI driver for your interface using Windows Control Panel.  See the instructions in the Cakewalk Users Guide.  Make sure you specify the correct configuration information -- like IRQ and base port address -- in the driver's setup dialog box.

3.	Now the driver is available for Windows programs to use.  Next, you need to tell Cakewalk to use it. Choose the MIDI Devices command on the Settings menu and make sure the device is selected (highlighted) in the MIDI Out list.  Click on the device name to be sure it is selected; if the name only has a dotted box around it but isn't drawn in reverse video, then it is not selected!

4.	Try loading and playing a sample workfile included with Cakewalk.  Make sure that each track is set to a Port and Channel to which you've connected a synthesizer.  Because you can change the Port and Channel during playback, you can experiment with different settings easily until you hear a sound.

Other common questions....


No MIDI input

If you aren't getting any MIDI input, please run through this checklist:

1.	Make sure you've connected your cables properly.  See the instructions in the Cakewalk Users Guide.

2.	Make sure you install a MIDI driver for your interface using Windows Control Panel.  See the instructions in the Cakewalk Users Guide.  Make sure you specify the correct configuration information -- like IRQ and base port address -- in the driver's setup dialog box.

3.	Now the driver is available for Windows programs to use.  Next, you need to tell Cakewalk to use it. Choose the MIDI Devices command on the Settings menu and make sure the device is selected (highlighted) in the MIDI In list.  Click on the device name to be sure it is selected; if the name only has a dotted box around it but isn't drawn in reverse video, then it is not selected!

Other common questions....


Microsoft MIDI Mapper

The Microsoft MIDI Mapper is intended to help make MIDI song files be "portable" from one system to the next by mapping patch numbers, key numbers, and so on from a standard General MIDI layout to whatever synthesizer a particular user has.  If you are not preparing or using MIDI song files for multimedia distribution purposes, you may not need to use the MIDI Mapper at all: it may be solving a problem that you don't have and needlessly complicating your setup.

If you do need the Microsoft MIDI Mapper, be sure to read Microsoft's documentation for it.  Also, feel free to call Microsoft Windows Technical Support for assistance using their product.

To get you started, however: One key point is that you have Cakewalk use the MIDI Mapper instead of directly using the device.  The whole idea is for the MIDI Mapper to sit between Cakewalk and the device and map data on the way.  For example, in Cakewalk's MIDI Devices list you would select "Microsoft MIDI Mapper" but not select "Sound Blaster".  Instead, select "Sound Blaster" in the MIDI Mapper, using the Windows Control Panel.  So you set up a chain: Cakewalk sends data to the MIDI Mapper, the MIDI Mapper transforms the data and sends it to the Sound Blaster.

Other common questions....


Creating your own patch names list

Use the Instruments command on the Settings menu to create custom patch names.

Using Patch Names in your PATCHES.INI from version 1.0 or 2.0

This section matters only if you created your own patch name lists for version 2.0 or earlier.   This section tells you how to move those lists into version 6.0.

Version 6.0 has a more sophisticated feature.  The Settings | Patch Names command has been replaced with Settings | Instruments.  Instrument definitions include a set of patch names, plus other information like controller names and note names (see the User's Guide for a full explanation).

To move your custom patch name lists into version 6.0:

Overview:  MASTER.INS is a new file used by version 6.0 that contains all patch names, controller names, note names, and bank select information.  In other words, MASTER.INS contains complete instrument definitions.

When converting custom patch name lists from your PATCHES.INI file to be included in MASTER.INS, you will need to use a text editor.

Following are the steps you need to take:

1.  Copy your PATCHES.INI to a file with an .INS extension.  For example, OLD.INS.

2.  Open the file in a text editor to perform the remaining steps.

3.  Delete everything from the file except the patch names you created.  In other words, delete all the patch name lists that were supplied with version 2.0, leaving behind only the patch name lists that you added.  This will save time in the following steps.

Note: You may also wish to check whether version 6.0 supplies patch names that you needed to create for version 2.0.  A number of new ones have been added.

4.  Add this line to the very start of the file -- before all of your patch name lists:

.Patch Names

It is important that you include the period ('.') at the start of the phrase, and place this line at the very start of your file.

5.  Add this line to the very end of your file -- after all of your patch name lists:

.Instrument Definitions

It is important that you include the period ('.') at the start of the phrase, and place this line at the end of the file.

6.  Below the .Instrument Definitions line, you must add a small instrument definition for each patch name list.   For example, if you have a patch name list titled "Whizbang 100", add the following instrument definition:

[Whizbang 100]
Patch[*]=Whizbang 100

The character between the brackets [ ] is an asterisk: *.

Now, you have created an instrument definition that uses your patch name list.  You may use the same title ("Whizbang 100") both for the patch name list and for the instrument definition.

Repeat this step for each patch name list represented in the .Patch Names section.

7.  Once you have completed step 6, start Cakewalk Pro Audio 6.0 and import the file:

(a) Choose Settings | Instruments.

(b) In the Assign Instruments dialog, press the Define Instruments button.

(c) In the Define Instruments dialog, press the Import button.

(d) Supply the name of your file.  In our example, this is OLD.INS.

(e) Press OK.

(f) If the titles of any of your own instrument definition or patch name lists have the same name as those supplied with version 6.0, the existing definition will be replaced. Version 6.0 supplies instrument definitions that are more complete than simply a set of patch names.

(g) When the import completes, press OK to return to the Assign Instruments dialog.  Assign your new instrument definition(s) to whatever Port/Channels you wish.  Press OK.

Other common questions....


Devices and drivers

Windows 95 provides the Multimedia Extensions.  Manufacturers of MIDI interfaces, sound cards, and other multimedia hardware can create drivers.  Any Windows program can use these drivers to know how to work with a particular model of sound device.  Cakewalk uses these standard drivers.

We have supplied a couple drivers with Cakewalk only as an interim provision to help the owners of a few of the most popular MIDI interfaces.  Eventually even these drivers will be available directly from the maker of the MIDI interface.

If your MIDI interface is not in this list, you need to contact its manufacturer to obtain a Windows driver for it, otherwise Cakewalk will not know how to work with it.

Other common questions....


How do "Audio" events differ from version 3.0's "Wave" events?

The old Wave events in Cakewalk 3.0 were embedded .WAV files. These files could be in any format (any sampling rate and either 8- or 16-bit) supported by your sound card. During playback, Cakewalk 3.0 would trigger the .WAV file to start playing, at roughly the correct time. The audio  played at its own rate, and could gradually drift out of sync with the MIDI. Only one .WAV file could play at the same time.

The new Audio events in this version refer to audio files that are external to the .WRK file. These files must be 16-bit audio, at the same sampling rate (for example, 44.1 KHz). Cakewalk monitors the digital audio as it is played, derives timing information and synchronizes MIDI to the digital audio. With sound cards, Cakewalk can play as many Audio events at the same time as the speed of your computer and its hard drive permit. With dedicated systems, Cakewalk supports whatever they support.

Other common questions....


I'm using Audio sync, and the MIDI playback is erratic: Why?

This section only applies to using Cakewalk Pro Audio with a Windows sound card, not with a dedicated system like Session8.

Choose Settings | Audio Options and press the Advanced button. Confirm that the DMA Size and DMA Offset items are set to the correct values for your sound card. Cakewalk  needs to know the exact way in which your sound card processes blocks of audio.  If you are not sure what these values should be, click the Wave Profiler button. Cakewalk will try to determine these settings for you automatically.

Other common questions....


I have Audio events: Why can't I hear them play?

Any combination of the following might be the reason:

•  In the Track view, make sure the track containing the Audio events is set to an audio port.

•  Try the usual suspects (volume knobs, cables, etc.).

Other common questions....


Why is my audio playback distorted?

Distortion happens when too many digital audio events are played simultaneously.  You are essentially overloading the dynamic range of the digital audio mixer.

If you are using dedicated hard disk recording hardware...

This problem can be corrected by reducing the Volume property of each audio track in the Track view.

If you are using a Windows sound card...

This problem can be corrected by reducing the velocity property of audio events, using any of the following methods:

•  In the Audio view or Event List view, reduce the velocity stored with each audio event.

•  Turn down the Volume of each audio track in the Track view.

•  In the Track view, set the Vel+ property of each audio track to values less than zero.  For every audio event in that track, this subtracts that amount from the velocity stored with the audio event. In other words, if audio events already have different velocities relative to each other, this will preserve those relationships while making all of the velocities lower by the same amount.  This reduction happens only during playback.  The events continue to store the original velocities.

•  Select one or more audio events, and choose the Interpolate or Velocity Scale commands to reduce the events' velocity.

Other common questions....


Slaving drum machines to Cakewalk's MIDI Sync

Cakewalk can either slave to MIDI Sync, or be the master providing MIDI Sync for something else to sync to.  For the latter -- for example, if you are using a drum machine which you want to follow Cakewalk -- go through the following checklist:

1.	On most models of drum machines, you can select whether or not it should slave to MIDI Sync.  Make sure this is turned ON.

2.	Double-check the connection from your computer's MIDI OUT jack to the drum machine's MIDI IN.

3.	If you are using more than one MIDI output port on your computer, you need to tell Cakewalk which of these ports to send MIDI Sync info to.  Do this in the MIDI Output dialog's MIDI Output Port item: specify the port to which you've connected the drum machine.

4.	Choose MIDI Out, and make sure the Transmit MIDI Start/Continue/Stop/Clock option is ON.  This must be turned on for each new workfile you create: it is off by default.

Other common questions....


How can I print to a file?

There may be situations where you want to print from Cakewalk, but don't have a printer connected to your computer.  If so, you can print to a file.  You can take this file to a computer which does have a printer attached, and print from there.  This other computer does not need to have Cakewalk installed.

This technqiue may be used with any Microsoft Windows 95 program, not just Cakewalk.  It is explained in your general Microsoft Windows 95 documentation, but we will explain it here for your convenience.

One-time step: Install a printer driver

You must perform the following steps once to install a special printer choice.  When you choose this printer, Cakewalk will print to a disk file instead of to a real printer port like LPT1.

1.    Determine the make and model of the printer to which you want to print.

2.    Start Windows Control Panel.

3.    Double-click the Printers icon.

4.    Double-click the Add Printer icon.

5.    Press the Next button.

6.    Select Local Printer then press the Next button.

7.    Select the manufacturer and Model of your printer then press the Next button.

8.    From the list of available Ports select FILE: and then press the Next button.

9.    Enter a Printer Name and then press the Next button.

10.  Press the Finish button.

Note: Control Panel will probably ask you to insert your Windows 95 CD-ROM.

Tip: If you are not sure which printer to pick, see what printer driver is installed in Windows on the machine to which the printer is connected.  Use the same driver on your machine.

This completes the one-time installation.

Printing to a file from Cakewalk

Whenever you want to print to a disk file, perform the following steps:

1. Choose the Print command from the File menu.

If the printer you installed above isn't listed as the default Printer, press the Setup button to pick it.

2. Press OK.

3. You will be asked for a file name, to which Cakewalk will print.  For example, supply the name, MYFILE.PRN.  Press OK.

Printing from a file

1. Insert the floppy disk into the computer.

2. At the DOS Prompt prompt, type:

COPY A:\MYFILE.PRN LPT1

This example assumes the printer is connected to the LPT1 port.

Note: You must ensure that you have the appropriate print driver selected.  For example, if you print to a file based using the HP LaserJet 4 driver, you can only print on computers connected to a HP LaserJet 4.  Choosing a driver that is not consistent with the printer connected may result in garbage output on the printer.

Other common questions....


What is the Meaning of Life?

Just seeing if you're paying attention.

This is indeed a very common question, but the answer is not available with this version of Cakewalk.  We hope to include it in a future version.  Please return your registration card today so we will be able to contact you.

Other common questions....


CAL Function Reference

General CAL functions

CAL data types

Math functions

Relational functions

Boolean functions

Assignment functions

(forEachEvent)

Event parameter variables

Marker variables

Buffer functions

Musical time functions

Output functions

Input functions

Control flow functions

(include)

(DLL)

(sendMIDI)

(delay)

CAL functions corresponding to Cakewalk user commands

File menu

Edit menu

GoTo menu

Track menu

Settings menu

See Also:

CAL view


File menu CAL functions

FileNew

FileOpen

FileSave

FileSaveAs

FileMerge

FileExtract

These correspond to commands available on the File menu.

See Also:

CAL Function Reference


{CAL function} FileNew
(FileNew)

(FileNew [<szTemplate>])

If szTemplate argument is omitted, then the user is prompted for the name of a template.  The szTemplate argument is a string and should contain only the base name of the template, without an extension.  For example "Normal" is correct but "NORMAL.TPL" is not.

Returns: FALSE if the template was not found and loaded.  This could be either because of an error reading the file or because the user pressed Cancel in the dialog.  The "Normal" template always works: if no NORMAL.TPL file is found, a blank work is created with the normal program defaults.

See Also:

New

CAL Function Reference


{CAL function} FileOpen
(FileOpen)

(FileOpen [<szPathname>])

If  szPathname argument is omitted, then the user is prompted for the name.

Returns: FALSE if file was not loaded.  This could be either because of an error reading the file or because the user pressed Cancel in the dialog.

See Also:

Open

CAL Function Reference


{CAL function} FileMerge
(FileMerge)

(FileMerge [<szPathname>])

If szPathname argument is omitted, then the user is prompted for the name.

Returns: FALSE if file was not loaded.  This could be either because of an error reading the file or because the user pressed Cancel in the dialog.

See Also:

Merge

CAL Function Reference


{CAL function} FileSaveAs
(FileSaveAs)

(FileSaveAs [<szPathname>])

If szPathname argument is omitted, then the user is prompted for the name.

If szPathname already exists, then user is warned and given the ability to enter a different name.

Returns: FALSE if file was not saved.  This could be either because of an error writing the file or because the user pressed Cancel in the dialog.

See Also:

Save As

CAL Function Reference


{CAL function} FileSave
(FileSave)

(FileSave)

Returns: FALSE if file was not saved due to an error writing the file.

See Also:

Save

CAL Function Reference


{CAL function} FileExtract
(FileExtract)

(FileExtract [<szPathname>])

If szPathname argument is omitted, then the user is prompted for the name.

If szPathname already exists, then user is warned and given the ability to enter a different name.

Returns: FALSE if file was not saved.  This could be either because of an error writing the file or because the user pressed Cancel in the dialog.

See Also:

Extract

CAL Function Reference


Edit menu CAL functions

Function	3.0 compatible equivalent

EditCopy40	EditCopy

EditCut40	EditCut

EditPaste40	EditPaste  EditPasteToTrack

EditQuantize40	EditQuantize

EditGrooveQuantize40	EditGrooveQuantize

EditSlide40	EditSlide

EditTranspose40	EditTranspose

EditLength40	EditLength

EditRetrograde40	EditRetrograde

EditControlFill

EditVelocityScale40	EditVelocityScale

EditFitImprov

EditFitToTime

EditInterpolate

ResetFilter

SetFilterKind

SetFilterRange

These correspond to commands available on the Edit menu.

Each argument to a command function corresponds to items in the command's dialog box.

Version 4.0 introduces new versions of many Edit functions.  This is because 4.0 has a richer selection capability than version 3.0.  The new versions have a "40" suffix in their name, for example, EditCut40 is the new version of the EditCut function.

The old forms of the functions hardcode "From", "Thru" and "use event filter" values as arguments to the functions.  This is incompatible with operating on a more-complex selection created by the user.  For example, the user may now select any combination of discontiguous notes in the Piano Roll and Staff views.  In addition, there is no longer a single global selection: Each view has its own selection.  Whichever view is active determines which selection is used by commands.

The old functions are still supported by means of a selection object private to CAL.  This works much like the time-select mode in the Track view.  The TrackSelect function modifies the CAL selection object only, and thus only affects the old 3.0 compatible versions of these functions.

The Record button in the CAL view always records the new versions of these functions.  The goal is to support both the richer selection methods in 4.0, while preserving compatibility with older CAL programs.  Most older CAL programs should yield the same results as before.  In some cases it may be preferable to update them to use the new versions of the CAL functions: That way they will operate on exactly what the user has selected prior to running the CAL program.

See Also:

CAL Function Reference


{CAL function} EditCopy
(EditCopy)

(EditCopy [<tFrom> <tThru> <bEvents> <bEvtFilt> <bTempos> <bMeters> <bMarkers>])

This is the CAL 3.0 compatible function corresponding to the Copy command.

See Also:

Contrast with EditCopy40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditCopy40
(EditCopy40)

(EditCopy40 [<bEvents> <bTempos> <bMeters> <bMarkers>])

This is the new CAL 4.0 function corresponding to the Copy command.

See Also:

Contrast with EditCopy [CAL 3.0 compatible]

Edit menu CAL functions

Copy

CAL Function Reference


{CAL function} EditCut
(EditCut)

(EditCut [<tFrom> <tThru> <bEvents> <bEvtFilt> <bTempos> <bMeters> <bMarkers> <bDelHole>])

This is the CAL 3.0 compatible function corresponding to the Cut command.

See Also:

Contrast with EditCut40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditCut40
(EditCut40)

(EditCut40 [<bEvents> <bTempos> <bMeters> <bMarkers> <bDelHole>])

This is the new CAL 4.0 function corresponding to the Cut command.

See Also:

Contrast with EditCut [CAL 3.0 compatible]

Edit menu CAL functions

Cut

CAL Function Reference


{CAL function} EditPaste
(EditPaste)

(EditPaste [<tTo> <wReps> <nHoleKind> <bEvents> <bTempos> <bMeters> <bMarkers>])

This is the CAL 3.0 compatible function corresponding to the Paste command.

nHoleKind is ignored.

See Also:

Contrast with EditPaste40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditPasteToTrack
(EditPasteToTrack)

(EditPasteToTrack [<tTo> <wReps> <nHoleKind> <bEvents> <bTempos> <bMeters> <bMarkers> <nTrack>])

This is the CAL 3.0 compatible function corresponding to the Paste command.

nHoleKind is ignored.

Material is pasted into tracks beginning with nTrack.

See Also:

Contrast with EditPaste40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditPaste40
(EditPaste40)

(EditPaste40 [<tToTime> <nToTrack> <bOneTrack> <nReps> <tRepLen> <bAsNewClips> <bEvents> <bTempos> <bMeters> <bMarkers>])

This is the new CAL 4.0 function corresponding to the Paste command.

Arguments correspond to their similarly-named items in the Paste dialog box.

See Also:

Contrast with EditPaste and EditPasteToTrack [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditQuantize
(EditQuantize)

(EditQuantize [<tFrom> <tThru> <bEvtFilt> <wRes> <nPct> <bTimes> <bDurs>])

This is the CAL 3.0 compatible function corresponding to the Quantize command.

See Also:

Contrast with EditQuantize40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditQuantize40
(EditQuantize40)

(EditQuantize40 [<wResolution> <nPercent> <bTimes> <bDurations> <nSwingPct> <nWindow> <nOffset> <bNoteLyricAudioOnly>])

This is the new CAL 4.0 function corresponding to the Quantize command.

See Also:

Contrast with EditQuantize [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditGrooveQuantize
(EditGrooveQuantize)

(EditGrooveQuantize [<tFrom> <tThru> <bEvtFilt> <wRes> <nWindow> <nTimePct> <nDurPct> <nVelPct> <OutOfWindowMode> <szFilePattern>])

This is the CAL 3.0 compatible function corresponding to the Groove Quantize command.

See Also:

Contrast with EditGrooveQuantize40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditGrooveQuantize40
(EditGrooveQuantize40)

(EditGrooveQuantize40 [<wRes> <nWindow> <nTimePct> <nDurPct> <nVelPct> <OutOfWindowMode> <szFile> <szPattern> <bNoteLyricAudioOnly>]

This is the new CAL 4.0 function corresponding to the Groove Quantize command.

See Also:

Contrast with EditGrooveQuantize [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditSlide
(EditSlide)

(EditSlide [<tFrom> <tThru> <bEvtFilt> <nAmount> <bUnitTicks>])

This is the CAL 3.0 compatible function corresponding to the Slide command.

If bUnitTicks is TRUE, then nAmount is treated as ticks; otherwise it is treated as measures.

See Also:

Contrast with EditSlide40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditSlide40
(EditSlide40)

(EditSlide40 [<nAmount> <bUnitTicks>])

This is the new CAL 4.0 function corresponding to the Slide command.

If bUnitTicks is TRUE, then nAmount is treated as ticks; otherwise it is treated as measures.

See Also:

Contrast with EditSlide [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditTranspose
(EditTranspose)

(EditTranspose [<tFrom> <tThru> <bEvtFilt> <nAmount> <bDiatonic>)

This is the CAL 3.0 compatible function corresponding to the Transpose command.

See Also:

Contrast with EditTranspose40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditTranspose40
(EditTranspose40)

(EditTranspose40 [<nAmount> <bDiatonic>)

This is the new CAL 4.0 function corresponding to the Transpose command.

See Also:

Contrast with EditTranspose [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditLength
(EditLength)

(EditLength [<tFrom> <tThru> <bEvtFilt> <nPercent> <bStartTimes> <bDurations>])

This is the CAL 3.0 compatible function corresponding to the Length command.

See Also:

Contrast with EditLength40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditLength40
(EditLength40)

(EditLength40 [<nPercent> <bStartTimes> <bDurations>])

This is the new CAL 4.0 function corresponding to the Length command.

See Also:

Contrast with EditLength [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditRetrograde
(EditRetrograde)

(EditRetrograde [<tFrom> <tThru> <bEvtFilt>])

This is the CAL 3.0 compatible function corresponding to the Retrograde command.

See Also:

Contrast with EditRetrograde40 [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditRetrograde40
(EditRetrograde40)

(EditRetrograde40)

This is the new CAL 4.0 compatible function corresponding to the Retrograde command.

See Also:

Contrast with EditRetrograde [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditControlFill
(EditControlFill)

(EditControlFill [<tFrom> <tThru> <nCtrl> <nChan> <nBeg> <nEnd>])

nChan is from 1..16.

nBeg and nEnd must be 0..127.

See Also:

Series of Controllers

Edit menu CAL functions

CAL Function Reference


{CAL function} EditVelocityScale
(EditVelocityScale)

(EditVelocityScale [<tFrom> <tThru> <bEvtFilter> <nBeg> <nEnd> <bUnitsPercent])

This is the CAL 3.0 compatible function corresponding to the Velocity Scale command.

bUnitsPercent if TRUE indicates that nBeg and nEnd are percentages, otherwise if FALSE that they are velocity values.

See Also:

Contrast with EditVelocityScale40

Edit menu CAL functions

CAL Function Reference


{CAL function} EditVelocityScale40
(EditVelocityScale40)

(EditVelocityScale40 [<nBeg> <nEnd> <bUnitsPercent])

This is the new CAL 4.0 function corresponding to the Velocity Scale command.

bUnitsPercent if TRUE indicates that nBeg and nEnd are percentages, otherwise if FALSE that they are velocity values.

See Also:

Contrast with EditVelocityScale [CAL 3.0 compatible]

Edit menu CAL functions

CAL Function Reference


{CAL function} EditFitImprov
(EditFitImprov)

(EditFitImprov [<nReferenceTrack>])

See Also:

Fit Improvisation

Edit menu CAL functions

CAL Function Reference


{CAL function} EditFitToTime
(EditFitToTime)

(EditFitToTime [<tFrom> <tThru> <tNewThru> <nMethod>])

See Also:

Fit To Time

Edit menu CAL functions

CAL Function Reference


{CAL function} EditInterpolate
(EditInterpolate)

(EditInterpolate)

This never presents dialog boxes to the user.  It presumes the search (1) and replace (2) filters have already been set as desired.

See Also:

Interpolate

ResetFilter

SetFilterKind

SetFilterRange

Edit menu CAL functions

CAL Function Reference


{CAL function} ResetFilter
(ResetFilter)

(ResetFilter <nFilter> <bEverything>)

nFilter is one of the following:

0	Used in all Edit menu commands except Interpolate

1	Interpolate's Search filter

2	Interpolate's Replace filter

See Also:

Edit menu CAL functions

CAL Function Reference


{CAL function} SetFilterKind
(SetFilterKind)

(SetFilterKind <nFilter> <nKind> <bInclude>)

nFilter is one of the following:

0	Used in all Edit menu commands except Interpolate

1	Interpolate's Search filter

2	Interpolate's Replace filter

nKind is one of the following kind-of-event constants:

NOTE

KEYAFT

CONTROL

PATCH

CHANAFT

WHEEL

SYSX  [new in 3.0]

TEXT  [new in 3.0]

LYRIC  [new in 3.0]

WAVE  [new in 3.0]

MCI  [new in 3.0]

bInclude says whether to include this kind of event.

See Also:

Edit menu CAL functions

CAL Function Reference


{CAL function} SetFilterRange
(SetFilterRange)

(SetFilterRange <nFilter> <nRange> <bInRange> <wMin> <wMax>)

nFilter is one of the following:

0	Used in all Edit menu commands except Interpolate

1	Interpolate's Search filter

2	Interpolate's Replace filter

nRange is one of the following:

0	Note - Key

1	Note - Velocity

2	Note - Duration

3	KeyAft - Key

4	KeyAft - Amount

5	Control - Controller Number

6	Control - Value

7	Patch - Patch Number

8	ChanAft - Amount

9	Wheel - Value

10	Channel

11	Beat

12	Tick

13	Patch - Bank Number	[ new in 3.0 ]

bInRange is the opposite of the Not checkbox: FALSE means Not is checked, TRUE means it's not checked.

wMin, wMax are the minimum and maximum values for the range.

See Also:

Edit menu CAL functions

CAL Function Reference


GoTo menu CAL functions

GotoSearch

GotoSearchNext

Most GoTo menu commands change the current position, which is the Now marker.  CAL expresses these simply as changes to the value of its corresponding Now variable.  For example:

(=Now 0)

is the same thing as the GoTo Beginning command, since this command sets the Now marker to the earliest time, 0.

See Also:

CAL Function Reference


{CAL function} GotoSearch
(GotoSearch)

(GotoSearch [<NoPrompt>])

The NoPrompt argument is simply a syntactic placeholder.  It can be anything.  If there is any argument, the user will not be prompted with the Search dialog.  Instead, Cakewalk will perform the search using the Search Event Filter as-is.

When Cakewalk records this command for you into the CAL notepad, it first uses one or more calls to the ResetFilter, SetFilterKind, and SetFilterRange functions, all using the filter number 1.  Then it adds:

(GotoSearch 1)

The dummy argument "1" means not to prompt the user.

If you are writing a CAL program where you want the user to complete the Search dialog, then call GotoSearch with no arguments:

(GotoSearch)

See Also:

GotoSearchNext

Search

Edit menu CAL functions

CAL Function Reference


{CAL function} GotoSearchNext
(GotoSearchNext)

(GotoSearchNext)

Repeats the last search.

See Also:

GotoSearch

Search Next

CAL Function Reference


Track menu CAL functions

TrackName

TrackLoop [obsolete]

TrackActive

TrackArchive

TrackKey+

TrackVel+

TrackTime+

TrackPort

TrackChan

TrackBank

TrackPatch

TrackVolume

TrackPan

TrackSelect

These generally correspond to commands available on the Track menu which are related to specific track parameters.

All of these have a third argument, nTrack, which is optional.  If omitted, then all selected, non-blank tracks are affected -- just as the Track menu commands work.  If a specific track number argument is supplied, then only that track is affected, and if the track is blank, it is created prior to applying the setting.

Note: Track numbers are 0 through 255 when you're writing a CAL program, not 1 through 256.

Example 1:  Set the Key+ parameter of all selected, non-blank tracks, to -10.

(TrackKey+ -10)

Example 2:  Set the Key+ parameter of track 0 only to -10.

(TrackKey+ -10 0)

See Also:

CAL Function Reference


{CAL function} TrackName
(TrackName)

(TrackName [<szName> [<nTrack>]])

szName is either a string literal or a string created by the (format) function.

nTrack is a number from 0 to 255.

Example: Set the name of  a track to something including its number in the name:

(int nTrack 1)

(getInt nTrack "Number of track to name?" 1 256)

; Give the track the name "Track N", where N is the track number.

; Note that (TrackName) expects a number in the range 0..255, not 1..256.

(TrackName (format "Track " nTrack) (- nTrack 1))

See Also:

Name

CAL Function Reference


{CAL function} TrackLoop
(TrackLoop)

(TrackLoop [<nReps> [<nTrack>]])

This function is obsolete in CAL VERSION 40.

See Also:

CAL Function Reference


{CAL function} TrackActive
(TrackActive)

(TrackActive [<nActive> [<nTrack>]])

nActive must be be one of the following:

1	playing

0	mute

-1	toggle

See Also:

Status

CAL Function Reference


{CAL function} TrackArchive
(TrackArchive)

(TrackArchive [<nArchive> [<nTrack>]])

nArchive must be be one of the following:

1	archive

0	un-archive

-1	toggle

See Also:

CAL Function Reference


{CAL function} TrackKey+
(TrackKey+)

(TrackKey+ [<nAmount> [<nTrack>]])

nAmount must be -127..127.

See Also:

Key+

CAL Function Reference


{CAL function} TrackVel+
(TrackVel+)

(TrackVel+ [<nAmount> [<nTrack>]])

nAmount must be -127..127.

See Also:

Vel+

CAL Function Reference


{CAL function} TrackTime+
(TrackTime+)

(TrackTime+ [<lAmt> [<nTrack>]])

See Also:

Time+

CAL Function Reference


{CAL function} TrackPort
(TrackPort)

(TrackPort [<nPort> [<nTrack>]])

nPort must be 0..15.

See Also:

Port

CAL Function Reference


{CAL function} TrackChan
(TrackChan)

(TrackChan [<nChan> [<nTrack>]])

nChan must be 0..15.

See Also:

Channel

CAL Function Reference


{CAL function} TrackBank
(TrackBank)

(TrackBank [<nBank> [<nTrack>]])

nBank must be -1..16384.

See Also:

Bank

CAL Function Reference


{CAL function} TrackPatch
(TrackPatch)

(TrackPatch [<nPatch> [<nTrack>]])

nPatch must be -1..127.

See Also:

Patch

CAL Function Reference


{CAL function} TrackVolume
(TrackVolume)

(TrackVolume [<nVolume> [<nTrack>]])

nVolume must be -1..127.

See Also:

Volume

CAL Function Reference


{CAL function} TrackPan
(TrackPan)

(TrackPan [<nPan> [<nTrack>]])

nPan must be -1..127.

See Also:

Pan

CAL Function Reference


{CAL function} TrackSelect
(TrackSelect)

(TrackSelect <nState> <nTrack>)

nState must be one of the following:

1	select

0	un-select

-1	toggle

nTrack may be -1 to mean "all tracks", otherwise it must be from 0 to 255.

Note: This only has an effect on old Cakewalk 3.0 compatible CAL functions.  For example, this will change which tracks EditCut operates on, but not EditCut40.  The latter strictly follows what the user has selected.

See Also:

CAL Function Reference


 Settings menu CAL functions

SettingsMetronome

SettingsMidiIn

SettingsMidiThru

SettingsMidiOut

SettingsRecordFilter

SettingsChannelTable

These correspond to some of the commands available on the Settings menu.

See Also:

CAL Function Reference


{CAL function} SettingsMetronome
(SettingsMetronome)

(SettingsMetronome [<bPlay> <bRec> <bAcc> <nCount> <nPort> <nChan> <nKey> <nVel> <wDur> <bBeep>])

See Also:

Metronome

CAL Function Reference


{CAL function} SettingsMidiIn
(SettingsMidiIn)

(SettingsMidiIn [<n1> <n2> <n3> <n4> <n5> <n6> <n7> <n8> <n9> <n10> <n11> <n12> <n13> <n14> <n15> <n16>])

n1 through n16 are MIDI channels.  A value of zero means the channel is not recorded or echoed.  A value of one means that it is.

See Also:

Channel Filter

CAL Function Reference


{CAL function} SettingsMidiThru
(SettingsMidiThru)

(SettingsMidiThru [<nMode> <nPort> <nChan> <nKey> <nVel> <nLocalOnPort>])

These arguments correspond to the similarly-named items in the MIDI Thru dialog box.

See Also:

MIDI Thru

CAL Function Reference


{CAL function} SettingsMidiOut
(SettingsMidiOut)

(SettingsMidiOut [<bTxMidiRt> <bSendCont> <bSendSPP> <nSPPDelay> <bCtrlZero> <bCtrlChase>])

These arguments correspond to the similarly-named items in the MIDI Out dialog box.

See Also:

MIDI Out

CAL Function Reference


{CAL function} SettingsRecordFilter
(SettingsRecordFilter)

(SettingsRecordFilter [<bNote> <bKeyAft> <bControl> <bPatch> <bChanAft> <bWheel>])

These arguments correspond to the similarly-named items in the Record Filter dialog box.

See Also:

Type Filter

CAL Function Reference


{CAL function} SettingsChannelTable
(SettingsChannelTable)

(SettingsChannelTable [<bOn> <n1> <n2> <n3> <n4> <n5> <n6> <n7> <n8> <n9> <n10> <n11> <n12> <n13> <n14> <n15> <n16>])

n1 through n16 are track numbers, 0..255.

See Also:

Channel Table

CAL Function Reference


Comment character, for CAL programs
; (semi-colon)

Use the semi-colon character to place comments in your CAL program.  CAL ignores the semi-colon and everything following it on the same line.

See Also:

CAL Function Reference


NIL

This is a CAL expression that does nothing and has no value.  It may be used as a "place-holder" where CAL syntax requires some expression but you have none that you want to supply.

See Also:

CAL Function Reference


CAL Data Types

int

An int is a 16-bit signed integer.  Values range from --32678 to 32767.  (Just like an int in C or an integer in PASCAL.)

word

A word is a 16-bit unsigned integer.  Values range from 0 to 65535.  (Just like an unsigned short int in C.)

long

A long is a 32-bit signed integer.  Values range from about negative 2 billion to positive 2 billion.  (Just like a long int in C.)

dword

A dword is a 32-bit unsigned integer.  Values range from 0 to over 4 billion.  (Just like an unsigned long int in C.)

string

A string is text enclosed in quotes.

Variable declarations

Variables must be declared before they are used.  Variables are declared in the form

(<type> <name> [<initial-value>])

Examples:

(int <variable-name> [initial-value])

(word <variable-name> [initial-value])

(long <variable-name> [initial-value])

(dword <variable-name> [initial-value])

(string <variable-name> [initial-value])

(undef <variable-name>)	; un-defines a variable of any type

The optional initial-value part lets you initialize a variable.  For example, this declares an int variable named "i" and initializes it to zero:

(int i 0)

If you don't initialize a variable, its value cannot be predicted.

Because of the LISP-like syntax, all CAL needs to delimit variable names is a space.  So, variable names may be any sequence of printable ASCII characters.

See Also:

CAL Function Reference


Math functions

(+ <op1> <op2>)	; add

(- <op1> <op2>)	; subtract

(* <op1> <op2>)	; multiply

(/ <op1> <op2>)	; divide

(% <op1> <op2>)	; modulo (remainder after division)

(++ <variable>)	; increment (add 1 to variable)

(-- <variable>)	; decrement (subtract 1 from variable)

(random <min> <max>)	; returns pseudo-random # min..max inclusive

See Also:

CAL Function Reference


Relational functions

(< <op1> <op2>)	; less than

(> <op1> <op2>)	; greater than

(<= <op1> <op2>)	; less than or equal to

(>= <op1> <op2>)	; greater than or equal to

(== <op1> <op2>)  	; equal

(!= <op1> <op2>)  	; not equal

Relational functions compare two values.  The result is either zero (false) or non-zero (true).  For example:

(< 11 12)

is true.  Eleven is less than twelve, and the function returns a non-zero number.  On the other hand,

(> 11 12)

is not true.  Eleven is not less than twelve, and the function returns zero.

See Also:

CAL Function Reference


Boolean functions

(&& <op1> <op2>)	; logical AND.  If both operands are non-zero, returns non-zero.

(|| <op1> <op2>)	; logical OR.  If either or both operands are non-zero, returns non-zero

See Also:

CAL Function Reference


Assignment functions

(= <variable> <expr>)

This is how you give a variable a value.  For example, to assign a variable named "foobar" the value 12:

(= foobar 12)	; foobar is now 12

To assign "foobar" the value of (+ 10 10):

(= foobar (+ 10 10))	; foobar is now 20

The following assignment operators let you perform an arithmetic operation and an assignment in one fell swoop:

(+= <variable> <value>)	; (= <variable> (+ <variable> <value>))

(-= <variable> <value>)	; (= <variable> (- <variable> <value>))

(*= <variable> <value>)	; (= <variable> (* <variable> <value>))

(/= <variable> <value>)	; (= <variable> (/ <variable> <value>))

(%= <variable> <value>)	; (= <variable> (% <variable> <value>))

Example:

(+= foobar 1)

is the same as:

(= foobar (+ foobar 1))

See Also:

CAL Function Reference


forEachEvent CAL function
(forEachEvent)

(forEachEvent

<action>

)

The action is evaluated for (applied to) each selected event. In other words, the action expression is inside of an implicit loop cycling through each of the selected events. The event parameter variables hold the values for the current event.

Example: Ask the user for an amount, then add that amount to the velocity of all selected events which are Note events.

(do

(int amt 0)

(getInt amt "Amount to add?" -127 127)

(forEachEvent

(if (== Event.Kind NOTE)

(+= Note.Vel amt)

)

)

)

See Also:

CAL Function Reference


Event parameter variables

CAL has some predefined "magic" variables that let you access events in Cakewalk Professional's track buffers.  These variables work only in the (forEachEvent) expression, where they're automagically set to the value of the current event's parameters.  This is how you get and set event parameters.  You can use them in expressions to find out about the current event.  If you assign them a new value, they automagically change the current event.

Different types of events have different parameters.  For instance, a note event has a key number, a velocity, and a duration, but a patch event has only a patch change number.  Consequently, some of these magic variables are defined only for particular kinds of events, while others -- e.g., the variable for the time of the event --apply to all kinds of events.

Variables for all kinds of events

Event.Chan

The MIDI channel of the event (0..15).

Event.Time

The starting time of the event.  The type of this variable is dword.  See Musical Time Functions for more information.

Event.Kind

The kind of event it is.  One of the following:

NOTE, PATCH, CONTROL, CHANAFT, KEYAFT, WHEEL, SYSX

Variables for particular kinds of events

The preceding variables apply to all kinds of events.

The following variables let you get or set an event parameter that a particular kind of event has.  So, you should test the value of Event.Kind, then use only the variables that are meaningful for an event of that kind.

Variable	Event.Kind	Meaning	Allowed values
Note.Key	NOTE	Key number (pitch)	0 .. 127
Note.Vel	NOTE	Velocity	0 .. 127
Note.Dur	NOTE	Duration	0 .. 65535
Patch.Num	PATCH	Patch number	0 .. 127
Patch.Bank	PATCH	Bank number	-1 .. 14383
Control.Num	CONTROL	Controller number	0 .. 127
Control.Val	CONTROL	Controller value	0 .. 127
KeyAft.Key	KEYAFT	Key number	0 .. 127
KeyAft.Val	KEYAFT	Value (pressure amount)	0 .. 127
ChanAft.Val	CHANAFT	Value (pressure amount)	0 .. 127
Wheel.Val	WHEEL	Wheel value	-8192 .. 8191

Example: Make sure the event is a note event.  If it is, add two to the key number (raise the pitch two half-steps):

(if (== Event.Kind NOTE)	; Is it a NOTE event?

(= Note.Key (+ Note.Key 2))	; Yes: change it!

)

See Also:

CAL Function Reference


Marker variables

There are some other "automagical" variables that equate to Cakewalk Professional's From, Now, and Thru markers, and one for the time of the latest event in the song.

From	; From marker

Now	; Now marker

Thru	; Thru marker

End	; the time of the latest event among all tracks

You can use them for their values anywhere in the CAL program, but you may not assign new values to them in a forEachEvent expressions.  (You can never assign a value to End; it is read-only.)

Example:

(getTime From "Change From marker time:")

or, to save, change, and restore:

(dword oldFrom From)

(getTime From "Change From marker time:")

(forEachEvent

; ... do some stuff ....

)

(= From oldFrom)

Note: Cakewalk Professional never allows (> From Thru) or (< Thru From).  Neither does CAL.  When one marker is changed, the other one is automatically adjusted, if necessary, to prevent this.

Note: Changing the Now marker has no effect on what events the forEachEvent operates on.  Changing the From and Thru markers will.

 See Also:

CAL Function Reference


Buffer functions

index

(index)

Returns the index of the event in the track buffer.  Events are numbered starting from zero.

delete

(delete)

Deletes the current event.  Indexes for subsequent events are automatically decremented.

insert

(insert <time> <chan> <kind> [ ...data parameters... ])

Inserts a copy of the event at the specified index.  This function takes a variable number of arguments, depending on the <kind> argument:

(insert <time> <MIDI channel> NOTE <key> <velocity> <duration>)

(insert <time> <MIDI channel> KEYAFT <key> <amount>)

(insert <time> <MIDI channel> CONTROL <controller number> <value>)

(insert <time> <MIDI channel> CHANAFT <amount>)

(insert <time> <MIDI channel> PATCH <patch number> [<bank number>])

(insert <time> <MIDI channel> WHEEL <value>)

Example:

(insert (makeTime 1 1 0) 10 NOTE 60 64 TIMEBASE)

This inserts at time 1:1:0 for MIDI channel 10 a note event with a key number of 60, a velocity of 64, and a duration of TIMEBASE.

Hint:	The TIMEBASE constant is described in the Musical Time Functions section.

The track that the event is inserted on depends on whether you use it in forEachEvent expression or not.  If you use it in a forEachEvent expression, then the event is inserted in the track which that expression is currently evaluating.  Otherwise, it is inserted in the current track (the track which the cursor is on in the Track/Measure view).

In other words, use (insert) in the forEachEvent  for inserting events in any and all selected tracks.  For example, you might want to add a controller event wherever you find a certain note event.

For commands where you want the user to be able to add events to a single track -- the track the highlight is on in the Track/Measure view -- use (insert) outside a forEachEvent.

Note: The inserted events do not become visible to the CAL program while forEachEvent is evaluated.  It is evaluated only for events existing in tracks before the forEachEvent started.

Note:  Because this command adds events, it is possible for it to exhaust free memory.  If that happens, a CAL "out of memory" error message is displayed and the CAL program is terminated.

Note: The <bank number> argument when inserting a PATCH event is optional, to provide compatibility with previous versions of Cakewalk and CAL.  If you do not supply it, the value -1 will be used, which means "none" and appears to the user as "----".

 See Also:

CAL Function Reference


Musical time functions

Converting between Measure:Beat:Tick and "raw" times

(meas <time>)

(beat <time>)

(tick <time>)

(makeTime <measure> <beat> <tick>)

These are conversion functions for dealing with Cakewalk Professional times.

Although Cakewalk Professional displays times to the user in Measure:Beat:Tick format, internally they are stored as a single dword.  CAL variables like Event.Time deal with these "raw" dwords too.

These functions let you convert between the two forms.  (meas <time>), (beat <time>), and (tick <time>) return the measure, beat, and tick for a given raw dword time.  (make time <meas> <beat> <tick>) makes up a dword time from a measure, beat, and tick.  This conversion depends on the current meter, of course, as well as the timebase.

Important: Measures and beats are numbered from 1, not 0.  You will get a "value out of range"  error if you pass (make time) a 0 for the measure or beat arguments.

TIMEBASE constant

TIMEBASE is a variable that is equal to the current timebase as set by the Timebase command.  Remember that the timebase is the number of ticks per quarter-note.

See Also:

CAL Function Reference


Ouput functions
Output functions

message

(message <value> [ [value] ... ])

Takes a variable number of arguments, which can be int, word, dword, or string expressions.  Prints the result on Cakewalk Professional's message line (the bottom line of the screen).

Example:

(do

(int foobar 10)

(message "Foobar is " foobar " and the timebase is " TIMEBASE)

)

Assuming that Cakewalk Professional's timebase is set to 120, the preceding CAL code would display the following on the message line:

Foobar is 10 and the timebase is 120

pause

(pause <value> [ [value] ... ])

Works just like (message) but also pauses for a user keypress or mouse click.  If the user presses escape, the CAL program will terminate.  If the user presses any other key, the CAL program resumes.

Tip:	This is handy for debugging CAL programs.  Use (pause) to display a variable value; that way you can press Cancel to break out of long loops.

format

(format <value> [ [value] ... ])

Works just like (message) and (pause) but simply returns a string, which you may pass to a function like (TrackName).

 See Also:

CAL Function Reference


Input functions

These functions let you prompt the user for input.  They display a standard Cakewalk Professional dialog box.  After the user presses OK, the function returns the value.  (If the user presses Cancel then the CAL program aborts with the error, "User pressed Cancel.")

(getInt <int-variable> <prompt> <minimum> <maximum>)

Returns the int value that the user input.

int-variable is an int variable that will receive the input value.  Its value is displayed as the default value in the dialog box.

prompt is a string item that will be displayed in the dialog box.

minimum and maximum are int values; CAL will not let the user input a number less than or greater than these values.

Example: Ask the user to input "A number from 0 through 100", suggesting a default of 50, and assign the result to a variable "i":

(do

(int i 50)

(getInt i "A number from 0 thru 100" 0 100)

)

(getWord <word-variable> <prompt> <minimum> <maximum>)

Returns the word value that the user input.

word-variable is an word variable that will receive the input value.  Its value is displayed as the default value in the dialog box.

prompt is a string item that will be displayed in the dialog box.

minimum and maximum are word values; CAL will not let the user input a number less than or greater than these values.

(getTime <dword-variable> <prompt>)

Returns the dword value that the user input.

dword-variable is a dword variable that will receive the input value.  Its value will be displayed as the default value in the dialog box.

prompt is a string item that will be displayed in the dialog box.

Example: Ask the user to input a "Starting time", suggesting as a default the time of the current event, and assign the result to a variable "t".

(do

(dword t Event.Time)

(getTime t "Starting time:")

)

See Also:

CAL Function Reference


Control flow functions

do

(do

<expr1>

[	<expr2>

...

<exprN> ]

)

Evaluates each expression in sequence, once and only once.

Tip:	Use this whenever CAL expects a single expression but you want to use two or more.

if

(if <condition>

<true-expression>

[<false-expression>]

)

If condition is non-zero, evaluates the true-expression, else evaluates the false-expression.  The false-expression is optional.

while

(while <condition>

<action>

)

So long as condition is non-zero, action is evaluated.  If condition is zero the first time, action is never evaluated.

Example: Count-down from 100 to 1:

(do

(int count 100)

(while (!= count 0)

(do

(message "Count-down is now " count)

(-- count)

)

)

)

switch

(switch <index>

<case1> <case1result>

 [	<case2> <case2result>

 	<case3> <case3result>

...

<caseN> <caseNresult> ]

)

Evaluates index, then compares it to the first of each of the following pairs of expressions.  When it finds the first match, if any, it executes the second half of the pair and returns the result.

CAL doesn't have an explicit "default" or "else" case statement.  But you can achieve the same thing by making index itself the very last of the case pairs.  This works because switch matches the first pair it finds, then quits.  If nothing matches before the index case, why then, index always equals itself -- so its consequent will be evaluated if and only if no other pairs matched.  For instance:

(switch TIMEBASE

120	(pause "120")	; Is it 120?

96	(pause "96")	; Is it 96?

TIMEBASE	(pause TIMEBASE)	; It is anything else not already matched above

)

See Also:

CAL Function Reference


include
(include)

(include <szPathName>)

Runs another CAL program as if the content of that file were inserted in the program at the point where the (include) function is placed.

Example: Include the file NEED20.CAL, which is one of the supplied example files.  The purpose of NEED20.CAL is to check that CAL version 2.0 or higher is being used, and if not, warn the user and stop the CAL program.

(do

(include "NEED20.CAL")	; require VERSION >= 20

; ... proceed with CAL program

)

See Also:

CAL Function Reference


sendMIDI
(sendMIDI)

(sendMIDI <nPort> <nChan> <kind> <data1> [<data2>])

This function lets you transmit a MIDI event.

nPort is 0..15, or -1 for "all ports".

nChan is 0..15, or -1 for "all channels".

kind is one of the constants like NOTE, PATCH, and so on.

nData1 is 0..127.

nData2 is 0..127, and is ignored unless kind is NOTE, CONTROL, or KEYAFT.

(sendMIDI <nPort> <nChan> SYSX <data bytes>)	; System Exclusive form

If kind is SYSX, then up to a couple hundred data bytes may be supplied.  You may not include any bytes whose value is outside the range 0..127.  In particular, do not include the starting F0 or ending F7 bytes: CAL will supply them for you.  Include only the bytes in between the F0 and the F7.

nChan is ignored.

Note: This new form of the sendMIDI function is available on in CAL version 31 and higher.  You can test

(>= VERSION 31)

to determine if this form of the function may be used.  If the version is <= 30, you should issue a polite error message to the user.

See Also:

CAL Function Reference


delay
(delay)

(delay <dwMilliseconds)

dwMilliseconds is the number of milliseconds (1000th of a second) that delay will wait before returning.

See Also:

CAL Function Reference


DLL
(DLL)

(DLL <szLibName> <szProcedureName> [ <arguments> ])

This function lets you make calls to functions in 32-bit Windows DLLs (Dynamic Link Libraries).

The return value is of type dword, but may be assigned to any other type.

CAL string literals may be passed for LPCSTR arguments.

WARNING: Use of this powerful function requires great care.  If you call a DLL function with the wrong number of arguments, you will corrupt the stack and subsequent operation of CAL and Cakewalk will be unpredictable.  There is no error-checking or other protection against this.

Example:

(do

; Call the Windows USER32 library function MessageBeep( UINT uBeep ).

(DLL "USER32" "MessageBeep" 0)

; Call the Windows USER32 library function

; MessageBoxA( HWND hWnd, LPCSTR lpcszTest, LPCSTR lpcsz Caption, UINT uFlags )

; with a NULL HWND argument and 0x40 == 64 decimal for MB_OK flag.

(DLL "USER32" "MessageBoxA" 0 "This is a message" "Caption" 64)

)

See Also:

CAL Function Reference