FLmouse
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## FLmouse

FLmouse — Retourne la position de la souris et l'état de ses trois boutons.

## Description

FLmouse retourne les coordonnées de la position de la souris dans un panneau FLTK et l'état de ses trois boutons.

## Syntaxe

    kx, ky, kb1, kb2, kb3 FLmouse [imode]

## Initialisation

imode – (facultatif, 0 par défaut) Détermine la façon de rapporter la position de la souris.

- 0 - Position absolue normalisée dans l'intervalle 0-1

- 1 - Position absolue en pixel brut

- 2 - Position en pixel brut, relative au panneau FLTK

## Exécution

kx, ky – les coordonnées de la souris, dont l'intervalle dépend de l'argument imode (voir ci-dessus).

kb1, kb2, kb3 – les états des boutons de la souris, 1 lorsque le bouton correspondant est enfoncé, 0 lorqu'il est relaché.

FLmouse retourne les coordonnées de la position de la souris dans un panneau FLTK et l'état de ses trois boutons. Les coordonnées peuvent être récupérées selon trois modes dépendant de la valeur de l'argument imode (voir ci-dessus). Les modes 0 et 1 retournent la position de la souris par rapport à l'écran complet (mode absolu), tandis que le mode 2 retourne la position en pixels dans un panneau FLTK. Noter que FLmouse n'est actif que lorsque le curseur de la souris se trouve sur une zone FLpanel.

## Exemples

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

Exemple 285. Exemple de l'opcode FLmouse.

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
    </CsOptions>
    <CsInstruments>

    sr=44100
    ksmps=128
    nchnls=2

    ;Example by Andres Cabrera 2007
    giwidth = 400
    giheight = 300
    FLpanel "FLmouse", giwidth, giheight, 10, 10
    FLpanelEnd

    FLrun

    0dbfs = 1

    instr 1
      kx, ky, kb1, kb2, kb3    FLmouse 2
      ktrig changed kx, ky  ;Print only if coordinates have changed
      printf "kx = %f   ky = %f \n", ktrig, kx, ky
    kfreq = ((giwidth - ky)*1000/giwidth) + 300

    ; y coordinate determines frequency, x coordinate determines amplitude
    ; Left mouse button (kb1) doubles the frequency
    ; Right mouse button (kb3) activates sound on channel 2
      aout oscil kx /giwidth , kfreq * (kb1 + 1), 1
      outs aout, aout * kb3
    endin

    </CsInstruments>
    <CsScore>
    f 1 0 1024 10 1

    i 1 0 120
    e

    </CsScore>
    </CsoundSynthesizer>

## Crédits

Auteur : Gabriel Maldonado

Nouveau dans la version 5.06

Précédent | Niveau supérieur | Suivant
FLloadsnap | Sommaire | flooper