ftgentmp — Génère une table de fonction de partition depuis l'orchestre, qui est effacée à la fin de la note.
Génère une table de fonction de partition depuis l'orchestre, qui est facultativement effacée à la fin de la note.
ifno -- un numéro de table soit demandé soir assigné automatiquement supérieur à 100.
ip1 -- le numéro de la table à générer ou 0 si le numéro doit être assigné, auquel cas la table est effacée à la fin de la période d'activation de la note.
ip2dummy -- ignoré.
isize -- taille de la table. Correspond au p3 de l'instruction f de partition.
igen -- routine GEN de la table de fonction. Correspond au p4 de l'instruction f de partition.
iarga, iargb, ... -- arguments de la table de fonction. Correspondent de p5 à pn de l'instruction f de partition.
Note | |
---|---|
A l'origine, Csound était conçu pour ne supporter que les tables dont la taille était une puissance de deux. Bien que ceci ait changé dans les versions récentes (on peut utiliser n'importe quelle taille en donnant un nombre négatif), de nombreux opcodes ne les accepteront pas. |
Voici un exemple de l'opcode ftgentmp. Il utilise le fichier ftgentmp.csd.
Exemple 392. Exemple de l'opcode ftgentmp.
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> </CsOptions> <CsInstruments> sr = 44100 ksmps = 128 nchnls = 2 0dbfs = 1 instr 1 ifno ftgentmp 0, 0, 512, 10, 1 print ifno endin instr 2 print ftlen(p4) endin </CsInstruments> <CsScore> i 1 0 10 i 2 2 1 101 i 1 5 10 i 2 7 1 102 i 2 12 1 101 i 2 17 1 102 e </CsScore> </CsoundSynthesizer>
La sortie de ce csd montre que les tables sont détruites après la fin des
instances d'instrument qui les ont créées, provoquant une erreur d'initialisation
si les tables sont demandées.
SECTION 1: new alloc for instr 1: ftable 101: instr 1: ifno = 101.000 B 0.000 .. 2.000 T 2.000 TT 2.000 M: 0.00000 0.00000 new alloc for instr 2: instr 2: #i0 = 512.000 B 2.000 .. 5.000 T 5.001 TT 5.001 M: 0.00000 0.00000 new alloc for instr 1: ftable 102: instr 1: ifno = 102.000 B 5.000 .. 7.000 T 7.001 TT 7.001 M: 0.00000 0.00000 instr 2: #i0 = 512.000 B 7.000 .. 12.000 T 11.999 TT 11.999 M: 0.00000 0.00000 INIT ERROR in instr 2: Invalid ftable no. 101.000000 #i0 ftlen.i p4 instr 2: #i0 = -1.000 B 12.000 - note deleted. i2 had 1 init errors B 12.000 .. 17.000 T 17.000 TT 17.000 M: 0.00000 0.00000 INIT ERROR in instr 2: Invalid ftable no. 102.000000 #i0 ftlen.i p4 instr 2: #i0 = -1.000 B 17.000 - note deleted. i2 had 1 init errors