schedule — Adds a new score event.
schedule insnum, iwhen, idur [, ip4] [, ip5] [...]
schedule "insname", iwhen,
idur [, ip4] [, ip5] [...]
schedule iPar[]
insnum -- instrument number. Equivalent to p1 in a score i statement. insnum must be a number greater than the number of the calling instrument.
“insname” -- A string (in double-quotes) representing a named instrument.
iwhen -- start time of the new event. Equivalent to p2 in a score i statement. iwhen must be nonnegative. If iwhen is zero, insum must be greater than or equal to the p1 of the current instrument.
idur -- duration of event. Equivalent to p3 in a score i statement. .
iPar[] -- event parameters as an i-time array. .
ip4, ip5, ... -- Equivalent to p4, p5, etc., in a score i statement. The opcode also accepts strings as arguments for p4-pN.
schedule adds a new score event. The arguments, including options, are the same as in a score. The iwhen time (p2) is measured from the time of this event.
If the duration is zero or negative the new event is of MIDI type, and inherits the release sub-event from the scheduling instruction.
Here is an example of the schedule opcode. It uses the file schedule.csd.
Example 931. Example of the schedule opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in -odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o schedule.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1 - oscillator with a high note. instr 1 ; Play Instrument #2 at the same time. schedule 2, 0, p3 ; Play a high note. a1 oscils 10000, 880, 1 out a1 endin ; Instrument #2 - oscillator with a low note. instr 2 ; Play a low note. a1 oscils 10000, 220, 1 out a1 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 16384 10 1 ; Play Instrument #1 for half a second. i 1 0 0.5 ; Play Instrument #1 for half a second. i 1 1 0.5 e </CsScore> </CsoundSynthesizer>
event, event_i, schedulek, schedwhen, schedkwhen, schedkwhennamed, scoreline, scoreline_i
More information on this opcode: http://www.csoundjournal.com/issue15/phrase_loops.html , written by Jim Aikin