pxtone.dll を C/C++ 以外の言語で利用しようのコーナー。
Pixel さんが開発中の「ピストンコラージュ」は、独自の再生エンジンを持つ作曲ソフトです。特に、ゲーム音楽に利用されることが想定されているため、ループ機能や独自音声による省サイズが簡単に実現できます。そして、他のアプリケーションに組み込むための dll が存在してます。
しかし、dll のインターフェースは非常に無駄のない一方で、C/C++ 以外の言語で扱うのに多少苦労する (もしくは直接は使えない) という問題もあります。
pxeasy.dll は pxtone.dll を他の言語でも扱えることを目標とした中継 dll です。pxtone.dll を直接呼び出せなくて挫折した人も、これを使えば夢がかなうかもしれません (私の実力不足でかなわないかもしれません)。
VisualBasic, ActiveBasic など、__stdcall が指定されたインターフェースを必須としたり、推奨したりする言語があると思います。pxtone.dll は __cdecl が指定されているので、直接呼び出せません。pxeasy.dll は __stdcall が指定されているので、これらの言語にも対応できる可能性があります。
ウィンドウを意識せずに pxtone.dll を扱うことができれば、非常に快適なプログラミングができます。また、仕様上ウィンドウを生成できない言語もあります。そのような場合においては pxeasy.dll のヘルパ関数が利用できます。ウィンドウ処理は pxeasy.dll が行いますので、メッセージループも、ウィンドウハンドルも、ウィンドウプロシージャも必要なくなります。
LightGameProgramming など、ポインタのない言語にも、dll ロード機能がある場合があります。pxeasy.dll には pxplain という整数型と文字列型だけのインターフェースが存在します。ポインタの概念のない言語や、ポインタがよく分からない人におすすめです。
ピストンノイズは wave データと同等のバッファを生成しますが、再生方法までは提供されていません。再生エンジンはユーザが自由に決めて実装することができます。しかし、そういうことのできない言語もあります。簡単ではありますが、pxeasy.dll のヘルパ関数はピストンノイズの再生を提供します。
また、ウィンドウが閉じられたときに開放処理が書けない言語・ライブラリの環境では、ウィンドウを閉じることで開放忘れの心配があります。しかし、pxeasy.dll のヘルパ関数を利用した場合は dll の開放時に開放してくれるので、その心配はないはずです (異常時などは保障し切れません)。
このライブラリによる損害は全て、自己責任でお願いします。