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, drumsMlp.wav, and drumsSlp.wav.

Example 388. 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
; 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