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


Returns the number of channels in a stored function table.


ftchnls(x) (init-rate args only)


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.


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

Example 380. Example of the ftchnls opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; 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

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
   asigL = 0
   asigR = 0
        outs asigL, asigR

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

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 ftexists


Author: Chris McCormick
Perth, Australia
December 2001