ftchnls

ftchnls — Returns the number of channels in a stored function table.

Description

Returns the number of channels in a stored function table.

Syntax

ftchnls(x) (init-rate args only)

Performance

Returns the number of channels of a GEN01 table, determined from the header of the original file. If the original file has no header or the table was not created by these GEN01, ftchnls returns -1.

Examples

Here is an example of the ftchnls opcode. It uses the files ftchnls.csd, mary.wav, and kickroll.wav.

Example 328. Example of the ftchnls 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
;-odac     ;;;realtime audio out
-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o ftchnls.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1

ichnls = ftchnls(p4)
print ichnls

if (ichnls == 1) then
   asigL loscil3 .8, 4, p4
   asigR = 	asigL
elseif (ichnls == 2) then
   asigL, asigR loscil3 .8, 4, p4
;safety precaution if not mono or stereo
else
   asigL = 0
   asigR = 0
endif
        outs asigL, asigR

endin
</CsInstruments>
<CsScore>
f 1 0 0 1 "mary.wav" 0 0 0
f 2 0 0 1 "kickroll.wav" 0 0 0

i 1 0 3 1 ;mono file
i 1 + 2 2 ;stereo file
e
</CsScore>
</CsoundSynthesizer>


The audio file mary.wav is monophonic, the audio file kickroll.wav is stereophonic, so its output should include lines like these:

instr 1:  ichnls = 1.000
instr 1:  ichnls = 2.000
      

See Also

ftlen, ftlptim, ftsr, nsamp

Credits

Author: Chris McCormick
Perth, Australia
December 2001