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

## wiiconnect

wiiconnect — Lit des données provenant de l'un des contrôleurs Wiimote de Nintendo.

## Description

Ouvre et interroge au taux de contrôle de un à quatre contrôleurs externes Wiimote de Nintendo.

## Syntaxe

    ires wiiconnect [itimeout, imaxnum]

## Initialisation

itimeout -- nombre entier de secondes pendant lesquelles le système doit attendre que toutes les Wiimotes soient connectées. S'il n'est pas spécifié, il vaut 10 secondes par défaut.

imaxnum -- nombre maximum de Wiimotes à repérer. S'il n'est pas spécifié, il vaut 4 par défaut.

Initialement, chaque Wiimote montre sont allocation numérique en allumant une des quatre LEDs.

ires -- valeur de retour qui vaut 1 en cas de succès ou 0 en cas d'erreur.

## Exécution

| Note
Prière de noter que ces opcodes ne sont actuellement supportés que sous Linux.

A chaque cycle de contrôle, chaque Wiimote est interrogée sur son état et sur sa position. Ces valeurs sont lues par l'opcodes wiidata. Le résultat retourné vaut 1 la plupart du temps, mais sera nul si une Wiimote se déconnecte.

## Exemples

Voici un exemple des opcodes wii. Il utilise le fichier wii.csd.

Exemple 1081. Exemple des opcodes wii.

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>
    -+rtaudio=alsa -o dac:hw:0
    </CsOptions>
    <CsInstruments>
    nchnls = 2
    ksmps = 400

    #define WII_B           #3#
    #define WII_A           #4#
    #define WII_R_A         #304#
    #define WII_PITCH       #20#
    #define WII_ROLL        #21#
    #define WII_BATTERY     #27#

    #define WII_RUMBLE      #3#
    #define WII_SET_LEDS    #4#

    gkcnt init 1

    instr 1
      i1  wiiconnect 3,1

          wiirange   $WII_PITCH., -20, 0
      kb  wiidata    $WII_BATTERY.
      kt  wiidata    $WII_B.
      ka  wiidata    $WII_A.
      kra wiidata    $WII_R_A.
      gka wiidata    $WII_PITCH.
      gkp wiidata    $WII_ROLL.
    ; If the B (trigger) button is pressed then activate a note
      if  (kt==0)    goto ee
      event "i", 2, 0, 5
      gkcnt = gkcnt + 1
      wiisend       $WII_SET_LEDS., gkcnt
    ee:
      if (ka==0)    goto ff
      wiisend       $WII_RUMBLE., 1
    ff:
      if (kra==0)   goto gg
      wiisend       $WII_RUMBLE., 0
    gg:
      printk2  kb
    endin

    instr 2
      a1 oscil  ampdbfs(gka), 440+gkp, 1
         outs   a1, a1
    endin

    </CsInstruments>
    <CsScore>
    f1 0 4096 10 1
    i1 0 300

    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

wiidata, wiirange, wiisend

## Crédits

Auteur : John ffitch
Codemist Ltd
2009

Nouveau dans la version 5.11

Précédent | Niveau supérieur | Suivant
while | Sommaire | wiidata