TWL-System NITRO-Composer 更新履歴

■ インデックス

■ 2.2.0 PR

追加・変更された機能

不具合修正

■ 2.1.0

追加・変更された機能

不具合修正

■ 2.0.0 RC

不具合修正

■ 2008年4月8日版

追加・変更された機能

■ 2007年11月26日版

追加・変更された機能

不具合修正

■ 2007年3月14日版

追加・変更された機能

不具合修正

■ 2006年5月29日版

追加・変更された機能

不具合修正

■ 2005年9月1日版

追加・変更された機能

不具合修正

■ 2005年6月6日版

追加・変更された機能

不具合修正

■ 2005年3月28日版

追加・変更された機能

不具合修正

■ 2005年1月31日版

追加・変更された機能

不具合修正

■ 2004年12月6日版

追加・変更された機能

不具合修正

■ 2004年11月10日版

追加・変更された機能

不具合修正

■ 2004年10月12日版

追加・変更された機能

不具合修正

■ 2004年9月16日版

追加・変更された機能

不具合修正

■ 2004年9月2日版

追加・変更された機能

不具合修正

■ 2004年8月10日版

追加・変更された機能

不具合修正

■ 2004年7月20日版

追加・変更された機能

不具合修正

■ 2004年6月10日版

追加・変更された機能

不具合修正

■ 2.2.0 PRでの変更点

ノート 83-S01: (コンバータ) SMFファイルのテキストイベントに関する不具合修正

SMF ファイルをコンバートする際、 マーカーなどのテキストイベントのテキスト長がゼロの場合、 アプリケーションエラーが発生する問題がありましたが、 これを修正しました。

ノート 83-S02: (ドキュメント) 波形個別ロードの際の管理領域サイズを明記

「バンクデータマニュアル」と「サウンドアーカイブマニュアル」に、 波形個別ロードの際、管理領域として 4 波形につき 32 バイト消費する旨 明記しました。

ノート 83-S03: (ドキュメント) NNS_SndArcLoadWaveArc の説明追加

波形アーカイブの個別ロードオプションが有効なときと、 無効なときの挙動の違いについて説明を追加しました。

ノート 83-S04: (SoundPlayer) NAND SoundPlayer の追加

SoundPlayer を TWL 開発用実機や IS-TWL-DEBUGGER の NAND にインポートできる NANDSoundPlayer.tad を追加しました。 インポートした NAND SoundPlayer を実行すると、 SD カードのルートフォルダにある sdat ファイルのうち、 一番最初に見つかったものを自動的にロードします。

詳しくは、「サウンドデザイナーガイド」に「9.10 NAND SoundPlayer」をご覧ください。

ノート 83-S05: (SoundPlayer) I2S 周波数の切替

TWL または IS-TWL-DEBUGGER で実行した場合、 I2S 周波数を切り替えられるようになりました。

詳しくは、「サウンドデザイナーガイド」の「9.4.5 I2S 周波数」をご覧ください。

ノート 83-S06: (SoundPlayer) ストリーム再生不具合修正

SoundPlayer.srl を IS-TWL-DEBUGGER および TWL 開発用実機で起動し、 ストリームサウンドを再生すると暴走してしまうことがありましたが、 これを修正しました。

■ 2.1.0での変更点

ノート 81-S01: (コンバータ) 日本語フォルダに格納されたデータのコンバート対応

日本語名フォルダに格納されたサウンドデータを SoundMaker などでコンバートするとエラーになりましたが、これを修正しました。

ノート 81-S02: (ドキュメント) NNS_SndArcInitOnMemory の説明追加

サウンドアーカイブを破棄し、異なるサウンドアーカイブを 同じアドレスにロードして使用する場合の注意書きを追加しました。

ノート 81-S03: (ライブラリ) NNS_SndWaveOutStart 関数の IMA-ADPCM 対応

NNS_SndWaveOutStart 関数で扱える波形データフォーマットとして IMA-ADPCM が追加されました。

ノート 81-S04: (コンバータ) データサイズのアライメント不具合修正

sndarc.exe の --align オプションで指定したアライメントサイズが 反映されなくなっていましたが、これを修正しました。 あわせて、サウンドマップファイルに出力されるサイズ値も 正しくありませんでしたので、修正しました。

ノート 81-S05: (ドキュメント) NNS_SndArcInit* の説明追加

NNS_SndArcInit* 関数のリファレンスに、 NAND アーカイブおよび、SD カードアーカイブ上のサウンドアーカイブデータを 使用できない旨を追記しました。

ノート 81-S06: (コンバータ) 不正なループ情報を波形コンバート時の対応

waveconv.exe で不正なループ情報を持つ波形ファイルを コンバートしたときに、エラーを出力するようにしました。

ノート 81-S07: (ドキュメント) SoundPlayer の TWL 対応についての説明追加

「サウンドデザイナーガイド」に SoundPlayer を TWL または IS-TWL-DEUBBGER で利用した場合に、 ハードウェアボリュームが表示される旨、説明を追加しました。 また、IS-TWL-MIDI 対応についても説明を追加しました。

ノート 81-S08: (ドキュメント) サンプルデータディレクトリのパス間違いを修正

「クイックスタートガイド」「サウンドデザイナーガイド」で サンプルデータが含まれるディレクトリのパスが間違って書かれていました。 これを修正しました。

ノート 81-S09: (ドキュメント) TWL-SDKのSND/SNDEX/DSP関数使用時の注意書き追加

「サウンドプログラマガイド」に TWL-SDKのSND/SNDEX/DSP関数使用時の注意書きを追加しました。

■ 2.0.0 RCでの変更点

ノート 78-S01: (ライブラリ) ストリームスレッドのスタックサイズに関する不具合修正

ストリームスレッドのスタックサイズが小さすぎたため、 ストリームコールバックなどでスタックを消費すると、 簡単にメモリ破壊が起こることがある問題がありましたが、 これを修正しました。

■ 2008年4月8日版での変更点

ノート 76-S01: (マニュアル) 改訂履歴の書式変更とページヘッダの修正

下記のpdfマニュアルにおいて、改訂履歴の書式変更とページヘッダの修正を行いました。

■ 2007年11月26日版での変更点

ノート 71-S01: (ライブラリ) サウンドアーカイブのロードブロックサイズ設定追加

サウンドアーカイブからのデータロード時のロードブロックサイズを設定/取得できる以下の関数を追加しました。

設定したロードブロックサイズより大きなデータをロードするときは、 ロードブロックサイズ単位で分割し、 複数回に分けてロードが行われるようになります。

ノート 71-S02: (ライブラリ) 関数引数のconst化

以下の関数の引数に、constをつけるようにしました。

ノート 71-S03: (コンバータ/SoundPlayer) MIDI RPN対応

MIDIのRPNに対応しました。RPN LSB=0 MSB=0で、ピッチベンドセンシティビティ(bendrange)を設定することができます。

ノート 71-S04: (コンバータ/ライブラリ) エンベロープに関するシーケンスコマンド無効化

attck, decay, sustain, release, envelopeの各シーケンスコマンドについて、 これまでは一度シーケンス側でエンベロープの設定を行うと、バンク側の設定に戻すことができませんでしたが、 それぞれ引数に-1を指定することで、シーケンス側の設定を無効にし、バンク側の設定が有効になるようにしました。

ノート 71-S05: (コンバータ) ADPCMエンコード処理改良

waveconvおよびstrmconvにおいて、ADPCMエンコードによるノイズ発生を軽減させるような改良を行いました。

ノート 71-S06: (ライブラリ) ストリームの再生開始オフセットに関する不具合修正

NNS_SndArcStrmStart関数などで指定できる再生開始オフセットについて、 ライブラリ内の計算でオーバーフローを起こし、 指定されたオフセット位置から再生されないことがある不具合がありましたが、修正されました。

ノート 71-S07: (コンバータ) サウンドアーカイブ内データのアライメントに関する不具合修正

2007/03/14版の変更に伴い、サウンドアーカイブ内のデータのアライメントがずれてしまい、実行時にアサートにひっかかるなどする問題がありましたが、修正されました。

ただし、サウンドデータの再コンバートが必要です。

ノート 71-S08: (コンバータ) サウンドマップファイルのデータサイズに関する不具合修正

サウンドアーカイブのコンバート時に生成されるサウンドマップファイル(*.smap)に記述されるデータサイズについて、不正確な値が出力されることがある問題がありましたが、修正されました。

ノート 71-S09: (コンバータ) AIFFの読み取り処理に関する不具合修正

waveconv,およびstrmconvにおいて、 正しいAIFFファイルであるにも関わらずコンバートエラーになることがある問題がありましたが、 修正されました。

■ 2007年3月14日版での変更点

ノート 64-S01: (SoundPlayer) SoundPlayerに出力エフェクト変更機能追加

SoundPlayerに、出力エフェクトを変更することができる機能を追加しました。

ノート 64-S02: (SoundPlayer) SoundPlayerにストリームの処理負荷表示追加

SoundPlayerの画面上に、ストリーム再生中のストリームスレッドの処理負荷を表示するようにしました。

ノート 64-S03: (SoundPlayer) SoundPlayerの複数サウンド同時再生機能追加

SoundPlayerで、複数のサウンドを同じタイミングで再生する機能を追加しました。詳しくは、「サウンドデザイナーガイド」をご覧下さい。

ノート 64-S04: (コンバータ)サウンドアーカイブのアライメント指定機能追加

サウンドアーカイバsndarcに、アーカイブ内のサウンドデータのアライメントを指定できる.alignオプションを追加しました。詳しくは、「サウンドツールマニュアル」をご覧下さい。

ノート 64-S05: (コンバータ) サウンドアーカイブのコンバートファイルタイプ指定機能追加

サウンドアーカイバsndarcに、コンバートするファイルをファイルタイプで指定する.convertオプションを追加しました。詳しくは、「サウンドツールマニュアル」をご覧下さい。

ノート 64-S06: (ライブラリ) サウンドアーカイブストリーム関連の関数追加

再生中のストリームデータのチャンネル数を取得する関数NNS_SndArcStrmGetChannelCount及び、ストリームの音量を変更する関数NNS_SndArcStrmSetVolumeを追加しました。

ノート 64-S07: (コンバータ) コマンドライン引数オーバーによるコンバートエラーが発生するバグ修正

バンクファイルなどのファイル数が増えたとき、コマンドライン引数オーバーによるコンバートエラーが発生することがある問題がありましたが、修正されました。

■ 2006年5月29日版での変更点

ノート 59-S01: (コンバータ/ライブラリ) シーケンスコマンドmuteの追加

シーケンスデータからミュートの設定を行うコマンドmuteを追加しました。 このコマンドは、SDKバージョン3.1以降でのみ動作します。詳しくは、「シーケンスデータマニュアル」をご覧下さい。

ノート 59-S02: (コンバータ) サウンドアーカイブ定義ファイルで、ラベルの後方参照機能

サウンドアーカイブ定義ファイルにおいて、これまでは、使用するラベルはあらかじめ定義しておく必要がありましたが、後で定義するラベルも使用可能になりました。

ノート 59-S03: (コンバータ) SMFテキストコマンド埋め込みのラベル名展開機能拡張

SMFテキストコマンド埋め込みのラベル名展開機能で、'$'の代わりに、'$$'を使うことで、トラック番号のみ展開して、ファイル名を展開しないようにすることができるようになりました。 詳しくは、「シーケンスデータマニュアル」をご覧下さい。

ノート 59-S04: (ライブラリ) NNS_SndPlayerSetTrackMuteEx関数の追加

発音中の音を止めずにミュートを行うことができるNNS_SndPlayerSetTrackMuteEx関数を追加しました。 この関数は、SDKバージョン3.1以降でのみ動作します。

ノート 59-S05: (ライブラリ) NNS_SndCaptureDestroyThread関数の追加

キャプチャスレッドを終了させるNNS_SndCaptureDestroyThread関数を追加しました。

ノート 59-S06: (コンバータ) SMFフォーマット1のコンバート時に最後のwaitコマンドが欠けるバグ修正

SMFフォーマット1をコンバートしたとき、トラック最後の部分に挿入されるべきwaitコマンドが欠けることがある問題がありましたが、修正されました。

ノート 59-S07: (コンバータ) 空白文字を含んだパスで、コンバートが正しく処理されないバグ修正

空白文字を含んだパスでコンバートを実行すると、コンバートが正しく処理されない不具合がありましたが、修正されました。

ノート 59-S08: (コンバータ) グループ番号の欠番を作ると、サウンドマップファイルのレイアウトが崩れるバグ修正

サウンドアーカイブ定義ファイル(*.sarc)のグループ定義で、グループ番号を直接指定して、グループ番号の欠番を作ると、コンバート時に出力されるサウンドマップファイル(*.smap)のレイアウトが崩れてしまう問題がありましたが、修正されました。

■ 2005年9月1日版での変更点

ノート 50-S01: (ライブラリ) メモリ上のストリームデータ再生

従来は、NNS_SndArcInitOnMemory関数で初期化されたサウンドアーカイブに含まれるストリームデータを再生することはできませんでしたが、NNS_SndArcInit関数で初期化した時と同じ方法で、再生することができるようになりました。

ノート 50-S02: (コンバータ) サウンドアーカイバsndarcの出力ファイル名指定オプション追加

サウンドアーカイバsndarcが出力する *.sdat, *.sadl, *.sbdlのファイル名を指定できるオプションを追加しました。 詳しくは、「サウンドツールマニュアル」をご覧下さい。

ノート 50-S03: (コンバータ) サウンドアーカイバsndarcの前処理ファイル指定オプション追加

サウンドアーカイバsndarcで、引数に指定したサウンドアーカイブ定義ファイル(*.sarc)の前に処理を行う、前処理ファイルを指定できるオプションを追加しました。 詳しくは、「サウンドツールマニュアル」をご覧下さい。

ノート 50-S04: (ライブラリ) NNS_SndArcInitWithResult関数の追加

ファイル読み込みが失敗する可能性がある状況で、サウンドアーカイブの初期化に成功したかどうかを判断できるように、NNS_SndArcInitWithResult関数を追加しました。この関数をNNS_SndArcInit関数の代わりに呼びだすことで、サウンドアーカイブの初期化に成功したかどうかを知ることができます。 詳しくは、関数リファレンスをご覧下さい。

ノート 50-S05: (ライブラリ) キャプチャーの状態取得関数の追加

キャプチャーが実行中かどうかを取得する関数NNS_SndCaptureIsActive及び、実行中のキャプチャーの種類を取得する関数NNS_SndCaptureGetCaptureTypeを追加しました。 詳しくは、関数リファレンスをご覧下さい。

ノート 50-S06: (ライブラリ) NNS_SndUpdateDriverInfo関数が頻繁に失敗するバグ修正

NNS_SndUpdateDriverInfoを1フレームに1回の間隔で呼びだしていても、2回に1回失敗する問題がありましたが、修正されました。

ノート 50-S07: (コンバータ) sndarc及びbankconvが、ファイルパスを誤認識するバグ修正

サウンドアーカイバsndarc及び、バンクコンバータbankconvにおいて、@PATHを使わずに指定したファイルパスを、間違ったディレクトリからの相対パスとして解釈することがあり、不適切なコンバートエラーが発生するなどの症状を引き起こしていましたが、修正されました。

■ 2005年6月6日版での変更点

ノート 45-S01: (コンバータ/ライブラリ) ノートオフを無視するインスト設定の追加

バンク定義ファイルで、ノートオフを無視して波形データ終端まで再生するインストを定義できるようになりました。 エンベロープのリリース設定箇所に、リリース値の代わりに、"DISABLE"と書くと、リリースが無効化され、ノートオフが行われた後もそのままの音量で、波形データ終端まで発音されます。 詳しくは、「バンクデータマニュアル」をご覧下さい。

ノート 45-S02: (コンバータ) バンク定義ファイルのオリジナルキーの数値指定

バンク定義ファイルで、オリジナルキーをキー表記ではなく、数値でも指定できるようにしました。 詳しくは、「バンクデータマニュアル」をご覧下さい。

ノート 45-S03: (ドキュメント) サウンドドライバ(SND)の関数リファレンス削除

サウンドドライバ(SND)のソースコード及び関数リファレンスが、NITRO-SDKに収録されたことに伴い、NITRO-Systemのパッケージから、サウンドドライバ(SND)の関数リファレンスを削除しました。

ノート 45-S04: (ライブラリ) ストリームプリペア用のスレッド作成関数追加

ストリームプリペア処理を行うスレッドを起動する関数NNS_SndArcStrmCreatePrepareThreadを追加しました。 詳しくはリファレンスマニュアルをご覧下さい。

ノート 45-S05: (ライブラリ) プチノイズが発生することがある問題対処

シーケンススタート直後にボリュームを変更していたり、立て続けにシーケンスを再生している場合に、プチノイズが発生することがある問題がありましたが、修正されました。 この問題は、一連のサウンド関数呼び出しが、別のサウンドフレームにまたがって処理される場合があり、中途半端な状態のサウンドが一瞬だけ再生されるために発生したものでした。このため、シーケンススタート時には、一連のサウンド関数呼び出しが完了するまで、実際のシーケンススタート処理を待たせるようにしました。

ノート 45-S06: (SoundPlayer) SoundPlayerリアルタイムMIDIポルタメント発音バグ修正

SoundPlayerを使ったリアルタイムMIDI再生において、ポルタメントを使って発音した場合、音程変化の開始位置が正しくなかった問題がありましたが、修正されました。

ノート 45-S07: (コンバータ) bankconvドライブレターの大文字、小文字の判別ミス修正

バンクコンバータbankconvにおいて、ドライブレターの大文字、小文字が違うだけの場合に、誤って別ファイルと認識していた問題がありましたが、修正されました。

■ 2005年3月28日版での変更点

ノート 43-S01: (ライブラリ) プレイヤーヒープへの波形データ個別ロード機能追加

波形データの個別ロード機能が、プレイヤーヒープへのロード時にも働くように修正されました。

ノート 43-S02: (ライブラリ) シーケンスアーカイブ再生時のプレイヤーヒープ利用機能追加

シーケンスアーカイブの再生時に、バンクデータ及び波形データをプレイヤーヒープへロードできるように修正されました。 ただし、シーケンスアーカイブ自身は、プレイヤーヒープへロードすることはできません。あらかじめ、サウンドヒープへロードしておく必要があることに注意してください。

ノート 43-S03: (コンバータ) サウンドマップファイル(*.smap)フォーマット変更

サウンドマップファイル(*.smap)ファイルのフォーマットを一部変更し、実際にデータをロードしたときに消費されるヒープサイズなども出力するようになりました。 詳しくは、「サウンドアーカイブマニュアル」をご覧下さい。

ノート 43-S04: (コンバータ) テキストファイルの数値表記拡張

サウンドアーカイブ定義ファイル、バンク定義ファイル及びテキストシーケンスファイルにおいて、パラメータの数値表記に、2進数表記とビット表記を使えるように拡張しました。

2進数表記では、0b001001のように先頭に"0b"を付けます。

ビット表記は、ビットフラグのように、あるビットが0か1かが意味を持つ数値を記述するのに有効で、{ 1,3,6-8 }のように記述します。これで、下位1,3ビットおよび6から8ビットが1である数値、すなわち0b111001010を表します。最下位ビットが、0ビットとなることに注意してください。

詳しくは、「サウンドアーカイブマニュアル」「バンクデータマニュアル」「シーケンスデータマニュアル」をご覧下さい。(それぞれの内容は同一です。)

ノート 43-S05: (コンバータ) NULLタイプインスト追加

バンク定義ファイルで、NULLタイプのインストが定義できるようになりました。 NULLタイプのインストは、発音しないタイプのインストです。例えば、キースプリットと組み合わせて、あるスプリットのみ発音しないようなインストを作成することができます。 詳しくは、「バンクデータマニュアル」をご覧下さい。

ノート 43-S06: (ライブラリ) プレイヤー毎のボリューム設定関数追加

プレイヤー毎にボリューム値を設定できる関数NNS_SndPlayerSetPlayerVolumeを追加しました。 詳しくは、リファレンスマニュアルをご覧下さい。

ノート 43-S07: (ライブラリ) トラックパンレンジ設定関数追加

トラックパンレンジを設定する関数NNS_SndPlayerSetTrackPanRangeを追加しました。 トラックパンレンジとは、シーケンスデータ中で設定されたトラックパンの変化幅を指定するパラメータです。トラックパンレンジを変更することで、シーケンスデータ中で設定されたトラックパンの変化幅を小さくすることができます。

ノート 43-S08: (ライブラリ) ストリームデータの時間長取得関数追加

ストリームデータ全体の時間長を取得できる関数NNS_SndArcStrmGetTimeLengthを追加しました。 詳しくは、リファレンスマニュアルをご覧下さい。

ノート 43-S09: (ライブラリ) サウンドドライバ情報取得関数追加

サウンドドライバの情報を取得するための関数を追加しました。追加した関数は以下の通りです、

また、これらの関数を使って、サウンドドライバの情報を画面上に表示するdriverInfoデモを追加しました。

ノート 43-S10: (ライブラリ) SND_FlushCommand関数のフラグSND_COMMAND_IMMEDIATE追加

SND_FlushCommand関数の引数フラグに、SND_COMMAND_IMMEDIATEを追加で指定することができるようになりました。SND_COMMAND_IMMEDIATEを指定すると、発行したコマンドが、次のサウンドフレームを待たずに処理されるようになります。

ノート 43-S11: (ライブラリ) SNDInstTypeにSND_INST_NULL追加

SND_ReadInstData関数などで使用するSNDInstData構造体のtypeメンバが取りうる値に、SND_INST_NULLが追加されました。なお、SND_INST_NULLが設定されているインストデータは、発音されません。

ノート 43-S12: (ライブラリ) ポルタメントコマンドで発音中のチャンネルがリリースされてしまうバグ修正

シーケンスデータ中で、ポルタメントコマンドporta、porta_on、porta_offを実行すると、該当トラックで発音中のチャンネルが全てリリースされてしまうバグがありましたが、修正されました。 このバグに伴って、タイモード中にポルタメントコマンドを実行すると、正常に発音されない症状なども発生していましたが、これも修正されました。

ノート 43-S13: (SoundPlayer) SoundPlayerで手動ロードモード時、データロードが選択できないバグ修正

SoundPlayerの手動ロードモードにおいて、データロードのメニュー項目へカーソルを移動できないために、データのロードが行えないバグがありましたが、修正されました。

ノート 43-S14: (コンバータ) smfconvでトラックの最後に不要なwaitが入るバグ修正

SMFファイルをコンバートしてできる*.smftファイルで、各トラックの最後に不要なwaitコマンドが入ることがあるバグがありましたが、修正されました。

ノート 43-S15: (コンバータ) smfconvで不正なwait時間を出力するバグ修正

SMFファイル中に、同じタイミングで拍子イベントが複数存在する場合、不正なwait時間が出力されることがあるバグがありましたが、修正されました。

ノート 43-S16: (コンバータ) bankconvで間違ってエラーが発生するバグ修正

バンク定義ファイル中で、インストラベルとインデックス番号を両方指定していると、間違ってエラーが発生してしまうバグがありましたが、エラーとならないように修正されました。

■ 2005年1月31日版での変更点

ノート 39-S01: (コンバータ/ライブラリ) 波形データの個別ロード機能追加

波形アーカイブ中の波形データを個別にロードできる機能を追加しました。 複数のバンクで共通の波形データを使っている場合に、波形データのグループ管理の機能を使わなくても、簡単に消費メモリを効率化できます。 詳しくは、「サウンドアーカイブマニュアル」をご覧下さい。

ノート 39-S02: (コンバータ/ライブラリ) シーケンスの使用チャンネル制限機能追加

シーケンスが使用できるチャンネルを、プレイヤー毎に制限できる機能を追加しました。 サウンドアーカイブ定義ファイル中の@PLAYERセクションにて、確保できるチャンネルのビットフラグを指定できるようになりました。(省略可能) 詳しくは、「サウンドアーカイブマニュアル」をご覧下さい。

ノート 39-S03: (コンバータ) UNC形式のパス表記対応

@PATHおよび#includeにおいて、"//server-1/path/dir"のようなUNC形式のパス表記を使えるように修正しました。

ノート 39-S04: (コンバータ) #include<ファイル名>形式の構文追加

テキストデータファイルにおいて、#include"ファイル名"と同様の機能をもった#include<ファイル名>形式の構文を追加しました。#include<ファイル名>形式の構文を使うと、現在のファイルからの相対パスではなく、サウンドアーカイブ定義ファイル(*.sarc)からの相対パスとなります。 詳しくは、「サウンドツールマニュアル」をご覧下さい。

ノート 39-S05: (コンバータ/ライブラリ) シーケンスコマンドprintvarの追加

シーケンス変数の値をデバッグ出力するためのシーケンスコマンドprintvarを追加しました。 NITRO-Playerもしくは、SoundPlayerでシーケンスを再生したとき、シーケンス変数の値をMCSサーバもしくは、IS-NITRO-DEBUGGERの出力ウィンドウに表示することができます。 詳しくは、「シーケンスデータマニュアル」をご覧下さい。

ノート 39-S06: (コンバータ) キー表記における大文字小文字の区別の廃止

cn4形式のキー表記において、大文字小文字関係なく記述できるように変更しました。例えば、"Cn4"や"CN4"の様な記述ができるようになっています。

ノート 39-S07: (SoundPlayer) チャンネルメーター改良

SoundPlayerで上画面に表示していたチャンネルメーターを下画面に表示するように変更し、より詳しい情報を表示するようにしました。

ノート 39-S08: (ライブラリ) NNS_SndCaptureSetPostOutputEffectCallback関数追加

出力エフェクトの後処理として呼びだされるコールバック関数を登録するNNS_SndCaptureSetPostOutputEffectCallbackを追加しました。

ノート 39-S09: (ライブラリ) シーケンスの使用チャンネル制限機能追加

シーケンスが使用できるチャンネルを制限できる機能を追加しました。 プレイヤー毎に設定する場合は、NNS_SndPlayerSetAllocatableChannel関数を使います。 シーケンス再生毎に設定する場合は、NNS_SndPlayerSetTrackAllocatableChannel関数を使います。この関数では、トラック単位の指定もできます。 詳しくは、「サウンドシステムマニュアル」及び「関数リファレンス」をご覧下さい。

ノート 39-S10: (ライブラリ) micThroughデモ追加

低レベルストリームライブラリNNS_SndStrmを使って、マイク入力をリアルタイムに再生するmicThroughデモを追加しました。

ノート 39-S11: (コンバータ) SMFコンバータバグ修正

1小節に大量のMIDIイベントが存在した場合、異常なwaitコマンドが出力されることがある問題がありましたが、修正しました。

ノート 39-S12: (ライブラリ) NNS_SndArcStrmStopAllで確保済みチャンネルを解放してしまう問題

NNS_SndArcStrmAllocChannel関数でチャンネルを確保後、NNS_SndArcStrmStopAll関数または、NNS_SndStopSoundAll関数を呼びだすと、確保済みチャンネルが解放されてしまう問題がありましたが、修正されました。

■ 2004年12月6日版での変更点

ノート 34-S01: (コンバータ/ライブラリ) モノラルストリームの2チャンネル再生

モノラルストリームデータをステレオプレイヤーで再生したとき、2チャンネル使って、より大きな音量で再生できるようにするオプション機能を追加しました。 サウンドアーカイブ定義ファイルのストリームデータ登録時に、オプションを指定すると、上記の機能が使えます。詳しくは、「サウンドアーカイブマニュアル」をご覧下さい。

ノート 34-S02: (ライブラリ) NNS_SndArcStrmStartEx2関数の追加

NNS_SndArcStrmStartEx2関数及び、NNS_SndArcStrmPrepareEx2を追加しました。これらの関数では、従来のストリーム再生関数の機能に加えて、2つのコールバック関数を登録できるようになっています。 登録できるコールバック関数のうちの1つでは、複数のストリームデータをリアルタイムにつなげて再生することができます。このデモが、$NitroSystem/build/demos/snd/stream-2にあります。 もう一つのコールバック関数では、特定のストリーム再生に対して、エフェクトをかけたりすることができます。このデモが、$NitroSystem/build/demos/snd/stream-3にあります。 詳しくは、関数リファレンスをご覧下さい。

ノート 34-S03: (ライブラリ) サウンドドライバのスレッドセーフ化

サウンドドライバ(SND)関数を全て、スレッドセーフにしました。

ノート 34-S04: (ライブラリ) 再生中のストリームプレイヤーに対するNNS_SndArcStrmAllocChannel呼び出し

再生中のストリームプレイヤーに対して、NNS_SndArcStrmAllocChannel関数を呼びだすと、関数が失敗するように変更しました。

ノート 34-S05: (ドキュメント) 出力エフェクトに関する注意書き追加

「サウンドシステムマニュアル」に出力エフェクトに関する注意書きを追加しました。

ノート 34-S06: (ライブラリ) タイオン後のノートが発音されないバグ

シーケンスデータで、ノートコマンド、tieon、ノートコマンドの順でコマンドが記述されていると、2つ目のノートが発音されないバグがありました。このバグは修正されました。

■ 2004年11月10日版での変更点

ノート 31-S01: (ライブラリ) リソース管理関数追加

サウンドドライバ(SND)の関数を直接使う場合、NITRO-Systemライブラリと衝突しないように、リソースを管理する関数を追加しました。追加した関数は、以下の通りです。

関数について詳しくは、リファレンスマニュアルをご覧ください。

ノート 31-S02: (ライブラリ) ループ無しストリーム再生サンプル

ループ無しストリームデータを再生時、最後の数百サンプルが再生されずに停止していましたが、最後のサンプルまで再生されるように修正しました。

ノート 31-S03: (ライブラリ) ストリーム再生中、カレントサウンドアーカイブ切り替えバグ

ストリーム再生中に、NNS_SndArcSetCurrent関数でカレントサウンドアーカイブを切り替えると、ストリームが正しく再生されないバグがありましたが、修正しました。

ノート 31-S04: (ライブラリ) NNS_SndArcStrmSetChannelVolume関数バグ

NNS_SndArcStrmSetChannelVolume関数でのボリューム設定が正しく反映されないバグがありましたが、修正しました。

ノート 31-S05: (コンバータ) シーケンスコンバータseqconvコマンド解析バグ

シーケンスデータで、cn4_r_ifの様に、ノートコマンドに対して、ランダム及び条件指定をつけると、コンバート時にエラーとなってしまうバグがありましたが、修正しました。

■ 2004年10月12日版での変更点

ノート 26-S01: (SoundPlayer) IS-AGB-MIDI対応

IS-NITRO-UIC MIDIの代わりに、IS-AGB-MIDIを使って、リアルタイムMIDI再生ができるようになりました。 リアルタイムMIDI再生について詳しくは、「サウンドデザイナーガイド」をご覧ください。

ノート 26-S02: (ライブラリ) 出力エフェクト機能追加

NNS_SndCaptureStartOutputEffect関数で音声出力全体に対して、サラウンドモード処理、ヘッドフォンモード処理、モノラルモード処理をかけられるようになりました。 サラウンドモードは、DSスピーカーから出力させたときに、スピーカー位置より広がって音を感じられるようにするモードです。ヘッドフォンモードは、ヘッドフォン使用時の耳の負担を軽減するモードです。 $NitroSystem/build/demos/snd/outputEffectにサンプルデモを追加しています。 関数について詳しくは、リファレンスマニュアルをご覧ください。

ノート 26-S03: (ライブラリ) スリープ処理の自動化

スリープの前後で呼びだす必要があった関数NNS_SndBeginSleep,NNS_SndEndSleep及びNNS_SndStrmBeginSleep,NNS_SndStrmEndSleepを呼びだす必要が無くなりました。これらの処理は、ライブラリ内で自動的に行われます。

ノート 26-S04: (ライブラリ) ストリームプレイヤー指定関数追加

ストリームプレイヤー番号をプログラムから指定できる関数NNS_SndArcStrmStartEx及び、NNS_SndArcStrmPrepareExを追加しました。

ノート 26-S05: (ライブラリ) モノラルフラグ設定関数追加

チャンネル毎のパン設定を無視して、全て中央の定位で発音するようにする関数NNS_SndSetMonoFlagを追加しました。また、この機能の実装のために、サウンドドライバに、SND_SetMasterPan関数及び、SND_ResetMasterPan関数を追加しました。

ノート 26-S06: (コンバータ) プレイヤーのラベル指定

サウンドアーカイブ定義ファイルにて、@PLAYERセクションを@SEQセクションの前で定義した場合に限り、@PLAYERセクションで定義したプレイヤーラベルを、@SEQセクションで指定するプレイヤー番号の代わりに使用できるようになりました。 また、@STRM_PLAYERセクションで定義したストリームプレイヤーのラベルも、同じように@STRMセクションで使用できます。 シーケンスアーカイブの@SEQ_TABLEセクションにて、プレイヤーラベルを使用したい場合は、バンクラベルを使用する方法と同じように、サウンドアーカイブラベルファイル(*.sbdl)を#includeで取り込むことで、使用できるようになります。 $NitroSystem/tools/nitro/SoundPlayer/dataサンプルのsound_data.sarc及びmus/se.musでも、これらの仕組みを使うように修正しましたので、参考にしてください。

ノート 26-S07: (ドキュメント) スリープモード移行時の注意書き追加

「サウンドプログラマーガイド」に、スリープモード移行時の注意書きを追加しました。

ノート 26-S08: (ドキュメント) ストリームを途切れさせないための説明追加

「サウンドプログラマーガイド」に、ストリーム再生を途切れさせないための説明を追加しました。

ノート 26-S09: (ドキュメント) 出力エフェクトの紹介追加

「オーバービュー」に出力エフェクトに関する紹介を追加しました。

ノート 26-S10: (ライブラリ) シーケンスフェードアウト時無限ループバグ

以下の関数を使ってシーケンスをフェードアウトさせた時に、無限ループに陥ってしまうことがあるバグがありましたが、修正しました。

ノート 26-S11: (コンバータ) @PATHコマンド解釈間違い

サウンドアーカイブ定義ファイル及び、バンク定義ファイル中の@PATHコマンドの解釈に間違いがありました。 #includeを使って別ディレクトリのファイルをインクルードしたとき、インクルード先のファイルで@PATHコマンドを使うと、元のディレクトリからの相対パスとして解釈されていました。これを、インクルード先のファイルのあるディレクトリからの相対パスとして解釈するように修正しました。 この修正により、以前コンバートに成功していたサウンドデータが、コンバート時にエラーとなる可能性があります。その場合は、@PATHの指定を、そのファイルがあるディレクトリからの相対パスとなるように修正してください。

ノート 26-S12: (ライブラリ) シーケンスフェードアウト時のリリースチャンネル処理

シーケンスフェードアウト時、リリース中のチャンネルの音量が減衰していなかったバグがありましたが、修正しました。

ノート 26-S13: (コンバータ) ファイル名の大文字小文字の区別

バンク定義ファイルなどでファイルを登録するとき、大文字小文字が違うだけのファイル名を複数指定すると、それぞれ別のデータとして登録されていましたが、1つのデータにまとめるように修正しました。

ノート 26-S14: (コンバータ) waveconvループスタート位置チェック

ループスタート位置が後ろすぎて、ハードウェア的にループ再生が不可能な状態の時、コンバート時にエラーを出力するように修正しました。 また、限界値に関する情報を、「サウンドツールマニュアル」に記載しました。

■ 2004年9月16日版での変更点

ノート 21-S01: (コンバータ/ライブラリ) シーケンスコマンドloop_startの拡張

シーケンスコマンドloop_startのループ回数に0を指定できるようにしました。0を指定すると、無限ループになります。

ノート 21-S02: (コンバータ/ライブラリ) SMFトラック単位のループ指定

MIDIコントロールチェンジ89と90を使って、トラック単位のループを組めるようになりました。 詳しくは、「シーケンスデータマニュアル」を参照してください。

ノート 21-S03: (コンバータ) SMFループ指定

SMFでの全トラックループ指定は、マーカー"["と"]"でしたが、この代わりに、マーカー"loop_start"と"loop_end"も使えるようにしました。(機能的には全く同じです。)

ノート 21-S04: (コンバータ) *.sbdlファイルの拡張と呼称変更

*.sbdlファイルにバンクラベルのみ定義されていましたが、その他のサウンドアーカイブ定義ファイル(*.sarc)で定義さているラベルも出力されるようにしました。 またそれに伴い、*.sbdlファイルの呼称を、「バンクリストファイル」から「サウンドアーカイブラベルファイル」に変更しました。

ノート 21-S05: (ドキュメント) *.sadlファイルの呼称統一

*.sadlファイルの呼称が、「サウンドラベルリスト」「サウンドラベルリストファイル」「サウンドラベルファイル」の3種類使われていましたが、「サウンドラベルファイル」に統一しました。

ノート 21-S06: (ライブラリ) NNS_SndCaptureCreateThread関数追加

キャプチャースレッドを起動する関数NNS_SndCaptureCreateThreadを追加しました。キャプチャースレッドを起動しておくと、エフェクトコールバック関数などがIRQハンドラではなく、キャプチャースレッドから呼びだされるようになります。

ノート 21-S07: (ライブラリ) NNS_SndCaptureStartSampling関数追加

音声出力をサンプリングできる関数NNS_SndCaptureStartSamplingを追加しました。サンプリングしたデータを、コールバック関数を通して取得できるようになります。

ノート 21-S08: (ライブラリ) NNS_SndArcGetSeqArcSeqCount関数追加

シーケンスアーカイブ中のシーケンスの個数を取得する関数NNS_SndArcGetSeqArcSeqCountを追加しました。

ノート 21-S09: (ライブラリ) NNS_SndPlayerMoveVolume関数

NNS_SndPlayerMoveVolume関数の変化フレーム数に0を入れると、ボリュームが0になったり、変化しなかったりするバグがありましたが、修正しました。

ノート 21-S10: (ライブラリ) 制御不能シーケンスバグ

極めて稀なタイミングで、再生したシーケンスが制御不能になってしまうバグがありましたが、修正しました。

ノート 21-S11: (SoundPlayer) SoundPlayerエラーメッセージ間違い

シーケンスが使用するバンクの指定で、無効なバンクを指定していた場合、再生しようとすると、"Too Large Data"というエラーメッセージが表示されていましたが、"Invalid Bank No"と表示されるように修正しました。

ノート 21-S12: (ライブラリ) ミュートオフ中のミュートオフ操作

ミュートしていない状態でミュート解除の操作を行うと、発音中の音が止められてしまう問題がありましたが、何も処理をしないように修正しました。

ノート 21-S13: (コンバータ) バンクリストファイルの更新

サウンドアーカイバsndarcが出力するバンクリストファイル(*.sbdl)が、サウンドデータを修正していないときでも更新されていましたが、必要が無いときは更新しないように修正しました。

ノート 21-S14: (コンバータ) シーケンスコンバータseqconvエラーチェック

変数コマンドで使う変数番号に32を指定してもエラーになっていなかったのを、エラーになるように修正しました。

■ 2004年9月2日版での変更点

ノート 20-S01: (SoundPlayer) リアルタイムMIDI再生

IS-NITRO-UIC MIDIを使って、リアルタイムMIDI再生ができるようになりました。MIDI信号を使ってリアルタイムに再生できるので、データをコンバートしなくても、シーケンスデータの確認が可能になります。 詳しくは、「サウンドデザイナーガイド」をご覧ください。

リアルタイムMIDI再生をするためには、「IS-NITRO-UIC MIDI」が必要です。

ノート 20-S02: (コンバータ) バンクリストファイル出力

サウンドアーカイバsndarc実行時に、バンクリストファイル(*.sbdl)を出力するようになりました。 これは、サウンドアーカイブ定義ファイル(*.sarc)中で定義したバンクラベルを#defineを使って出力したものです。シーケンスアーカイブのテキストファイルで#includeを使って、このファイルを取り込むことにより、@SEQ_TABLEにおけるバンク指定をラベルで行えるようになります。 $NitroSystem/tools/nitro/SoundPlayer/dataサンプルのmus/se.musでも、この仕組みを使うように修正しましたので、参考にしてください。

ノート 20-S03: (コンバータ) SMFテキストコマンド埋め込み

SMFにマーカーとして、テキストコマンドを埋め込むと、コンバート時に埋め込んだテキストコマンドが、*.smftファイルに出力されるようになりました。SMFを使いながら、部分的にテキストコマンドを使用できます。 詳しくは、「シーケンスデータマニュアル」をご覧ください。

ノート 20-S04: (コンバータ) シーケンスアーカイブ同一ラベル2重定義

異なるシーケンスアーカイブで、同じラベル名が定義されていても、インデックス番号が同じなら、エラーにならないようにしました。

ノート 20-S05: (ライブラリ) スリープ復帰機能

スリープモードに移行するPM_GoSleepMode関数の前後で、NNS_SndBeginSleep関数と、NNS_SndEndSleep関数を呼びだすことで、スリープモード復帰時に、前の状態に戻せるようになりました。

ノート 20-S06: (ライブラリ) サウンドヒープのクリア

サウンドアーカイブ管理領域やストリームバッファが含まれるサウンドヒープの領域を安全に解放できるようになりました。再度使用できるようにするためには、NNS_SndArcSetup関数やNNS_SndArcStrmSetupPlayer関数など、各種セットアップ関数を呼ぶ必要があります。

ノート 20-S07: (ライブラリ) NNS_SndArcSetup関数追加

一度サウンドアーカイブ管理領域を解放したサウンドアーカイブを再度使用できるようにする関数NNS_SndArcSetupを追加しました。

ノート 20-S08: (ライブラリ) NNS_SndArcStrmSetupPlayer関数追加

一度ストリームバッファを解放したストリームプレイヤーを再度使用できるようにする関数NNS_SndArcStrmSetupPlayerを追加しました。

ノート 20-S09: (ライブラリ) プレイヤーヒープ解放バグ

サウンドヒープ中で、プレイヤーヒープが確保されている領域を解放すると、問題が生じるバグがありましたが、修正しました。

ノート 20-S10: (コンバータ) SMFコンバータsmfconvトラック出力ミス

複数のトラックで、1つのMIDIチャンネルを使用しているとき、1つ目のトラックのデータしか出力されていなかったバグを修正しました。 また使用していないトラックのデータを出力してしまっていたバグも修正しました。

ノート 20-S11: (コンバータ) SMFコンバータsmfconvループ開始位置ずれ

始めのノートコマンドより前に、ループ開始位置があった場合、ループ開始位置がノートコマンドの位置までずれてしまっていたバグを修正しました。

ノート 20-S12: (コンバータ) バンクコンバータbankconvパス解釈ミス

サウンドアーカイブ定義ファイル*.sarc中で、@WAVEARCのパスを@PATH "."としていると、バンクコンバータでエラーとなってしまうバグを修正しました。

ノート 20-S13: (コンバータ) #define 2重定義エラー

サウンドアーカイブ定義ファイル、バンク定義ファイルなどのテキストデータファイル中で、#defineを使って同じシンボルを2回定義したとき、内容が全く同じであっても2重定義エラーになっていましたが、全く同じ場合は無視するように修正しました。

■ 2004年8月10日版での変更点

ノート 16-S01: (全般) ストリーム再生対応

ストリーム再生が可能となりました。機能的なことについては、「サウンドシステムマニュアル」をご覧ください。

ノート 16-S02: (コンバータ) サウンドアーカイブ定義ファイルの変更

ストリームデータを登録するストリームデータセクションと、ストリームプレイヤーを登録するストリームプレイヤー情報セクションが追加されました。 詳しくは、「サウンドデザイナーガイド」及び「サウンドアーカイブマニュアル」をご覧ください。

ノート 16-S03: (SoundPlayer) ストリーム再生対応

SoundPlayerでストリームデータを再生できます。 詳しくは、「サウンドデザイナーガイド」をご覧ください。

ノート 16-S04: (ライブラリ) サウンドアーカイブストリームライブラリ追加

ストリームデータを再生するためのサウンドアーカイブストリームライブラリが追加されました。NNS_SndArcStrmで始まる関数群です。 詳しくは、「サウンドプログラマーガイド」及び「リファレンスマニュアル」をご覧ください。

ノート 16-S05: (ライブラリ) ストリームライブラリ追加

サウンドアーカイブストリームライブラリより低レベルのストリームライブラリが追加されました。NNS_SndStrmで始まる関数群です。 詳しくは「リファレンスマニュアル」をご覧ください。

ノート 16-S06: (ライブラリ) NNS_SndStopSoundAll関数追加

全てのサウンドを停止する関数NNS_SndStopSoundAllを追加しました。スリープモードへの移行など、サウンド回路の電源を落とす前には、必ずこの関数で全てのサウンドを停止するようにしてください。

ノート 16-S07: (ライブラリ) NNS_SndHeapDestroy関数追加

サウンドヒープを破棄する関数NNS_SndHeapDestroyを追加しました。

ノート 16-S08: (コンバータ) SMFコンバータsmfconv出力ラベル名変更

smfconvが出力する*.smftファイル中で使用しているラベル名の始めに、SMFファイルのファイル名をつけるようにしました。 例えば、sample.midファイルをコンバートしてできるsample.smftファイル中で、Track_0というラベルが出力されていたものが、SMF_sample_Track_0というラベル名で出力されるようになります。

ノート 16-S09: (コンバータ) サウンドアーカイバsndarcの異常終了

サウンドアーカイブ定義ファイルで、シーケンスデータなどの登録番号を直接指定して、空き番号を作るように設定すると、サウンドアーカイバが、コンバート時に異常終了してしまうバグがありましたが、修正しました。

ノート 16-S10: (コンバータ) バンクコンバータ bankconvの異常エラー

バンクファイルと波形リストファイルのディレクトリ階層が、ある特定の状態の時、パスの解釈を間違って、バンクコンバート時にエラーになってしまうバグがありましたが、修正しました。

ノート 16-S11: (コンバータ) SMFコンバータsmfconvのメタイベントの順序不定

同一ティックで複数のメタイベントが存在した場合、出力順序が不定になる問題がありました。SMFに格納されている順序のまま出力するように修正しました。

■ 2004年7月20日版での変更点

ノート 13-S01: (コンバータ/ライブラリ) バイナリデータフォーマットの変更

サウンドデータのバイナリフォーマットが変更になりましたので、サウンドデータをReMakeSound.batで再コンバートする必要があります。 また、バンクデータのサイズが以前に比べて若干大きくなります。メモリに余裕が無い場合には、データのロードに失敗する可能性があります。

ノート 13-S02: (SoundPlayer) 実行ファイル名変更

実行ファイル名が、SoundPlayer..binからSoundPlayer.srlに変更になりました。

ノート 13-S03: (全般) デフォルトプラットフォームの変更

デフォルトでTEG用実行ファイルが作成されていたのを、TS用の実行ファイルが作成されるように変更されました。TEG用実行ファイルを作成するためには、環境変数NITRO_PLATFORMにTEGを設定する必要があります。

ノート 13-S04: (SoundPlayer) シーケンスタイプ選択機能

今までは、シーケンスが2個、シーケンスアーカイブが2個までしか同時に再生できませんでしたが、それぞれ、シーケンスを再生するか、シーケンスアーカイブを再生するかを選択できるようになりました。例えば、シーケンスを4個同時に再生できたりします。 シーケンスタイプの選択は、Lボタンを押しながら、十字キーの上下で行います。

ノート 13-S05: (ライブラリ) 波形再生ライブラリ追加

関数名NNS_SndWaveOutで始まる波形再生ライブラリを追加しました。マイクのサンプリングデータなど、メモリ上の波形データを直接再生するためのライブラリです。 $NitroSystem/build/demos/snd/waveoutにデモプログラムがあります。

ノート 13-S06: (ライブラリ) エフェクト機能追加

サウンドキャプチャを使ったエフェクト機能を追加しました。コールバック関数でエフェクト処理を行うことで、全ての音に対し、ローパスフィルタなどの効果をかけることができます。 $NitroSystem/build/demos/snd/effectにデモプログラムがあります。

ノート 13-S07: (ライブラリ) NNS_SndCaptureStartReverb引数変更

NNS_SndCaptureStartReverb関数の引数formatの型を、SNDCaptureFormatからNNSSndCaptureFormatに変更しました。 詳しくは、リファレンスマニュアルを参照してください。

ノート 13-S08: (ライブラリ) NNSSndArcBankInfo構造体変更

NNSSndArcBankInfo構造体のwaveArcNoメンバの型がu16からu16[4]に変更になりました。以前の値は、waveArcNo[0]に格納されています。

ノート 13-S09: (ライブラリ) 関数削除

削除予定だった以下の関数を完全に削除しました。

ノート 13-S10: (コンバータ/ライブラリ) 1バンク複数波形アーカイブ機能追加

1つのバンクデータに対し、複数(4個まで)の波形アーカイブを関連づけられるようになりました。詳しくは、「バンクデータマニュアル」または、「サウンドアーカイブマニュアル」をご覧ください。

ノート 13-S11: (コンバータ) サウンドアーカイブのシンボルデータ削除オプション

サウンドアーカイバsndarcでオプション-bを指定すると、出力されるサウンドアーカイブに、シンボルデータが含められなくなります。

ノート 13-S12: (コンバータ) シーケンス最大同時再生数の最大値ミス

サウンドアーカイブ定義ファイル中の、シーケンス最大同時再生数の値に16を指定するとエラーになっていた問題を修正しました。

■ 2004年6月10日版での変更点

ノート 09-S01: (全般) 以前の環境からの移行

$NitroSystem/tools/nitro/SoundPlayer/dataディレクトリ内にあるMakeSound.bat及びReMakeSound.batをsound_data.sarcファイルがあるディレクトリにコピーしてください。そして、ReMakeSound.batをダブルクリックして実行します。 sound_data.oが生成されますので、それを以前と同じように、プログラムにリンクします。後は、前と同じように使えます。 ただし、今回からファイルシステムに対応しています。ファイルシステムを使ったサウンドデータ管理を使うことをおすすめします。

ノート 09-S02: (全般) ファイルシステム対応

サウンドデータをプログラムとリンクする方式ではなく、ROMに格納してロードする方式を使えるようにしました。

ノート 09-S03: (全般) サウンドデータの組み込み方法変更

sound_data.oをリンクする方式から、sound_data.sdatをROMに格納する方式に変更になりました。サウンドデザイナーは、sound_data.oの代わりに、sound_data.sdatをプログラマーに渡す必要があります。ただし、sound_data.sdatのフォーマットが変更されていますので、新しくコンバートし直したsound_data.sdatを使用してください。

プログラマーは、sound_data.sdatをROMに格納する必要があります。詳しくは、「サウンドプログラマーガイド」を参照してください。

ノート 09-S04: (全般) メモリ管理機構の追加

サウンドデータのメモリ管理が必要になります。詳しくは、「サウンドシステムマニュアル」「サウンドデザイナーガイド」「サウンドプログラマーガイド」などを参照してください。

ノート 09-S05: (ライブラリ) サウンドライブラリの初期化

サウンドライブラリの初期化方法が従来と違います。詳しくは、「サウンドプログラマーガイド」を参照してください。

ノート 09-S06: (ライブラリ) ARM7コンポーネントの変更

ARM7コンポーネントが、prototypeからferretを使用するように変更されました。詳しくは、「サウンドプログラマーガイド」を参照してください。

ノート 09-S07: (コンバータ) コンバートコマンドの変更

今まで、makeコマンドでコンバートを行っていましたが、MakeSound.batを使うように変更になりました。MakeSound.batは、エクスプローラーからのダブルクリックでも実行できます。 また、再コンバートは、make rebuildの代わりに、ReMakeSound.batになりました。

ノート 09-S08: (SoundPlayer) ラベル名表示

SoundPlayer画面上にシーケンスのラベル名が表示されるようになりました。Xボタンを押すことで、以前のようにパラメータを表示させることもできます。

ノート 09-S09: (SoundPlayer) 手動ロードモード追加

データサイズの確認などが行える手動ロードモードを追加しました。詳しくは「サウンドプログラマーガイド」を参照してください。

ノート 09-S10: (コンバータ/ライブラリ) 複数シーケンス再生

1つのプレイヤーで複数のシーケンスデータを再生できるようになりました。各プレイヤー毎に、同時に再生できるシーケンスの数を設定します。(デフォルトは1)

@PLAYER
3 : 3 ; プレイヤー3は3個まで
4 : 2 ; プレイヤー4は2個まで

ノート 09-S11: (コンバータ/ライブラリ) プレイヤー数の上限の変更

プレイヤー数が16個から32個に増えました。ただし、システム全体で同時に再生できるシーケンスは従来通り16個までです。

ノート 09-S12: (コンバータ/ライブラリ) 同時シーケンス再生数の指定

各プレイヤー毎に設定する、同時に再生できるシーケンスの数は、サウンドアーカイブで指定できます。 指定していない場合は1個となります。 また、NNS_SndPlayerSetPlayableSeqCount関数を使って、プログラム側で設定することもできます。

ノート 09-S13: (ライブラリ) フェードアウト中のプレイヤープライオリティ

フェードアウト中は、プレイヤープライオリティが最低の0になるように変更されました。

ノート 09-S14: (ライブラリ) リリース・ディケイの微調整

エンベロープのリリースとディケイを、現状より速く減衰させることができるように微調整しました。リリース値が127の場合、急激な減衰によるノイズが発生する場合がありますので、ご注意ください。 以前の値と新しい値との対応関係は以下の通りです。

以前の値   | 新しい値との対応関係
51 〜 127  | それぞれ、49 〜 125に対応します。
47 〜 50   | それぞれ、1または2を引いた値に対応します。
0 〜 46    | 変更ありません。

ノート 09-S15: (コンバータ) サウンドマップファイル出力

サウンドアーカイブ作成時に、サウンドマップファイルが出力されるようになりました。サウンドマップファイルは、サウンドアーカイブ中のデータに関する情報を記載したテキストファイルで、サウンドデータサイズなどの確認のために参照します。 サウンドマップファイルは、サウンドアーカイブ定義ファイルの拡張子を*.smapに変えて、同じディレクトリに出力されます。

ノート 09-S16: (コンバータ) インデックス番号指定

サウンドアーカイブで、シーケンスやバンクの番号は上から順番につけられていましたが、直接指定できるようにしました。また、シーケンスアーカイブのシーケンステーブルでも同様に、インデックス番号指定ができるようになりました。書式は次のようになります。

※ ラベルのみ指定(いままでのもの)
SEQ_TITLE_BGM : SMF, "title.mid" , ...

※ ラベルと番号両方指定
SEQ_TITLE_BGM = 2 : SMF, "title.mid" , ...

※ 番号のみ指定
2 : SMF, "title.mid" , ...

さらに、バンク定義ファイルで各インストゥルメント毎に番号を振っていましたが、上記の書式でラベルを振ることもできるようになりました。ラベルを振ると、下記で説明するプログラムナンバリストファイルが使用できます。

ノート 09-S17: (コンバータ) プログラムナンバリスト出力

バンク定義ファイルで、プログラムナンバにラベルを指定すると、プログラムナンバリストファイルが使えるようになります。 これは、プログラムナンバをラベルで置き換えることができるようになるファイルで、例えば次のような内容になっています。

#define PRG_PIANO 0
#define PRG_GUITAR 1
#define PRG_HARP 2

このファイルは、バンク定義ファイルの拡張子を、*.spdlに変えて、同じディレクトリに出力されます。このファイルを、テキストシーケンスアーカイブでインクルードすることにより、プログラムナンバの代わりにラベルが使えるようになります。

#include "../bnk/se.spdl"

test:
    prg PRG_PIANO
    cn4 64, 48
    fin

ノート 09-S18: (コンバータ/ライブラリ) エクスプレッションの追加

MIDIコントロールチェンジ11(エクスプレッション)をvolume2コマンドに変換するようにしました。volume2コマンドは、volumeコマンドと全く同じ動作をしますが、独立に効果を発揮します。

ノート 09-S19: (コンバータ) MIDIからのsweep_pitch

MIDIコントロールチェンジ28でsweep_pitchコマンドを使えていましたが、新たにMIDIコントロールチェンジ29を、値を24倍して、sweep_pitchコマンドに変換するようにしました。これを使うことで、±2オクターブの範囲が指定可能となります。

ノート 09-S20: (コンバータ) prg、mod_delayコマンドの最大値

シーケンスコマンドprg及びmod_delayの最大値を65535から32767に変更しました。

ノート 09-S21: (コンバータ/ライブラリ) ランダムコマンドの追加

幾つかのシーケンスコマンドで、乱数指定できるようになりました。

pitchbend_r -12, 12
pan_r 64 - 32, 64 + 32
最小値と最大値を指定すると、その範囲でランダムな値がセットされます。
どのコマンドで、ランダムコマンドが使用できるかは、「シーケンスデータマニュアル」をご覧ください。

ノート 09-S22: (コンバータ/ライブラリ) 変数コマンドの追加

シーケンス中で変数を扱えるようになりました。変数を使うことで、ループする毎に音程が上がっていくようなシーケンスを、簡単に記述できるようになったりします。 詳しくは、「シーケンスデータマニュアル」をご覧ください。

ノート 09-S23: (コンバータ/ライブラリ) 制御コマンドの追加

変数を使って、あるシーケンスコマンドを、実行したり実行しなかったり、自由にコントロールできるようになります。 詳しくは、「シーケンスデータマニュアル」をご覧ください。

ノート 09-S24: (ライブラリ) NNS_SndArcPlayerInit関数削除

NNS_SndArcPlayerInit関数を削除します。対応する関数への置き換えについては、関数リファレンスを参照してください。 現状では残してありますが、次回リリース時に完全に削除します。

ノート 09-S25: (ライブラリ) NNS_SndArcPlayerStartSeqWithPlayerNo関数削除

NNS_SndArcPlayerStartSeqEx関数及び、NNS_SndArcPlayerStartSeqAcrEx関数を追加しました。これにより、NNS_SndArcPlayerStartSeqWithPlayerNo関数及び、NNS_SndArcPlayerStartSeqArcWithPlayerNo関数が置き換え可能なため、後述の2つの関数を削除します。 現状では残してありますが、次回リリース時に完全に削除します。

ノート 09-S26: (ライブラリ) 関数名変更

以下の関数は、関数名が変更になりました。旧来の関数名も残してありますが、次回リリース時に完全に削除します。

削除する関数名                          新しい関数名
NNS_SndHandleReleasePlayer              NNS_SndHandleReleaseSeq
NNS_SndPlayerStopSeqByNumber            NNS_SndPlayerStopSeqByPlayerNo
NNS_SndPlayerPauseSeqByNumber           NNS_SndPlayerPauseSeqByPlayerNo
NNS_SndPlayerCountPlayingSeqByNumber    NNS_SndPlayerCountPlayingSeqByPlayerNo

ノート 09-S27: (ライブラリ) シーケンス変数関数追加

NNS_SndPlayerReadVariable()やNNS_SndPlayerWriteVariable()などで、シーケンスデータがセットした変数を読みとったり、シーケンスデータの変数に書き込んだりすることができます。これによって、シーケンス再生中の状態を把握したり、再生中にシーケンス処理の流れを変更できたりするようになります。

ノート 09-S28: (ライブラリ) ティック数取得関数追加

NNS_SndPlayerGetTick()関数で、シーケンスが何ティック目を再生しているか取得できるようになりました。

ノート 09-S29: (ライブラリ) その他関数追加

その他、多くの関数が追加されています。詳しくは、関数リファレンスをご覧ください。

ノート 09-S30: (ライブラリ) 発音プライオリティ設定が反映されないバグ

サウンドデータにおける、発音プライオリティの設定が正常に反映されていなかった問題がありましたが、修正しました。

ノート 09-S31: (ライブラリ) NNS_SndPlayerSetTrackPan関数のアサートに関するバグ

panの引数の値が、-64〜63の範囲でアサートが行われていたのを、仕様通り-128〜127の範囲で行うように修正しました。

ノート 09-S32: (ライブラリ) NNS_SndPlayerStopSeq時のリリースに関するバグ

プログラムからシーケンスを停止させると、リリースを長く設定しているにもかかわらず、急速に減衰していた問題がありましたが、修正しました。