ftlen — Retourne la taille d'une table de fonction en mémoire.
Retourne la taille (nombre de points, en excluant le point de garde) de la table de fonction numéro x. Bien que la plupart des unités faisant référence à une table en mémoire prennent automatiquement en compte sa taille (ce qui permet d'avoir des tables de longueur arbitraire), cette fonction retourne la taille actuelle en cas de besoin. Noter que ftlen retourne toujours une puissance de deux, ce qui veut dire que le point de garde de la table de fonction (voir Instruction f) n'est pas compris. A partir de Csound 3.53, ftlen travaille avec les tables de fonction différées (voir GEN01).
ftlen diffère de nsamp en ce sens que nsamp donne le nombre de trames d'échantillon chargées, tandis que ftlen donne le nombre total d'échantillons sans le point de garde. Par exemple, avec un fichier son stéréo de 10000 échantillons, ftlen() retournera 19999 (c'est-à-dire un total de 20000 échantillons mono, en excluant le point de garde), mais nsamp() retournera 10000.
Voici un exemple de l'opcode ftlen. Il utilise les fichiers ftlen.csd et mary.wav.
Exemple 278. Exemple de l'opcode ftlen.
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 ; Audio out Audio in -odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o ftlen.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 ; Print out the size of Table #1. ; The size will be the number of points excluding the guard point. ilen = ftlen(1) print ilen endin </CsInstruments> <CsScore> ; Table #1: Use an audio file, Csound will determine its size. f 1 0 0 1 "mary.wav" 0 0 0 ; Play Instrument #1 for 1 second. i 1 0 1 e </CsScore> </CsoundSynthesizer>
Le fichier audio « mary.wav » contient 154390 échantillons.
L'opcode ftlen retourne une taille de 154389
échantillons car il réserve un point pour le point de garde. Sas sortie
comprendra une line comme celle-ci :
instr 1: ilen = 154389.000