CBWBGM

現在、開発凍結されています。ここに記載されている内容は、現在実現の目処はたっていません。

概要#

[[BGM]]統括クラスとして以下の4つのクラスを管理するほか、それ自身が簡単なエフェクトをかける機能を持つ。

使用方法(予定)#

[[BGMスクリプト]]ファイルを読み込むことでBGMが再生可能になる。
SendCommand関数でスクリプトを実行することでBGMを再生することができるが、特にエフェクトなしで再生する場合はPlay関数が簡易的に使用可能である。
SendCommand関数によりスクリプトの機能を呼び出すことでBGMに様々なエフェクトを掛けることができる。

ダウンロード#

上が新しい。

bgm070713.lzh

履歴#

07/07/13できたってことにしておく。

メンバ#

ここに記載されていない関数は使うべきではない。
または、ソースコードをよく読んで注意深く使うこと。

GetActions#

void GetActions(list& l)
[[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)
テンポを変更する。