FLcount

FLcount — Un opcode de widget FLTK qui crée un compteur.

Description

Permet à l'utilisateur d'augmenter/diminuer une valeur avec des clics de souris sur un bouton fléché correspondant.

Syntaxe

kout, ihandle FLcount "label", imin, imax, istep1, istep2, itype, \
      iwidth, iheight, ix, iy, iopcode [, kp1] [, kp2] [, kp3] [...] [, kpN]

Initialisation

ihandle -- un identifiant (un nombre entier) qui référence de manière univoque le widget correspondant. Il est utilisé par d'autres opcodes qui modifient les propriétés du valuateur. Il est automatiquement fixé par le valuateur.

« label » -- une chaîne entre guillemets contenant un texte fourni par l'utilisateur placé à côté du widget.

imin -- valeur minimale de l'intervalle de sortie.

imax -- valeur maximale de l'intervalle de sortie.

istep1 -- un nombre en virgule flottante indiquant le pas d'incrémentation du valuateur à chaque clic de souris. istep1 sert aux réglages fins.

istep2 -- un nombre en virgule flottante indiquant le pas d'incrémentation du valuateur à chaque clic de souris. istep2 sert aux réglages grossiers.

itype -- un nombre entier dénotant l'apparence du valuateur.

iwidth -- largeur du widget.

iheight -- hauteur du widget.

ix -- position horizontale du coin supérieur gauche du valuateur, relative au coin supérieur gauche de la fenêtre correspondante (exprimée en pixels).

iy -- position verticale du coin supérieur gauche du valuateur, relative au coin supérieur gauche de la fenêtre correspondante (exprimée en pixels).

iopcode -- type de l'instruction de partition. Il faut fournir le code ASCII de la lettre correspondant à l'instruction de partition. Actuellement seules les instructions de partition « i » (code ASCII 105) sont supportées. Une valeur de zéro fait référence à une valeur de « i » par défaut. Ainsi 0 et 105 activent l'instruction i. Une valeur de -1 désactive cette possibilité.

Exécution

kout -- valeur de sortie.

kp1, kp2, ..., kpN -- arguments des instruments activés.

FLcount permet à l'utilisateur d'augmenter/diminuer une valeur avec des clics de souris sur les boutons fléchés correspondants :

FLcount.

FLcount.

Il y a deux sortes de boutons fléchés, pour des pas plus grands ou plus petits. Noter que non seulement FLcount retourne une valeur et un identifiant, mais il peut aussi activer (programmer) un instrument fourni par l'utilisateur chaque fois qu'un bouton est cliqué. Les p-champs de l'instrument activé sont kp1 (numéro de l'instrument), kp2 (date de l'action), kp3 (durée) suivis des p-champs de l'utilisateur. Si l'argument iopcode est fixé à un nombre négatif, aucun instrument n'est activé. Ainsi cette possibilité est facultative.

Exemples

Voici un exemple de l'opcode FLcount. Il utilise le fichier FLcount.csd.

Exemple 286. Exemple de l'opcode FLcount.

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 FLcount.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Demonstration of the flcount opcode
; clicking on the single arrow buttons
; increments the oscillator in semitone steps
; clicking on the double arrow buttons 
; increments the oscillator in octave steps
sr = 44100
kr = 441
ksmps = 100
nchnls = 1

FLpanel "Counter", 900, 400, 50, 50
    ; Minimum value output by counter
    imin = 6
    ; Maximum value output by counter
    imax = 12
    ; Single arrow step size (semitones)
    istep1 = 1/12
    ; Double arrow step size (octave)
    istep2 = 1 
    ; Counter type (1=double arrow counter)
    itype = 1
    ; Width of the counter in pixels
    iwidth = 200
    ; Height of the counter in pixels
    iheight = 30
    ; Distance of the left edge of the counter
    ; from the left edge of the panel
    ix = 50
    ; Distance of the top edge of the counter
    ; from the top edge of the panel
    iy = 50
    ; Score event type (-1=ignored)
    iopcode = -1

    gkoct, ihandle FLcount "pitch in oct format", imin, imax, istep1, istep2, itype, iwidth, iheight, ix, iy, iopcode, 1, 0, 1
; End of panel contents
FLpanelEnd
; Run the widget thread!
FLrun

instr 1
    iamp = 15000
    ifn = 1
    asig oscili iamp, cpsoct(gkoct), ifn
    out asig
endin


</CsInstruments>
<CsScore>

; Function table that defines a single cycle
; of a sine wave.
f 1 0 1024 10 1

; Instrument 1 will play a note for 1 hour.
i 1 0 3600
e


</CsScore>
</CsoundSynthesizer>


Voir aussi

FLjoy, FLknob, FLroller, FLslider, FLtext

Crédits

Auteur : Gabriel Maldonado

Nouveau dans la version 4.22

Exemple écrit par Iain McCurdy, édité par Kevin Conder.