compilestr
Prev | Orchestra Opcodes and Operators | Next

## 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

Prev | Up | Next
compileorc | Home | compress