ftslice

ftslice — Copie un bout d'une ftable dans une autre pendant l'exécution.

Description

Opcode du greffon emugens.

L'opcode ftslice prend une ftable et en copie un bout dans une seconde ftable (comme tab2array, mais entre tables de fonction). Cette action a lieu durant l'exécution (à chaque cycle), afin qu'on puisse la placer dans une clause if / boucle / etc, de taux-k. Pour une version uniquement au taux-i, voir ftslicei

Syntaxe

ftslice ifnsource, ifndest [, kstart, kend, kstep ]
ftslice kfnsource, kfndest [, kstart, kend, kstep ]

Initialisation

ifnsource -- Le numéro de la table source.

ifndest -- Le numéro de la table destination.

Exécution

kstart -- La position à partir de laquelle copier. 0 par défaut.

kend -- La position à partir de laquelle la copie est stoppée. Elle n'est PAS inclusive. 0 indique de copier jusqu'à la fin de la table. Par défaut = la fin de la table.

kstep -- Le nombre d'éléments à ignorer. 1 par défaut.

Exemples

Voici une exemple de l'opcode ftslice. Il utilise le fichier ftslice.csd.

Exemple 401. Exemple de l'opcode ftslice.

<CsoundSynthesizer>
<CsOptions>
</CsOptions>
<CsInstruments>

; Example file ftslice

/*

ftslice: 

Copy slice from source table to destination table

Syntax:

ftslice ifnsource, ifndest, kstart=0, kend=0, kstep=1

ifnsource: source table
ifndest: destination table
kstart: the index to start copying from
kend: the end index to stop copying. This is NOT inclusive. 0=end of table
kstep: how many elements to skip

See also: tablecopy, tableicopy, tab2array
*/

instr 1
  ifn   ftgentmp 0, 0, -13, -2,  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
  idest ftgentmp 0, 0, -11, -2,  0   ; empty table of size 11

  ; copy only even elements
  ftslice ifn, idest, 0, 0, 2
  ftprint idest

  ; copy too many elements - only the elements which fit in the dest table
  ; are copyed

  ftslice ifn, idest
  ftprint idest  

  turnoff
endin


</CsInstruments>
<CsScore>
i 1 0   0.1

</CsScore>
</CsoundSynthesizer>


Voir aussi

ftslicei, ftset, slicearray, copyf2array, tab2array, tablecopy, tableicopy, ftprint

Crédits

Auteur : Eduardo Moguillansky 2018

Nouveau greffon dans la version 6.12