prealloc

prealloc — Creates space for instruments but does not run them.

Description

Creates space for instruments but does not run them.

Syntax

prealloc insnum, icount
prealloc "insname", icount

Initialization

insnum -- instrument number

icount -- number of instrument allocations

insname -- A string (in double-quotes) representing a named instrument.

Performance

All instances of prealloc must be defined in the header section, not in the instrument body.

Examples

Here is an example of the prealloc opcode. It uses the file prealloc.csd.

Example 781. Example of the prealloc 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     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o prealloc.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; Pre-allocate memory for five instances of Instrument #1.
prealloc 1, 5
 
; Instrument #1
instr 1
  ; Generate a waveform, get the cycles per second from the 4th p-field.
  a1 oscil 6500, p4, 1
  out a1
endin


</CsInstruments>
<CsScore>

; Just generate a nice, ordinary sine wave.
f 1 0 32768 10 1

; Play five instances of Instrument #1 for one second.
; Note that 4th p-field contains cycles per second.
i 1 0 1 220
i 1 0 1 440
i 1 0 1 880
i 1 0 1 1320
i 1 0 1 1760
e


</CsScore>
</CsoundSynthesizer>


See Also

cpuprc, maxalloc

Credits

Author: Gabriel Maldonado
Italy
July 1999

Example written by Kevin Conder.

New in Csound version 3.57