FLslidBnk2Setk — mofidie les valeurs d'un banc de réglettes.
Opcode du greffon widgets. Ce greffon se trouve dans le répertoire des greffons et il doit être installé séparément. Les widgets FLTK ne fonctionnent pas sur Mac. Le répertoire des greffons est ici : https://github.com/csound/plugins
FLslidBnk2Setkmofidie les valeurs d'un banc de réglettes selon un ensemble de valeurs stockées dans une table.
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.
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.
Voici un exemple de l'opcode FLslidBnk2Setk. Il utilise le fichier FLslidBnk2Setk.csd.
Exemple 335. 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>
FLslider, FLslidBnkGetHandle, FLslidBnk, FLslidBnk2, FLvslidBnk, FLvslidBnk2 FLslidBnkSet, FLslidBnk2Set, slider8table