ftchnls — Returns the number of channels in a stored function table.
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 file ftchnls.csd, and mary.wav.
Example 168. 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
; Audio out Audio in
-odac -iadc ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o ftchnls.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
; Print out the number of channels in Table #1.
ichnls = ftchnls(1)
print ichnls
endin
</CsInstruments>
<CsScore>
; Table #1: Use an audio file, Csound will determine its size.
f 1 0 0 1 "mary.wav" 0 0 0
; Play Instrument #1 for 1 second.
i 1 0 1
e
</CsScore>
</CsoundSynthesizer>
Since the audio file “mary.wav” is monophonic (1 channel), its output should include a line like this:
instr 1: ichnls = 1.000