ftchnls
Returns the number of channels in a stored function table.
Syntax
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.
Examples
Here is an example of the ftchnls opcode. It uses the files ftchnls.csd, drumsMlp.wav, and drumsSlp.wav.
Example of the ftchnls opcode. |
---|
| <CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac ;;;realtime audio out
; For Non-realtime ouput leave only the line below:
; -o ftchnls.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
; by Menno Knevel 2022
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
instr 1
ichnls = ftchnls(p4)
prints "\nnumber of channels = %d\n\n", ichnls
if (ichnls == 1) then
asigL loscil3 .8, 1, p4, 1 ; sample loops between 1 and end loop point at 2 secs.
asigR = asigL
elseif (ichnls == 2) then
asigL, asigR loscil3 .8, 1, p4, 1 ; sample loops between 2 and end loop point at 3 secs.
else ; safety precaution if not mono or stereo
asigL = 0
asigR = 0
endif
outs asigL, asigR
endin
</CsInstruments>
<CsScore>
f 1 0 0 1 "drumsMlp.wav" 0 0 0
f 2 0 0 1 "drumsSlp.wav" 0 0 0
i 1 0 3 1 ;mono file
i 1 + 8 2 ;stereo file
e
</CsScore>
</CsoundSynthesizer>
|
The audio file “drumsMlp.wav” is monophonic, the audio file “drumsSlp.wav” is stereophonic, so its output should include lines like these:
number of channels = 1
number of channels = 2
See also
Table Control:Table Queries
Credits
Author: Chris McCormick
Perth, Australia
December 2001