現在、開発凍結されています。ここに記載されている内容は、現在実現の目処はたっていません。
概要#
[[BGM]]統括クラスとして以下の4つのクラスを管理するほか、それ自身が簡単なエフェクトをかける機能を持つ。
- [[CBWBGMResource]]
- [[CBWBGMScript]]
- [[CBWBGMWatcherTool]]
- [[CBWBGMModulatorTool]]
使用方法(予定)#
[[BGMスクリプト]]ファイルを読み込むことでBGMが再生可能になる。
SendCommand関数でスクリプトを実行することでBGMを再生することができるが、特にエフェクトなしで再生する場合はPlay関数が簡易的に使用可能である。
SendCommand関数によりスクリプトの機能を呼び出すことでBGMに様々なエフェクトを掛けることができる。
ダウンロード#
上が新しい。
履歴#
| 07/07/13 | できたってことにしておく。 |
メンバ#
ここに記載されていない関数は使うべきではない。
または、ソースコードをよく読んで注意深く使うこと。
GetActions#
void GetActions(list
[[BGMスクリプト]]内のActionフィールドの内容をlに追加する。
GetDirectMusicLoader#
GetDirectMusicPerformance#
IDirectMusicLoader* GetDirectMusicLoader()
IDirectMusicPerformance* GetDirectMusicPerformance()
[[DirectMusic]]のインターフェースを得る。
GetExpression#
GetPan#
GetVolume#
double GetExpression(BYTE channel)
double GetPan(BYTE channel)
double GetVolume(BYTE channel)
各種パラメータを得る。
GetPatch#
BYTE GetPatch(BYTE channel)
楽器の番号を得る。
GetTempo#
double GetTempo()
テンポを得る。
Load#
void Load(const string& strFile)
[[BGMスクリプト]]ファイルを読み込み、実行する。
Modulate#
void Modulate(const char* a, const char* b)
調aから調bに転調する。
OnFrame#
void OnFrame()
毎フレーム呼び出すことでフェードが実現する。
SendCommand#
void SendCommand(const string& strCommand)
Luaスクリプトによるコマンドを実行する。
SetExpression#
SetPan#
SetVolume#
void SetExpression(BYTE channel, double end, double difference=127.0)
void SetPan(BYTE channel, double end, double difference=127.0)
void SetVolume(BYTE channel, double end, double difference=127.0)
各パラメータを設定する。
SetPatch#
void SetPatch(BYTE channel, BYTE byInstrument,BYTE byMSB, BYTE byLSB)
正常に動作しない。
SetTempo#
void SetTempo(double end, double difference=1000.0)
テンポを変更する。