[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-filestring
:versionsboolean
:sound-filestring
:playboolean
:sratenumber
:channelsnumber
:scaled-tonumber
:scaled-bynumber
:clippedboolean
:statisticsboolean
:verboseboolean
:commentstring
:reverbsymbol
:decay-timenumber
:reverb-datalist
:cmn list
Initializes data fields on the CMN page according to list, a property list with the following keyword field names and values:
:output-filestring
:versionsboolean
:viewboolean
:all-output-in-one-fileboolean
:titlestring
:sizeinteger
:metronomeinteger
:exactboolean
:staffinglist
See the documentation on clm-file for a description of the :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-filestring
:versionsboolean
:headerstring
:orchestrastring
:soundstring
:eventio list
Initializes data fields on the Event IO page according to list, a property list with the following keyword field names and values:
:eventsexpression
: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:
:audiostring
:midistring
:scostring
:epsstring
:htmlstring
:insstring
:clmstring
:lispstring
:waitboolean
:outputboolean
:midi list
Initializes data fields on the Midi page according to list, a property list with the following keyword field names and values:
:midi-filestring
:microtuning {:none | :divisions | :note-by-note}
:exclude-tracksstring
:meta-excludeboolean
:keynum-format {:keynum | :note | :hertz}
:override-temponumber
:time-format {:beats | :ticks}
:midishare list
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}
:namestring
:tracknumber
:playboolean
:plotter list
Initializes data fields on the Plotter page according to list, a property list with the following keyword field names and values:
:titlestring
:event-layering {:add | :mix | :replace | :overwrite}
:x-axislist
:y-axislist
See the documentation on axis for a description of the :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:
:namestring
:replaceboolean
:systems list
Initializes data fields on the Systems page according to list, a property list with the following keyword field names and values:
:clm-directorystring
:clm-bin-directorystring
:cmn-directorystring
:cmn-bin-directorystring
: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)

See also: