maxalloc

maxalloc — Limits the number of allocations of an instrument.

Description

Limits the number of allocations of an instrument.

Syntax

maxalloc insnum, icount

Initialization

insnum -- instrument number

icount -- number of instrument allocations

Performance

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

Examples

Here is an example of the maxalloc opcode. It uses the files maxalloc.orc and maxalloc.sco.

Example 220. Example of the maxalloc opcode.

/* maxalloc.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; Limit Instrument #1 to three instances.
maxalloc 1, 3
 
; 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
/* maxalloc.orc */

        
/* maxalloc.sco */
; 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
/* maxalloc.sco */

        

Its output should contain a message like this:

WARNING: cannot allocate last note because it exceeds instr maxalloc
      

See Also

cpuprc, prealloc

Credits

Author: Gabriel Maldonado
Italy
July 1999

Example written by Kevin Conder.

New in Csound version 3.57