slider32table — Enregistre un banc de 32 messages de contrôle MIDI différents dans une table.
kflag slider32table ichan, ioutTable, ioffset, ictlnum1, imin1, \
imax1, init1, ifn1, .... , ictlnum32, imin32, imax32, init32, ifn32
ichan -- canal MIDI (1-16)
ioutTable -- numéro de la table qui contiendra la sortie
ioffset -- décalage dans la table de sortie. Zéro signifie que la sortie du premier contrôleur affectera le premier élément de la table. 10 signifie que la sortie du premier contrôleur affectera le onzième élément de la table.
ictlnum1 ... ictlnum32 -- numéro de contrôle MIDI (0-127)
imin1 ... imin32 -- valeurs minimales pour chaque contrôleur
imax1 ... imax32 -- valeurs maximales pour chaque contrôleur
init1 ... init32 -- valeur initiale pour chaque contrôleur
ifn1 ... ifn32 -- table de fonction de conversion pour chaque contrôleur
kflag -- un indicateur qui informe si un message de changement de contrôle dans le banc a été reçu. Dans ce cas, kflag est fixé à 1. Sinon il est fixé à 0.
slider32table est un banc de contrôleurs MIDI, utile lorsque l'on utilise un mélangeur MIDI comme le Kawai MM-16 ou autres pour changer n'importe quel paramètre du son en . Les messages de contrôle MIDI arrivant sur le port d'entrée sont convertis pour entrer dans l'intervalle iminN, imaxN, et une valeur initiale peut être fixée. On peut aussi utiliser de manière facultative une table de fonction non interpolée avec une courbe de traduction personnalisée pour obtenir, par exemple, des courbes de réponse exponentielles.
Si l'on n'a pas besoin d'une table de traduction, on fixe la valeur de ifnN à 0, sinon, on donne à ifnN un numéro de table de fonction valide. Lorsque l'on utilise une table de traduction (si ifnN reçoit une valeur non nulle faisant référence à une table de fonction déjà allouée), la valeur de initN doit être égale à celle de iminN ou à celle de imaxN, sinon la valeur de sortie initiale sera différente de celle spécifiée dans l'argument initN.
slider32table fournit un banc de 32 numéros différents de messages de contrôle MIDI.
Comme les arguments d'entrée et de sortie sont nombreux, on peut scinder la ligne en utilisant le caractère '\' (slash inversé) (nouveau dans la version 3.47) pour améliorer la lisibilité. L'utilisation de ces opcodes est considérablement plus efficace que celle de (ctrl7 et tonek) séparés, lorsque l'on a besoin de plus de contrôleurs.
slider32table ressemble beaucoup à la famille des opcodes slider32 et sliderN (voir leur notice pour plus d'information), à la différence que la sortie n'est pas stockée dans des variables de taux-k, mais dans une table dénotée par l'argument ioutTable. Il est possible de définir un indice de base afin d'utiliser la même table pour plus d'un banc de contrôleurs (ou pour un autre usage).
Il est possible d'utiliser cet opcode conjointement avec FLslidBnk2Setk et avec FLslidBnk2, ce qui permet de synchroniser la position des valeurs MIDI à la position des widgets valueurs FLTK de FLslidBnk2. Noter qu'il faut spécifier les mêmes valeurs de min/max et de réponse linéaire/exponentielle dans sliderNtable et dans FLslidBnk2. Il y a une exception si l'on utilise une réponse dans une table indexée au lieu d'une réponse lin/exp. Dans ce cas, afin d'obtenir un résultat utilisable, la réponse par table indéxée et les valeurs min/max ne doivent être fixées que dans FLslidBnk2, alors que dans sliderNtable, il faut fixer une réponse linéaire, un minimum de zéro et un maximum de un dans tous les contrôleurs.