
TWL では、NitroSDK の SND ライブラリの機能に加え、いくつかの拡張機能を備えた SNDEX ライブラリを使うことができます。
TWL には、マイク入力やスピーカー出力、タッチスクリーンへの入力などを制御する CODEC というハードウェアが搭載されています。
この CODEC を扱う上で、TWL では NITRO との互換性のために以下の2つのモードを用意しています。
CODEC の詳細についてはプログラミングマニュアルを参照して下さい。
| CODEC-DS | NITRO 本体のサウンド回路の環境と同等の環境です。 NTR ROM が TWL上で動作する場合はこのモードで起動します。 |
| CODEC-TWL | TWL 本体固有のサウンド回路を使用する環境です。TWL ROM は基本的にこのモードで起動します。 ROM スペックファイルでどちらの CODEC モードを使うか指定することができます。 |
CODEC モードをランタイムに切り替えることはできません。
TWL 本体のカメラ機能を使う場合、静止画撮影時や動画撮影開始・停止時に強制的に特定の音声を鳴らす必要があります。 音声強制出力機能は CODEC が CODEC-TWL モードで動作する場合にのみ使用できますので、 カメラ操作用ライブラリは CODEC が CODEC-TWL モードの場合にのみ使用可能である点に注意して下さい。
TWL では、以下のようなサウンド関連機能が追加されました。それぞれの詳細は、各関数の説明をご覧下さい。
サウンド拡張機能に関する各処理は排他制御により同時には行えません。
既に別の SNDEX 関数が処理を行っていたときには、SNDEX_RESULT_EXCLUSIVE を返して終了します。
シャッター音を再生する DSP_PlayShutterSound() を実行すると、内部で自動的にサウンド拡張機能を用いた処理が行われます。
そのため、シャッター音再生が終了するまでの間、SNDEX 関数は SNDEX_RESULT_EXCLUSIVE を返して何も行わずに終了します。
ただし、SNDEX_SetVolumeSwitchCallback() は関数設定のみ行うために成功します。
シャッター音再生処理の終了は、DSP_IsShutterSoundPlaying() により判定可能です。
処理の完了はPXI受信割込みにより検知しますので、PXI受信割込みを禁止していると SNDEX 関数内部でブロックし続けることに注意して下さい(非同期版の場合は、コールバックが返らなくなります)。
2009/01/22 開発には関係しない「音声強制出力設定の変更」に関する記述の削除
2008/11/07 「注意」にシャッター音再生処理時の排他制御について追記
2008/10/27 「音声強制出力設定の変更」機能の制限について追記
2008/09/30 CODEC モードに伴うカメラの使用制限について追記
2008/09/12 初版