compilestr

compilestr — compiles a new orchestra passed in as an ASCII string

Description

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.

Syntax

ires compilestr Sorch

Initialization

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.

Examples

Here is an example of the compilestr opcode. It uses the file 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>


See also

Instrument Invocation

Credits

Author: Victor Lazzarini, 2013