ftchnls — Retourne le nombre de canaux dans un table de fonction en mémoire.
Retourne le nombre de canaux d'une table GEN01, déterminé par l'en-tête du fichier d'origine. Si le fichier d'origine n'a pas d'en-tête ou si la table n'a pas été créée par GEN01, ftchnls retourne -1.
Voici un exemple de l'opcode ftchnls. Il utilise les fichiers ftchnls.csd, mary.wav et kickroll.wav.
Exemple 363. Exemple de l'opcode ftchnls.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<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>
Le fichier audio « mary.wav » étant monophonique et le fichier
audio « kickroll.wav » étant stéréophonique,
la sortie comprendra des lignes comme celles-ci :
instr 1: ichnls = 1.000 instr 1: ichnls = 2.000