- [Function]
(playfile {keyword value})
Plays file in a manner appropriate for the file type (extension) of file.
play supports the following keyword arguments for all file types:
-
:playboolean - If true, file is played otherwise it is not. The default value is true.
-
:verboseboolean - If true then the play command is printed to the terminal before it is executed. The default value is false.
-
:waitboolean - If true then play waits for the playing process to complete before returning, otherwise it does not wait. The default value is false.
Other keyword arguments may be available depending on the type of file:
audio-file(.aiff, .wav, .snd)-
If CLM is loaded then
playpasses file directly todacalong with any of the following keyword arguments::startnumber- The time in file to start playback.
:endnumber- The time in file to stop playback.
If CLM is not loaded then
playexecutes the shell command string*audio-player*to play file. CM attempts to provide a valid audio player command for each operating system:- OS X: /usr/local/bin and /usr/bin are tested
for
sndplay,qtplayelseopen. - Unix, Linux, Cygwin: /usr/local/bin and /usr/bin tested
for
sndplay - Windows: \Program Files\Windows Media Player\mplayer2.exe
The
*audio-player*variable can be reset to a different player in a ~/.cminit.lisp initialization file. - clm-file (.clm)
-
Passes file to
clm-loadalong with any keyword arguments specfied toplay. - midi-file (.mid, .midi)
-
Executes the shell command string
*midi-player*to play file. CM attempts to provide a valid MIDI player command for each operating system:- OS X: /usr/local/bin and /usr/bin tested for
qtplay,open. - Unix, Linux, Cygwin: /usr/local/bin and /usr/bin tested for
timidity - Windows: \Program Files\Windows Media Player\mplayer2.exe
The
*midi-player*variable can be reset to a different player in a ~/.cminit.lisp initialization file. - OS X: /usr/local/bin and /usr/bin tested for
- sc-file (.osc)
-
Executes the shell command string
*scsynth*and passes it file and any keyword value supported by sc-file.CM attempts to find a valid
*scsynth*command for each operating system:- OS X: /Applications/SuperCollider3 or
/Applications/SuperCollider_f tested for
scsynth. - Unix, Linux, Cygwin: /usr/local/bin and /usr/bin tested for
scsynth - Windows: \Program Files\SuperCollider3\scsynth.exe
If the SC environment variables SC_PLUGIN_PATH and SC_SYNTHDEF_PATH are not set then CM attempts to set them using the values of of
*sc-synthdef-path*and*sc-plugin-path*. The*scsynth*,*sc-plugin-path*and*sc-synthdef-path*variables can be reset in a ~/.cminit.lisp initialization file. - OS X: /Applications/SuperCollider3 or
/Applications/SuperCollider_f tested for
- sco-file (.sco)
-
Executes the shell command string
*csound*and passes it file and any of the following keyword values:-
:orchestraorcfile - The .orc file to use. If orcfile does not contain a directory component it defaults to the same directory as file.
:outputsndfile- The sound file for Csound to write. If sndfile does not contain a directory component it defaults to the same directory as file.
events[Function]
Examples:
Example 1. Playing a MIDI file.
(play "test.mid") ⇒ "test.mid"
Example 2. Playing CLM score and audio files:
(play "test.clm" :srate 44100 :output "foo.aiff" :channels 2) ⇒ "test.clm" (play "test.aiff" :start 4 :verbose #t) ⇒ "test.aiff"
Example 3. Playing a Csound score file.
(play "test.sco" :orchestra "beep.orc" :output "beep.aiff") ⇒ "test.sco"
See also:
-