2007-06 << 2007-07 >> 2007-08

2007-07-15 (日)

今日は駅前まで.

*NDS::サウンド

サウンドを鳴らしてみる.playSound()を使えば一発.実際にサウンドを鳴らすのはARM7のCPUなので,メモリアクセスとか気にしないといけないはずですが,何もしなくてもやってくれるようです.あと,これまた何もしなくても,多チャンネルで再生できます.

再生を中断したいときとかはどうすればいいんだろう?それらしい関数が見当たらない.

    TransferSoundData snd;
    snd.data=snd1_bin;
    snd.len=snd1_bin_size;
    snd.rate=11025;
    snd.vol=127;
    snd.pan=64;
    snd.format=1;
    playSound(&snd);

    // または
    //setGenericSound(11025,127,64,1);
    //playGenericSound(snd1_bin, snd1_bin_size);

フォーマットは,波形データが入った単なるsigned charの配列です.Windowsのwavファイルは,0x80が振幅の中心なので注意.

*NDS::devkitProのMakefile

DSの開発環境にdevkitProを使っていますが,付属のサンプルをmakeするためのMakefileが便利です.

sourceディレクトリにソースを置いておくだけで良いですし,.ndsファイルの名前もMakefileがあるディレクトリの名前になります.dataディレクトリに,.binファイルを入れておけば,勝手にヘッダファイルを作って,ファイルをオブジェクトに埋め込んでくれます.

書き換えるのは,リンクするライブラリを変えるときくらいですね.