FLvslidBnk2

FLvslidBnk2 — Un widget FLTK contenant un banc de réglettes verticales.

Description

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

FLvslidBnk2 est un widget contenant un banc de réglettes verticales.

Syntaxe

FLvslidBnk2 "names", inumsliders, ioutable, iconfigtable [,iwidth, iheight, ix, iy, istart_index]

Initialisation

« names » -- une chaîne de caractères entre guillemets contenant le nom de chaque réglette. Chaque réglette peut avoir un nom différent. Chaque nom est séparé par un caractère « @ », par exemple : « fréquence@amplitude@coupure ». Il est possible de ne fournir aucun nom en donnant un seul espace «   ». Dans ce cas, l'opcode affectera automatiquement un numéro en progression ascendante comme étiquette pour chaque réglette.

inumsliders -- le nombre de réglettes.

ioutable (facultatif, 0 par défaut) -- numéro d'une table allouée préalablement dans laquelle seront stockée les valeurs de sortie de chaque réglette. Il faut s'assurer que la taille de la table est suffisante pour contenir toutes les cellules de sortie, sinon Csound plantera avec une erreur de segmentation. En affectant zéro à cet argument, la sortie sera dirigée vers l'espace zak dans la zone de taux-k. Dans ce cas, l'espace zak doit avoir été alloué au préalable avec l'opcode zakinit et il faut s'assurer que la taille d'allocation est suffisante pour couvrir toutes les réglettes. La valeur par défaut est zéro (c'est-à-dire stockage de la sortie dans l'espace zak).

iconfigtable -- dans les opcodes FLslidBnk2 et FLvslidBnk2, cette table remplace iminmaxtable, iexptable et istyletable, tous ces paramètres étant placés dans une seule table. Cette table doit être remplie avec un groupe de quatre paramètres pour chaque réglette de la façon suivante :

min1, max1, exp1, style1, min2, max2, exp2, style2, min3, max3, exp3, style3 etc.

par exemple en utilisant GEN02 on peut taper :

inum ftgen 1,0,256, -2,     0,1,0,1,    100, 5000, -1, 3,      50, 200, -1, 5,….. [etc]

Dans cet exemple la première réglette reçoit les paramètres [0, 1, 0, 1] (valeurs comprises entre 0 et 1, réponse linéaire, aspect réglette pleine), la seconde réglette reçoit les paramètres [100, 5000, -1, 3] (valeurs comprises entre 100 et 5000, réponse exponentielle, aspect réglette normale), la troisième réglette reçoit les paramètres [50, 200, -1, 5] (valeurs comprises entre 50 et 200, réponse exponentielle, aspect réglette stylée), et ainsi de suite.

iwidth (facultatif) -- largeur de la zone rectangulaire contenant toutes les réglettes du banc, à l'exclusion des étiquettes qui sont placées sous cette zone.

iheight (facultatif) -- hauteur de la zone rectangulaire contenant toutes les réglettes du banc, à l'exclusion des étiquettes qui sont placées sous cette zone.

ix (facultatif) -- position horizontale du coin supérieur gauche de la zone rectangulaire contenant toutes les réglettes appartenant au banc. Il faut laisser suffisamment d'espace en-dessous de ce rectangle afin que les étiquettes des réglettes soient visibles. En effet, les étiquettes elles-mêmes sont situées à l'extérieur de la zone rectangulaire.

iy (facultatif) -- position verticale du coin supérieur gauche de la zone rectangulaire contenant toutes les réglettes appartenant au banc. Il faut laisser suffisamment d'espace en-dessous de ce rectangle afin que les étiquettes des réglettes soient visibles. En effet, les étiquettes elles-mêmes sont situées à l'extérieur de la zone rectangulaire.

istart_index (facultatif, 0 par défaut) -- un nombre entier indiquant un décalage des positions des cellules de sortie. Il peut être positif pour permettre l'allocation en sortie de plusieurs bancs de réglettes dans la même table ou dans l'espace zak. La valeur par défaut est zéro (pas de décalage).

Exécution

Il n'y a pas d'argument de taux-k, même si les cellules de la table en sortie (ou l'espace zak) sont mis à jour au taux-k.

FLvslidBnk2 est un widget contenant un banc de réglettes verticales. On peut y mettre n'importe quel nombre de réglettes (argument inumsliders). La sortie de toutes les réglettes est stockée dans une table allouée au préalable ou dans l'espace zak (argument ioutable). Il est possible de déterminer la première position de la table (ou de l'espace zak) dans laquelle stocker la sortie de la première réglette au moyen de l'argument istart_index.

Chaque réglette peut avoir une étiquette individuelle placée sous elle. Les étiquette sont définies par l'argument « names ». L'intervalle de sortie de chaque réglette peut être fixé individuellement au moyen des valeurs min et max dans la table iconfigtable. La courbe de réponse de chaque réglette peut être fixée individuellement, au moyen d'une liste d'identifiants placés dans la table iconfigtable (argument exp). Il est possible de définir l'aspect de chaque réglette indépendamment ou de donner le même aspect à toutes les réglettes (argument style dans la table iconfigtable).

Les arguments iwidth, iheight, ix et iy déterminent la largeur, la hauteur, les positions horizontale et verticale de la zone rectangulaire contenant les réglettes. Noter que l'étiquette de chaque réglette est placée en-dessous d'elle et n'est pas inclue dans la zone rectangulaire contenant les réglettes. Ainsi l'utilisateur doit laisser assez d'espace à la gauche du banc en affectant une valeur suffisante à iy afin que les étiquettes soient visibles.

FLvslidBnk2 est identique à FLslidBnk2 sauf qu'il contient des réglettes verticales plutôt qu'horizontales. Comme la largeur de chaque réglette est souvent petite, il est recommandé de ne laisser qu'un seul espace dans la chaîne de noms (" "), ce qui fait que chaque réglette sera numérotée automatiquement.

[Avertissement] IMPORTANT !

Noter que les tables utilisée par FLvslidBnk2 doivent être crées avec l'opcode ftgen et placées dans l'orchestre avant le valuateur correspondant. On ne peut pas les placer dans la partition. En effet, les tables placées dans la partition sont créées après l'initialisation des opcodes placés dans la section d'en-tête de l'orchestre.

Voir aussi

FLslider, FLslidBnk, FLslidBnk2, FLvslidBnk2

Crédits

Auteur : Gabriel Maldonado

Nouveau dans la version 5.06