setctrl — Contrôleurs réglettes configurables pour une utilisation en temps réel.
Opcode du greffon control.
Contrôleurs réglettes configurables pour une utilisation en temps réel. Nécessite Winsound ou TCL/TK. setctrl donne à une réglette une valeur spécifique ou bien fixe sa valeur minimale ou maximale.
Noter que cet opcode n'est pas disponible sous Windows à cause de l'implémentation des tuyaux sur ce système.
inum -- numéro de la réglette à changer
ival -- valeur à envoyer à la réglette
itype -- type de la valeur envoyée à la réglette, comme suit :
1 -- fixe la valeur courante. La valeur initiale est 0.
2 -- fixe la valeur minimale. 0 par défaut.
3 -- fixe la valeur maximale. 127 par défaut.
4 -- fixe l'étiquette. (Nouveau dans la version 4.09 de Csound)
L'appel de setctrl va créer une nouvelle réglette à l'écran. Il n'y a pas de limite théorique au nombre de réglettes. Winsound et TCL/TK n'utilisent que des entiers pour les valeurs de réglette, si bien qu'il peut être nécessaire de re-échelonner les valeurs. Parce que les interfaces graphiques passent habituellement leurs valeurs à une fréquence assez lente, il peut être sage de traiter la sortie du contrôleur avec port.
Voici un exemple de l'opcode setctrl. Il utilise le fichier setctrl.csd.
Exemple 956. Exemple de l'opcode setctrl.
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> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o setctrl.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 ; Display the label "Volume" on Slider #1. setctrl 1, "Volume", 4 ; Set Slider #1's initial value to 20. setctrl 1, 20, 1 ; Capture and display the values for Slider #1. k1 control 1 printk2 k1 ; Play a simple oscillator. ; Use the values from Slider #1 for amplitude. kamp = k1 * 128 a1 oscil kamp, 440, 1 out a1 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 16384 10 1 ; Play Instrument #1 for thirty seconds. i 1 0 30 e </CsScore> </CsoundSynthesizer>
Sa sortie contiendra des lignes comme celles-ci :
i1 38.00000 i1 40.00000 i1 43.00000