AkiDemoソース公開 | 王様の耳はロバの耳

王様の耳はロバの耳

ゆがんだかがくしゃのたのしいにっきだよ

AkiDemoのソースを公開しました。
http://akihiko.shirai.as/modules/mydownloads/viewcat.php?cid=6

WiiYourself!で使える小さなサンプルコードです。
書籍「WiiRemoteプログラミング」で紹介したコードがもとになっています。


-HelloWiiRemote
32行のC/C++言語で書かれた「Hello World」スタイルのシンプルなサンプルです。Bボタンを押すとバイブレーターが鳴ります。


-Thermin-Btn
ボタンでMIDIをならすテルミン的な電子楽器です。


-Theremin-Acc
加速度センサーによるMIDI演奏です。カッコよく演奏してください。


-Speaker
スピーカーを鳴らすデモです。特殊な形式のWAVファイルが必要です(書籍では詳しく解説しています)。


-Measurement
WiiRemotenoパフォーマンス(処理能力・動作周波数)を測るデモです。


★WiiMotionPlusが使える「WiiYourself !v1.13beta」で動作確認しています。


おまけ。

本当に32行で書いているHello, WiiRemoteのコードを引用しておきます。


// [Hello, WiiRemote!]
// A simple sample by Akihiko SHIRAI (http://akihiko.shirai.as/projects/WiiRemote/ )

#include "../wiimote.h"
int _tmain(int argc, _TCHAR* argv[])
{
wiimote cWiiRemote;
_tprintf(_T("Hello, WiiRemote! by Akihiko SHIRAI\n"));
_tprintf(_T(" contains WiiYourself! wiimote code by gl.tter\nhttp://gl.tter.org\n"));
//Connecting to WiiRemote (WiiRemoteと接続)
while(!cWiiRemote.Connect(wiimote::FIRST_AVAILABLE)) {
_tprintf(_T("Connecting to a WiiRemote.\n"));
Sleep(1000);
}
_tprintf(_T("connected.\n Press [B] to Rumble...\n"));
cWiiRemote.SetLEDs(0x0f); //Turn on all LEDs (LEDを全点灯)
Sleep(1000);
cWiiRemote.SetReportType(wiimote::IN_BUTTONS);
//Home to Quit (Homeボタンで終了)
while(!cWiiRemote.Button.Home()) {
while(cWiiRemote.RefreshState() == NO_CHANGE) {
Sleep(1);
}
//Rumle when [B] is pressed (Bボタンでバイブレーターが振動)
cWiiRemote.SetRumble(cWiiRemote.Button.B());
}
//Disconnect and Exit (切断・終了)
cWiiRemote.Disconnect();
_tprintf(_T("Disconnected.\n"));
return 0;
}

あ、コメント抜いたら30行切るね…。