slider8table

slider8table — Enregistre un banc de 8 messages de contrôle MIDI différents dans une table.

Description

Enregistre un banc de 8 messages de contrôle MIDI différents dans une table.

Syntaxe

kflag slider8table ichan, ioutTable, ioffset, ictlnum1, imin1, imax1, \
      init1, ifn1,..., ictlnum8, imin8, imax8, init8, ifn8

Initialisation

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 ... ictlnum8 -- numéro de contrôle MIDI (0-127)

imin1 ... imin8 -- valeurs minimales pour chaque contrôleur

imax1 ... imax8 -- valeurs maximales pour chaque contrôleur

init1 ... init8 -- valeur initiale pour chaque contrôleur

ifn1 ... ifn8 -- table de fonction de conversion pour chaque contrôleur

Exécution

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.

slider8table 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.

slider8table fournit un banc de 8 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.

slider8table ressemble beaucoup à la famille des opcodes slider8 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.

Voir aussi

slider16table, slider16tablef, slider32table, slider32tablef, slider64table, slider64tablef, slider8tabletablef

Crédits

Auteur : Gabriel Maldonado

Nouveau dans la version 5.06 de Csound.