System4.0 Tips

  

System4.0でボリュームバランサ

 

 

 昇龍志さんからボリュームバランサの設定方法の報告を受けました。ありがとうございます。

 

WavLinkerでリンクする内容を指定するファイル(.HED)の、二番目の引数で指定する「分類」の番号がボリュームバランサの順番の番号に一致します。

"A", 1,"SE\","wav", 0, 0
"A", 2,"VOICE\","wav", 0, 0

とやると、ボリュームバランサの2番目が効果音、3番目がボイスなどというようにできます。

 

 

 

以下は古い記事です。何かの役に立つかもしれないので、残しておきます。


 

 ボリュームバランサが何かっていうと、つまり、


 

 

 

 

 

 

 

 

です。

 System4.0のメニューの設定-サウンドで出てきます。
この画面に書かれている項目を変更するのは簡単です。
System40.iniファイルを変更すればテキストが変わります。

 しかしながら、それぞれの設定項目を変更したときに、
「BGM」、「効果音」、「ボイス」を分けて音量変更ができませんでした。
(少なくとも、2004年12月24日付SDKでは、見つけることができませんでした)
(0番を変更すれば、全てのサウンドの音量は変更されますが…)

 そこで今回は、これらの設定項目が有効に動作するような
コードを作成してみました。

 

 

注意事項

  •  SACT本体の改変は行っていませんが、SACT外部から使用すべきではない、一部のグローバル変数を使用しています。そのため、予期せぬバグが存在する可能性があります。

  •  当然のごとく、その他いかなる事が起きようとも自己責任です。

仕様です:

  • 設定で、非アクティブ時のCPU不可を下げるが有効になっている場合は、リアルタイムで音量変化が起こりません。

  • バックログ時や、エフェクト時などの時は、リアルタイムで音量変化しません。(数行SACT内部を変更すれば可能です)

  • ミュートや音量ゼロの時でも、先頭の音が多少再生されることがあります。

  • バックログでのボイスは、バランサマスタのボリュームが適用されます。

説明:

  • バランサマスタ  全部に共通な音量です。

  • 使い方  ダウンロードファイルのソースを参照してください。(自動改行も用いています)

 

  Developed using Alicesoft System4.0
サンプルをダウンロード

Ogg Vorbis is Copyright(c)2001,xiphophorus.
All right reserved.

画像/BGM Alicesoft
声 音の社
効果音 ザ・マッチメイカァズ
 

仕様説明

                (※ 詳細な説明は、VolumeVarancerEasy.jaf の説明を参照してください)

  基本動作:    ボリュームバランサに対応します。

    準備    :     [REGISTER_MSG_KEY_WAIT_CALLBACK]で登録した関数から、[VOLUMEVARANCE_CHECK]関数を呼び出します。
                     初期化時に[VOLUMEVARANCE_INIT]を呼びます。
                      [$$VVV=10001;]などと、ボイス初期値を指定しておきます。

    実装    :     BGM,効果音は、それぞれ[VV_BGM]/[VV_SE]命令で開始します。終了などはMSC_などで行えます。
                     ボイスは、[VVChara(◆Aさん);]などとして、ボイスの番号のキャラを指定(これはお使いのADV関数に含められるようなら含めた方が良いです)し、[$VVV;]で実行(引数増加マクロを使用しています)します。

    注意    :     動作に異常が生じても責任は取れません。

 

 

 感想

  Alicesoftさんでは、DLL内部で音量変更まで行っているような気がします。
、、しかし…、案外どこかに、ボリュームバランサを扱う関数が転がってるような気もします。

 

 訂正...

    main.cppのReleaseで[delete this;]を行うべきな気がします。
配列の解放に気を取られて忘れてしまいました。
しないと、たぶんちょこっとだけ漏れてます。
使う方、各自で修正してくださーい。忙しいんだー。