ftchnls

ftchnls — Retourne le nombre de canaux dans un table de fonction en mémoire.

Description

Retourne le nombre de canaux dans un table de fonction en mémoire.

Syntaxe

ftchnls(x) (arg de taux-i seulement)

Exécution

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.

Exemples

Voici un exemple de l'opcode ftchnls. Il utilise les fichiers ftchnls.csd, drumsMlp.wav et drumsSlp.wav.

Exemple 384. 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
; 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>


Le fichier audio « drumsMlp » étant monophonique et le fichier audio « drumsSlp.wav » étant stéréophonique, la sortie comprendra des lignes comme celles-ci :

number of channels = 1
number of channels = 2

Voir aussi

ftlen, ftlptim, ftsr, nsamp ftexists

Crédits

Auteur : Chris McCormick
Perth, Australie
Décembre 2001