FLslidBnk2Setk
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## FLslidBnk2Setk

FLslidBnk2Setk — mofidie les valeurs d'un banc de réglettes.

## Description

FLslidBnk2Setkmofidie les valeurs d'un banc de réglettes selon un ensemble de valeurs stockées dans une table.

## Syntaxe

    FLslidBnk2Setk  ktrig, ihandle, ifn [, istartIndex, istartSlid, inumSlid]

## Initialisation

ihandle - identifiant du sliderBnk (à utiliser pour fixer ses valeurs).

ifn - numéro d'une table contenant un ensemble de valeurs à affecter à chaque réglette.

istartIndex - (facultatif) indice dans la table du premier élément à être évalué. La valeur par défaut est zéro.

istartSlid - (facultatif) première réglette à évaluer. 0 par défaut, indiquant la première réglette.

inumSlid - (facultatif) nombre de réglettes à mettre à jour. 0 par défaut, indiquant toutes les réglettes.

## Exécution

ktrig – la sortie de FLslidBnk2Setk est un déclencheur qui indique si les réglettes doivent être mises à jour ou pas. Une valeur non nulle force la mise à jour des réglettes.

FLslidBnk2Setk est semblable à FLslidBnkSet mais il permet de modifier les valeurs de FLslidBnk2 au taux-k (on peut aussi utiliser FLslidBnk2Setk avec FLvslidBnk2, obtenant un résultat identique). Il permet aussi de relier le banc de réglettes au MIDI. Si l'on utilise le MIDI (par exemple au moyen de l'opcode slider8table), FLslidBnk2Setk change les valeurs du banc de réglettes FLslidBnk2 avec un ensemble de valeurs situées dans une table. Cet opcode est ainsi capable de servir de pont MIDI vers le widget FLslidBnk2 lorsqu'il est utilisé avec la famille d'opcodes sliderXXtable (voir l'entrée slider8table pour plus d'information). Noter que, si l'on veut utiliser l'indexation de table comme une courbe de réponse, il est impossible de le faire directement dans la configuration iconfigtable de FLslidBnk2, lorsque l'on a l'intention d'utiliser l'opcode FLslidBnk2Setk. En fait, l'élément correspondant de l'élément inputTable de FLslidBnk2Setk doit être positionné en mode linéaire et respecter l'intervalle de 0 à 1. Même les éléments correspondants de sliderXXtable doivent être positionnés en mode linéaire dans l'intervalle normalisé. On peut indexer la table plus tard au moyen des opcodes tab et tb, et recadrer la sortie en fonction des valeurs max et min. D'un autre côté, il est possible d'utiliser une courbe de réponse linéaire ou exponentielle directement, en fixant l'intervalle min-max courant ainsi que l'indicateur à la fois dans l'iconfigtable du FLslidBnk2 correspondant et dans sliderXXtable.

FLslidBnk2Setk est la version de taux-k de FLslidBnk2Set.

## Exemples

Voici un exemple de l'opcode FLslidBnk2Setk. Il utilise le fichier FLslidBnk2Setk.csd.

Exemple 300. Exemple de l'opcode FLslidBnk2Setk.

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>
    ; Audio out   Audio in    No messages
    -odac           -iadc     -d     ;;;RT audio I/O
    </CsOptions>
    <CsInstruments>

    sr     = 44100
    ksmps  = 10
    nchnls = 2

    ;Example by Gabriel Maldonado 2007
    giElem	init	8
    giOutTab	ftgen	1,0,128, 2, 	0
    giSine	ftgen	3,0,256,10,	1
    giOutTab2	ftgen	4,0,128, 2, 	0
    itab	ftgen	29, 0, 129, 5,  .002, 128, 1		;** exponential ascending curve for slider mapping
    giExpTab	ftgen	30, 0, 129, -24, itab, 0, 1                    ;** rescaled curve for slider mapping
    giConfigTab ftgen	2,0,128,-2,         	1, 	500,	-1, 	13, \
    				     	1, 	500,	-1,  	13, \
    				          1, 	500,	-1, 	13, \
     					1, 	5000,	-1, 	13, \
    \
    					1, 	1000, 	-1,  	5, \
    					1, 	1000, 	-1,  	5, \
    					1, 	1000, 	-1,  	5, \
    					1, 	5000, 	-1,  	5

    	FLpanel	"Multiple FM",600,600
    	FLslidBnk2 "mod1@mod2@mod3@amp@freq1@freq2@freq3@freqPo", giElem, giOutTab2, giConfigTab, 400, 500, 100, 10
    giHandle	FLslidBnkGetHandle
    	FLpanel_end

    	FLrun
    	instr 1
    ktrig slider8table  1, giOutTab, 0, \ ;	ctl	min	max	init	func
    	27,	1, 	500,	3,	-1,	\ ;1 repeat rate
    	28,	1, 	500,	4,	-1,	\ ;2 random freq. amount
    	29,	1, 	500,	1,	-1,	\ ;3 random amp. amount
    	30,	1,	5000,	1,	-1,	\ ;4 number of concurrent loop points
    \
    	31,	1, 	1000,	1,	-1,	\;5 kloop1
    	32,	1, 	1000,	1,	-1,	\;6 kloop2
    	33,	1, 	1000,	1,	-1,	\;7 kloop3
    	34,	1, 	1000,	1,	-1	;8 kloop4
    kmodindex1	init	0
    kmodindex2	init	0
    kmodindex3	init	0
    kamp	init	0
    kfreq1	init	0
    kfreq2	init	0
    kfreq3	init	0
    kfreq4	init	0
              vtable1k  giOutTab2, kmodindex1, kmodindex2, kmodindex3, kamp, kfreq1, kfreq2, kfreq3, kfreq4
    ;	 *kflag, *ihandle, *ifn, *startInd, *startSlid, *numSlid;
    	FLslidBnk2Setk  ktrig, giHandle, giOutTab, 0, 0, giElem
    printk2 kmodindex1
    printk2 kmodindex2,10
    printk2 kmodindex3,20
    printk2 kamp,30
    amod1	oscili	kmodindex1, kfreq1, giSine
    amod2	oscili	kmodindex2, kfreq2, giSine
    amod3	oscili	kmodindex3, kfreq3, giSine
    aout	oscili	kamp,       kfreq4+amod1+amod2+amod3, giSine
    	outs	aout, aout
    	endin
    </CsInstruments>
    <CsScore>
    i1 0 3600
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

FLslider, FLslidBnkGetHandle, FLslidBnk, FLslidBnk2, FLvslidBnk, FLvslidBnk2 FLslidBnkSet, FLslidBnk2Set, slider8table

## Crédits

Auteur : Gabriel Maldonado

Nouveau dans la version 5.06

Précédent | Niveau supérieur | Suivant
FLslidBnk2Set | Sommaire | FLslider