- [Function]
(
cmio
{keyword value}*)
Opens and returns a new CMIO window. Initial window values can be customized by specifying optional keyword arguments to the function. Each keyword is the keyword name of a notebook page in the window and its value is a property list containing zero or more page field names and values. The syntax of the property list for each page is described below.
cmio
supports the following keyword arguments:
:clm
list-
Initializes data fields on the CLM page according to list, a property list with the
following keyword field names and values:
:score-file
string :versions
boolean :sound-file
string :play
boolean :srate
number :channels
number :scaled-to
number :scaled-by
number :clipped
boolean :statistics
boolean :verbose
boolean :comment
string :reverb
symbol :decay-time
number :reverb-data
list :cmn
list-
Initializes data fields on the CMN
page according to list, a property list with the
following keyword field names and values:
:output-file
string :versions
boolean :view
boolean :all-output-in-one-file
boolean :title
string :size
integer :metronome
integer :exact
boolean :staffing
list :staffing
list. :csound
list-
Initializes data fields on the Csound
page according to list, a property list with the
following keyword field names and values:
:score-file
string :versions
boolean :header
string :orchestra
string :sound
string -
:eventio
list -
Initializes data fields on the Event
IO page according to list, a property list with the
following keyword field names and values:
:events
expression :starts
{number | list} :files
list-
Initializes data fields on the Files
page according to list, a property list with the
following keyword field names and values:
:audio
string :midi
string :sco
string :eps
string :html
string :ins
string :clm
string :lisp
string :wait
boolean :output
boolean :midi
list-
Initializes data fields on the Midi
page according to list, a property list with
the following keyword field names and values:
:midi-file
string :microtuning
{ :none
|:divisions
|:note-by-note
}:exclude-tracks
string :meta-exclude
boolean :keynum-format
{ :keynum
|:note
|:hertz
}:override-tempo
number :time-format
{ :beats
|:ticks
} -
Initializes data fields on the Midishare page according
to list, a property list with the following keyword field
names and values:
:connection
{ :midi-port
|:midi-player
}:name
string :track
number :play
boolean :plotter
list-
Initializes data fields on the Plotter
page according to list, a property list with the
following keyword field names and values:
:title
string :event-layering
{ :add
|:mix
|:replace
|:overwrite
}:x-axis
list :y-axis
list :x-axis
and:y-axis
lists. :seq
list-
Initializes data fields on the Seq
page according to list, a property list with the
following keyword field names and values:
:name
string :replace
boolean :systems
list-
Initializes data fields on the Systems
page according to list, a property list with the
following keyword field names and values:
:clm-directory
string :clm-bin-directory
string :cmn-directory
string :cmn-bin-directory
string :target
page-
Selects keyword page as the active target page when the
window opens. Defaults to
:midi
.
Examples:
Example 1. Customizing a Midi page.
(cmio :midi '(:midi-file "temp.mid" :microtuning :divisions))
Example 2. Customizing a CLM configuration.
(cmio :clm '(:srate 44100 :channels 2 :reverb nrev :statistics t) :files '(:audio "/usr/bin/sndplay") :systems '(:clm-directory "/usr/share/clm-2") :target ':clm)
Example 3. Customizing a Plotter page.
(cmio :plotter '(:title "My Data" :event-layering ':overwrite :x-axis (:maximum 60 :slot (time duration) :ticks-per-increment 1) :y-axis (:keynum :minimum 60 :maximum 80 :slot keynum)) :target ':plotter)