ftchnls
Prev | Orchestra Opcodes and Operators | Next

## 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 363. 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

Prev | Up | Next
ftaudio | Home | ftconv