pxeasy.dll

pxtone.dll を C/C++ 以外の言語で利用しようのコーナー。

Pixel さんが開発中の「ピストンコラージュ」は、独自の再生エンジンを持つ作曲ソフトです。特に、ゲーム音楽に利用されることが想定されているため、ループ機能や独自音声による省サイズが簡単に実現できます。そして、他のアプリケーションに組み込むための dll が存在してます。

しかし、dll のインターフェースは非常に無駄のない一方で、C/C++ 以外の言語で扱うのに多少苦労する (もしくは直接は使えない) という問題もあります。

pxeasy.dll は pxtone.dll を他の言語でも扱えることを目標とした中継 dll です。pxtone.dll を直接呼び出せなくて挫折した人も、これを使えば夢がかなうかもしれません (私の実力不足でかなわないかもしれません)。

dll 利用に __stdcall が必須の言語へ

VisualBasic, ActiveBasic など、__stdcall が指定されたインターフェースを必須としたり、推奨したりする言語があると思います。pxtone.dll は __cdecl が指定されているので、直接呼び出せません。pxeasy.dll は __stdcall が指定されているので、これらの言語にも対応できる可能性があります。

ウィンドウの生成をしたくない開発者へ

ウィンドウを意識せずに pxtone.dll を扱うことができれば、非常に快適なプログラミングができます。また、仕様上ウィンドウを生成できない言語もあります。pxeasy.dll では既存のデスクトップウィンドウを利用するので、開発者が新たにウィンドウを生成する必要がありません。

ポインタ概念のない言語へ

LightGameProgramming など、ポインタのない言語にも、DLL ロード機能がある場合があります。pxeasy.dll は整数型 (int) と文字列型 (char*) だけのインターフェースになっています。ポインタの概念のない言語や、ポインタがよく分からない人におすすめです。

ピストンノイズの再生・アプリケーション終了時の開放

ピストンノイズは wave データと同等のバッファを生成しますが、再生方法までは提供されていません。再生エンジンはユーザが自由に決めて実装することができます。しかし、そういうことのできない言語もあります。簡単ではありますが、pxeasy_Sound_XXX にてピストンノイズの再生を提供します。

また、ウィンドウが閉じられたときに開放処理が書けない言語・ライブラリの環境では、ウィンドウを閉じることで開放忘れの心配があります。これについては確実な方法かどうか分かりませんが、DLL 切り離し時のイベント内で 開放処理を行うようにしています。ウィンドウが閉じられる時のイベントが記述できる環境では自力で開放処理を書く方が安全です。

免責事項

このライブラリによる損害は全て、自己責任でお願いします。

ダウンロード

pxeasy.dll ver. 2.10
pxtone.dll と pxtoneWin32.dll の両方に対応。ただし、一部不具合があるため pxtoneWin32.dll を中継することを推奨します。pxeasy_LoadX, pxeasy_Unload を追加。
pxeasy.dll ver. 2.0.1
音量が正しく指定できないバグを修正。pxtone.dll 専用に中継するバージョンはバグがない限りこれが最終版です。
pxeasy.dll ver. 2.0.0
やっつけ仕事的にワイド文字版 API 追加。ピストンノイズの音声を同時再生可能に。
pxeasy.dll ver. 1.5
前バージョンとの互換性が全くなくなるほど改造、簡略化。
pxeasy.dll ver. 1.2
pxeasyDll_GetLastError, pxeasyDll_CopyLastError を追加。内部構造を改良。
pxeasy.dll ver. 1.0
最初のリリース。

リファレンス

戻る