Index And Error Messages
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- A
- Add (+)
- AND (&&)
- Assignment Functions
- Attempt to change constant
To Index
- B
- (beat)
- Boolean Functions
- Bracket kissing
- Branching Functions
- Buffer Functions
To Index
- C
- Cannot load Dynamic Link Library
- Cannot open include file
- CHANAFT
- ChanAft.Val
- CHORD
- Command is disabled on the menu
- Comments
- Constants
- CONTROL
- Control.Num
- Control.Val
To Index
- D
- Data Types
- Declaration Functions
- Decrement (--)
- (delay)
- (delete)
- Divide (/)
- Divide by zero
- Divide Equal (/=)
- (DLL)
- (do)
- dword
- dword declaration
To Index
- E
- Edit Filters
- (EditControlFill)
- (EditCopy)
- (EditCopy40)
- (EditCut)
- (EditCut40)
- (EditDelete40)
- (EditFitToTime)
- (EditFitToTime40)
- (EditFitImprov)
- (EditFitImprov40)
- Edit Menu Functions
- (EditGrooveQuantize)
- (EditGrooveQuantize40)
- (EditInterpolate)
- Forcing EditInterpolate to use marker variables
- (EditLength40)
- (EditPaste)
- (EditPaste40)
- (EditPasteToTrack)
- (EditQuantize)
- (EditQuantize40)
- (EditRetrograde)
- (EditRetrograde40)
- (EditSlide)
- (EditSlide40)
- (EditTranspose)
- (EditTranspose40)
- (EditVelocityScale)
- (EditVelocityScale40)
- End
- Equal (=)
- Equality (==)
- (error)
- Evaluation stack overflow
- Event.Chan
- Event.Kind
- Event.Time
- (exit)
- Expected closing quote
- EXPRESSION
- Expression too complex
To Index
- F
- FALSE
- (FileExtract)
- (FileMerge)
- (FileNew)
- (FileOpen)
- (FileSave)
- (FileSaveAs)
- Filters, Editing
- (forEachEvent)
- (format)
- From
To Index
- G
- (getInt)
- (getTime)
- (getWord)
- (GotoSearch)
- (GotoSearchNext)
- Greater Than (>)
- Greater Than or Equal (>=)
To Index
- H
- HAIRPIN
To Index
- I
- (if)
- (include)
- Increment (++)
- (index)
- (insert)
- int
- int declaration
To Index
- J
To Index
- K
- KEYAFT
- Keyaft.Key
- Keyaft.Val
To Index
- L
- Less Than (<)
- Less Than or Equal (<=)
- long
- long declaration
- Loop Functions
- LYRIC
To Index
- M
- Macro Recording
- (makeTime)
- Math Functions
- MCI
- (meas)
- Menu Functions
- (message)
- Minus (-)
- Minus Equal (-=)
- Miscellaneous error
- Mismatched parentheses
- Missing one or more closing parentheses
- Modulo (%)
- Modulo Equal (%=)
- Multiply (*)
- Multiply Equal (*=)
To Index
- N
- NIL
- Not Equal (!=)
- Not valid in (forEachEvent) or body expression
- NOTE
- Note.Dur
- Note.Key
- Note.Vel
- Now
- NRPN
- Preventing Cakewalk from converting controller events
To Index
- O
- OR ( || )
- Out of memory
- Output Functions
- Over-ranging of variables
To Index
- P
- PATCH
- Patch.Bank
- Patch.Num
- (pause)
- Pitch Bend RPN Table
- Plus (+)
- Plus Equal (+=)
- Proc does not exist in Dynamic Link Library
- Program called (error)
- Program called (exit)
To Index
- Q
To Index
- R
- (random)
- Relational Functions
- (ResetFilter)
- RPN
- Preventing Cakewalk from converting controller events
To Index
- S
- Semicolon
- (SendMIDI)
- (SetFilterKind)
- (SetFilterRange)
- (SettingsChannelTable)
- (SettingsChannelTable70)
- (SettingsMetronome)
- (SettingsMidiIn)
- (SettingsMidiOut)
- (SettingsMidiThru)
- (SettingsRecordFilter)
- string
- string declaration
- Subtraction (-)
- (switch)
- making menu trees
- SYSX
- SYSXDATA
To Index
- T
- TEXT
- Thru
- (tick)
- TIMEBASE
- Times (*)
- (TrackActive)
- (TrackArchive)
- (TrackBank)
- (TrackChan)
- (TrackChannel)
- (TrackClone)
- (TrackKey+)
- (TrackLoop)
- (TrackName)
- (TrackPan)
- (TrackPatch)
- (TrackPort)
- (TrackRecordEnable)
- (TrackSelect)
- (TrackSolo)
- (TrackTime+)
- (TrackVel+)
- (TrackVolume)
- TRUE
- Types do not match
To Index
- U
- (undef)
- undef of undefined variable
- Unknown procedure
- Unknown variable
- User pressed cancel
To Index
- V
- Valid only in (forEachEvent) or body expression
- Value aliasing and over-ranging
- Value out of range
- Variable redefined
- Variables
- VERSION
To Index
- W
- WAVE
- WHEEL
- Wheel.Val
- (while)
- word
- word declaration
- Wrong number of arguments
To Index
- X
To Index
- Y
To Index
- Z
To Index
CAL Error and FYI messages
I don't know this for a fact, but I think CAL has two distinct message systems. The
reason I say this is because the text for these messages are located in two separate
regions of WINCAKE.EXE, the main program file for Cakewalk version 3, and because the two
sets of messages seem to fall into two categories. The first category involves the CAL
interpreter pre-scanning the program text before it attempts to run it and the other
category seems to involve problems CAL has while the program is running. Now these are not
clear distinctions and this is only my guess based on my own experience, but it made sense
once I looked at the kinds of messages and what's likely to trigger them and when.
Before CAL even starts to run a program, it goes through and makes sure the code is
correct enough to convert into machine instructions. If there are errors that prevent the
program from being interpreted, CAL stops there and issues a message. Up to this point,
nothing has been done to the sequence. On the other hand, if the code can be at least
interpreted, then CAL starts running it. If there is an error at this point, CAL may very
well have already done something to your sequence and so an "UNDO" will be
necessary to return the status quo before you attempt to fix and run the program again. To
be safe, if a CAL program doesn't perform exactly as expected, perform as many
"UNDO" operations as necessary to erase all actions taken by CAL, even if the
only thing it did was look at your code and laugh.
I have taken this list of error messages from examining the text portions of Cakewalk's
version 3 program file WINCAKE.EXE with MS Word and hunting for the areas that contain CAL
related text. It may not be complete, may contain errors that don't belong to CAL and may
not reflect the full range of error messages available to later versions of Cakewalk.
However, with no documentation (as is true with a great deal of CAL) and my own experience
torturing CAL, this is what I've come up with.
- Unknown procedure
- Several things can cause this. You may have mistyped a keyword. Perhaps you have two
statement elements running together without a space between them like (+this that) instead
of (+ this that). Misarranged brackets or sets of brackets without a space between them
will also cause this error. Basically, CAL can't understand some word in your code.
-
- Syntax error
- CAL understands your words, but not the way you have them arranged. Perhaps you have
confused a keyword with a variable or arranged the components of a statement incorrectly.
-
- Missing one or more closing parentheses
- This is the message you are likely to see most often. CAL counts the number of left
brackets and right brackets in your program, and if the numbers don't agree, you get this
error. Not getting this error doesn't guarantee that your brackets are in the right
places, just that the counts match. You can also get this error by not having 2 line feeds
following the last closing bracket at the end of your program.
-
- Mismatched parentheses
- Assuming you have the correct number of opening and closing brackets, you may not have
arranged them properly. This error message tells you to re-examine your code for
out-of-place parentheses brackets.
-
- Wrong number of arguments
- Unless you genuinely left out an argument in a statement, this error is usually caused
by not having the closing bracket of a nested section of code in the proper spot. You
likely have the bracket somewhere, otherwise you would receive a "missing closing
parentheses" error. Maybe you just put it in the wrong place and so now some
"if" function has a THEN, an ELSE and a stray extra part, or a math statement is
being asked to operate on three arguments instead of two.
-
- Expected closing quote
- This is plane enough. If you use quotes to enclose a string or a message, then
forgetting one or more of them will cause this error.
-
- Unknown variable
- Apparently you either attempted to use a variable name that hasn't been declared or you
mistyped the name of one that has.
-
- Variable redefined
- You have attempted to declare a variable that has already been declared. One way to get
this error is if you include a program that declares a variable with the same name as one
declared in the parent program. To keep this from happening, make it a habit to use
different capitalization for variables you declare in programs you intend to
"include" in other programs.
-
- Attempt to change constant
- Naturally, you can't re-assign the value of a constant like "NOTE" or
"TIMEBASE", and attempting to do so leads to this error. As a rule, constants in
CAL are in all caps to make them easy to tell from variables.
-
- Undef of undefined variable
- If you attempt to execute the "undef" function to erase a variable from memory
and there is no such variable to begin with, you will see this error.
-
- Types do not match
- If you try to use variables for functions unsuited for their type class, CAL will let
you know. If you attempt to place a negative number in a "word" variable or try
to perform time functions on an integer variable, you are likely to see this error.
-
- Value out of range
- This error message lets you know that you have attempted to generate a note using a
number beyond 127 or some other related blunder. Keep in mind that even though an integer
can hold a value from about + to - 32000, the variables relating to your sequence can't.
-
- Valid only in (forEachEvent) or body expression
- The operation you are trying to perform can only be done within a
"forEachEvent" loop. These are things like the "delete" function.
-
- Not valid in (forEachEvent) or body expression
- This is the opposite of the above error. There are some things that you just can't do
while CAL is scanning a sequence. An example is attempting to run EDIT MENU functions
during a loop.
-
- Divide by zero
- Needless to say, if you ask CAL to divide by zero, it won't be happy. Rather than give
your processor a coronary trying, CAL traps such equations and issues this error message.
-
- Expression too complex
- It's one thing to try to be efficient by putting as much code into one function as
possible. It's something else entirely to build expressions that are so
"compound" that CAL can't run them. Don't try to do everything in one line of
code. Use the nest maker "do" if you need to get allot done in one argument or
have a large number of functions at the same level.
-
- Evaluation stack overflow
- Now you've done it! CAL is so upset that it just gave up. There is a limit not only on
how complex a line of code can be, but also on how many nest levels you can build in one
function. If you keep nesting "if" after "if" after "do"
after "do", sooner or later you'll get this error. Having too many variables
declared will also generate this response.
-
- Out of memory
- I have never seen this error, and I have written some BIG programs. I guess a point can
be reached where you overflow the space CAL has to work with or insert so many new notes
that your sequence is too big to stay in memory. Go buy some more RAM. It's just too cheap
these days to be caught with not enough memory to get a job done.
-
- Program called (error)
- If you set up a function to call the "error" function in the event of some
condition, CAL will display this message and then abort.
-
- Program called (exit)
- This message isn't an error, but confirms that CAL has executed an "exit"
function and is aborting.
-
- User pressed cancel
- This isn't an error either, but confirms that CAL has intercepted the user pressing the
Esc key or clicking a Cancel box from a dialog box and is therefore shutting down.
-
- Command is disabled on the menu
- Here, you have asked CAL to perform a MENU function that is currently grayed out in the
menu's drop-down list such as attempting to do an "EditPaste" with nothing in
the clipboard.
-
- Cannot open include file
- CAL can't find the file you have asked to be included in a program. This is likely
because of a mistyped file name or because the file in question is in a directory other
than the one where CAL is looking. CAL will look in the directory where the currently
running program is stored if no path is specified. If a full path is given, CAL will look
there instead.
-
- Cannot load Dynamic Link Library
- You have asked CAL to use a service from a DLL file, but CAL can't find the file. The
causes are the same as listed above.
-
- Proc does not exist in Dynamic Link Library
- CAL found the DLL file alright, but you have supplied arguments that do not point to a
valid service within that file.
-
- Miscellaneous error
- I've never seen this, but I guess if you stump CAL completely, you may receive it.