slider64tablef — Enregistre un banc de 64 messages de contrôle MIDI différents dans une table, filtrés avant la sortie.
Enregistre un banc de 64 messages de contrôle MIDI différents dans une table, filtrés avant la sortie.
kflag slider64tablef ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
init1, ifn1, icutoff1, .... , ictlnum64, imin64, imax64, init64, ifn64, icutoff64
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 ... ictlnum64 -- numéro de contrôle MIDI (0-127)
imin1 ... imin64 -- valeurs minimales pour chaque contrôleur
imax1 ... imax64 -- valeurs maximales pour chaque contrôleur
init1 ... init64 -- valeur initiale pour chaque contrôleur
ifn1 ... ifn64 -- table de fonction de conversion pour chaque contrôleur
icutoff1 ... icutoff64 -- fréquence de coupure du filtre passe-bas 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.
slider64tablef 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.
slider64tablef fournit un banc de 64 numéros différents de messages de contrôle MIDI. Il filtre le signal avant la sortie. Cela élimine les discontinuités dues à la basse résolution du MIDI (7 bit). La fréquence de coupure peut être réglée séparément pour chaque contrôleur (intervalle recommandé : 0.1 à 5 Hz).
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.
slider64tablef ressemble beaucoup à la famille des opcodes slider64f et sliderNf (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 sliderNtablef 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 sliderNtablef, il faut fixer une réponse linéaire, un minimum de zéro et un maximum de un dans tous les contrôleurs.
Avertissement | |
---|---|
Les opcodes slider64tablef ne sortent pas la valeur initiale immédiatement, mais seulement après quelques cycles-k parce que le filtre introduit un léger retard dans la sortie. |
slider16table, slider16tablef, slider32table, slider32tablef, slider64table, slider8table, slider8tablef