compilestr — compiles a new orchestra passed in as an ASCII string
Compilestr will compile one or more instruments at init time, which will be added to the running engine. In case of existing instrument numbers or names, these will be replaced, but any instance still running of the old instrument definition will still perform until it terminates. Only new instances will use the new definition. Multi-line strings are accepted, using {{ }} to enclose the string.
“Sorch” -- a string (in double-quotes or enclosed by {{ }}) containing one or more instruments.
“ires” -- returns 0 if compilation was successful, or -1 if not.
Here is an example of the compilestr opcode. Play compilestr.csd
Example 156. Example of the compilestr opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> -o dac -d </CsOptions> <CsInstruments> sr = 44100 nchnls = 1 ksmps = 32 0dbfs = 1 instr 1 ;will fail because of wrong code ires compilestr {{ instr 2 a1 oscilb p4, p5, 0 out a1 endin }} print ires ; returns -1 because not successfull ;will compile ... ires compilestr {{ instr 2 a1 oscils p4, p5, 0 out a1 endin }} print ires ; ... and returns 0 ;call the new instrument ;(note that the overall performance is extended) scoreline_i "i 2 0 3 .2 415" endin </CsInstruments> <CsScore> i1 0 1 </CsScore> </CsoundSynthesizer>