schedkwhennamed — Similar to schedkwhen but uses a named instrument at init-time.
ktrigger -- triggers a new score event. If ktrigger is 0, no new event is triggered.
kmintim -- minimum time between generated events, in seconds. If kmintim is less than or equal to 0, no time limit exists.
kmaxnum -- maximum number of simultaneous instances of named instrument allowed. If the number of existant instances of the named instrument is greater than or equal to kmaxnum, no new event is generated. If kmaxnum is less than or equal to 0, it is not used to limit event generation.
"name" -- the named instrument's name.
kwhen -- start time of the new event. Equivalent to p2 in a score i statement. Measured from the time of the triggering event. kwhen must be greater than or equal to 0. If kwhen greater than 0, the instrument will not be initialized until the actual time when it should start performing.
kdur -- duration of event. Equivalent to p3 in a score i statement. If kdur is 0, the instrument will only do an initialization pass, with no performance. If kdur is negative, a held note is initiated. (See ihold and i statement.)
Note | |
---|---|
While waiting for events to be triggered by schedkwhennamed, the performance must be kept going, or Csound may quit if no score events are expected. To guarantee continued performance, an f0 statement may be used in the score. |
Note | |
---|---|
Note that the schedkwhennamed opcode cannot accept string p-fields. If you need to pass strings when instantiating an instrument, use the scoreline or scoreline_i opcode. |
Here is an example of the schedkwhennamed opcode. It uses the file schedkwhennamed.csd.
Example 940. Example of the schedkwhennamed 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 No messages -odac -iadc -d ; For Non-realtime ouput leave only the line below: ; -o schedkwhennamed.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 48000 ksmps = 16 nchnls = 2 0dbfs = 1 ; Example by Jonathan Murphy 2007 gSinstr2 = "printer" instr 1 ktrig metro 1 if (ktrig == 1) then ;Call instrument "printer" once per second schedkwhennamed ktrig, 0, 1, gSinstr2, 0, 1 endif endin instr printer ktime timeinsts printk2 ktime endin </CsInstruments> <CsScore> i1 0 10 e </CsScore> </CsoundSynthesizer>