definstrument {name | (name {keyword value}*)}
({parameters}+) {form}*
|
[Macro] |
Defines a CLM instrument and a note class of the same name
for composing with the instrument. name is the name of the
instrument, and may be specified as a list together with
optional keywords that provide control over the exact
behavior of definstrument. In addtion to the keywords
suported by CLM, Common Music adds three keywords of its own:
- :time-parameter {name | position | nil}
- Declares that the parameter name or the parameter
at position (zero-based) in parameters is the
"start time" of the instrument. The default value is 0, which means
that time is to be passed as the first
argument to the instrument. If :time-parameter is nil
then no time value is passed.
- :printer {function}
- Declares function to be the scorefile printer for the
object. The default printer is clm-print, which prints
floating point numbers rounded to three places and precedes
unquoted envelope lists with an explicit quote. If specified, function is passed
two arguments, the value to print and the stream.
- :instrument-only {nil | t}
- Determines if a Common Music event class is defined for the instrument.
The default value is nil, which means that an event class
is defined.
See Also:
CLM [Syntax],
Working with CLM,
tutorials/stella/fm.ins
Last Modified: 5-Mar-1998