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] 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 1129. 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