passign

passign — Assigns a range of p-fields to ivariables.

Description

Assigns a range of p-fields to ivariables, or i- or k-array.

Syntax

 ivar1, ... passign [istart][, iend
 iarray passign [istart][, iend
 karray passign [istart][, iend

Initialisation

The optional argument istart gives the index of the first p-field to assign. The default value is 1, corresponding to the instrument number.

The optional argument iend gives the index of the last p-field to assign. The default value is 0, which means all.

One of the variables can be a string variable, in which case it is assigned the only string parameter, if there is one, or an error otherwise.

Performance

passign transfers the instrument p-fields to instrument variables, starting with the one identified by the istart argument. There should not be more variables than p-fields, but there may be fewer.

passign can transfer the instrument p-fields to a one dimensional array, either an iarray or a karray.

See Also

assign, pcount

Example

Here is an example of the passign opcode. Play passign.csd

Example 736. A variant of toot8.csd that uses passign.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if real audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o passign.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 8

idur,iamp,iskiptime,iattack,irelease,irvbtime,irvbgain  passign   3

kamp      linen     iamp, iattack, idur, irelease
asig      soundin   "fox.wav", iskiptime
arampsig  =         kamp * asig
aeffect   reverb    asig, irvbtime
arvbretrn =         aeffect * irvbgain
;mix dry & wet signals
          outs      arampsig + arvbretrn, arampsig + arvbretrn

          endin

</CsInstruments>
<CsScore>

;ins strt dur  amp  skip atk  rel       rvbt rvbgain
i8   0    4    .3   0    .03  .1        1.5  .3
i8   4    4    .3   1.6  .1   .1        3.1  .7
i8   8    4    .3   0    .5   .1        2.1  .2
i8   12   4    .4   0    .01  .1        1.1  .1
i8   16   4    .5   0.1  .01  .1        0.1  .1

e
</CsScore>
</CsoundSynthesizer>


Credits

Author: John ffitch
University of Bath, Codemist Ltd.
Bath, UK
December 2009

New in version 5.12; end point and array version after 5.12