WiiToMidi 0.7 Copyright 2007 Mike Verdone Permission is given to freely modify, manipulate, and rerelease this application provided source code is made available. HOW TO USE * Copy WiiToMidi to your Applications folder * Open Audio MIDI Setup and ensure the device you want to receive Wii remote output is active (generally you should enable the IAC Driver if you want to pipe the Wii MIDI to another piece of software). * Open WiiToMidi * Select the MIDI device and MIDI channel you want to send to. * Ensure Bluetooth is enabled on your Mac. * Loop Wii remote wrist strap around your wrist and tighten to secure it (or you'll throw the thing through your flat panel monitor.) * Push buttons 1 and 2 on the Wii remote to connect it to the Mac * Outputs are assigned as follows: * X-axis: controller 16 * Y-axis: controller 17 * Z-axis: controller 18 * Nunchuk X-axis: controller 19 * Nunchuk Y-axis: controller 20 * Nunchuk Z-axis: controller 21 * Nunchuk Joystick X-axis: controller 22 * Nunchuk Joystick Y-axis: controller 23 * X, Y, Z velocity: controllers 28-30 * Nunchux X, Y, Z velocity: controllers 31-33 * X, Y, Z position: controllers 34-36 * Nunchuk X, Y, Z position: 37-39 * X, Y orientation: 40-41 * Nunchuk X, Y orientation: 42-43 * Wave that thing around like you just don't care. * You can use the 1 button to toggle learning mode. When learning mode is engaged the A, B, C, and Z buttons control which MIDI channels send. The Wiimote LED will flash while in learning mode, and on the WiiToMidi window the Learning Mode textbox will say On. A learning mode submode will also be specified, which can be changed with button 2 on the Wii Remote. With no buttons down no channels send in any submode, but depending on the submode buttons will unmute different outputs. In Acceleration, Velocity, or Position submode, the buttons send as follows: * With A down Z-Axis sends * With B down X-axis sends * With A and B down Y-axis sends * With C down Nunchuk Z-Axis sends * With Z down Nunchuk X-axis sends * With C and Z down Nunchuk Y-axis sends In Orientation submode, A sends Y-axis and B sends X-axis * The plus and minus buttons can be used to control sensitivity. * + doubles sensitivity * - halves it * The up and down directions on the D-Pad can be used to control smoothing * UP adds a smoothing frame (makes motion smoother) * DOWN removes a frame (makes motion more direct) * The default number of smoothing frames is 4 and is shown on the WiiToMidi window. * When not in Learning Mode the buttons send MIDI key on/off events. The buttons are limited to the following notes/codes (for now): * A sends 60 (C-4) * B sends 62 (D-4) * C sends 65 (F-4) * Z sends 69 (A-4) * You can connect more than one Wii Remote by going to File/New and then connecting the new remote to the new window that opens. WHO MADE THIS THING Comments and concerns may be directed to: Mike Verdone Velocity, position, and orientation support: Mehmet Akten This application uses WiiRemote.framework version 0.5 (included in the application and sources). WiiRemote.framework can be found at: http://sourceforge.net/projects/darwiin-remote/ CHANGELOG -- 0.7 * Velocity, position, and orientation outputs thanks to Mehmet Akten (www.memo.tv) * Improved learning mode to handle extra outputs. * Documentation improvements (ie. this README) -- 0.6 * Upgraded to WiiRemote.framework 0.5. Nunchuk joystick now works! * Fixed crash-on-launch bug when no midi devices present * WiiToMidi has an icon! Thank you Izzy Meckler * Learning mode, sensitivity, and smoothing state info shown in main window * Classic Controller joysticks sort of work. Don't use them tho. :-) -- 0.5 * Send key on/off notes with A,B,C,Z * Initial support for multiple Wii Remotes * The usual cleanup and refactoring -- 0.4 * Refactoring. Should leak less memory now * Wiimote LED flickers when in Learning Mode * Wiimote LED animates when changing sensitivity * By popular demand, signal smoothing! Use the up and down D-PAD directions to control the amount of smoothing. * Also, animations for smoothing. * Select output MIDI device/bus from a dropdown -- 0.3 * Misc. refactoring * Upgraded WiiRemote.framework to 0.4 * Support for Nunchuk accelerometers -- 0.2 * Added a learning mode to control which accelerometers are active with the A and B buttons (toggled with the 1 button) * Added sensitivity/scaling (controlled by + and - buttons) -- 0.1 Initial version