このプロジェクトについて
FAudioは、MicrosoftのDirectX Audioランタイムライブラリをオープンソースで再実装したもので、FNAプロジェクト向けに開発されています。その目標は、単に互換性のあるAPI表面を提供することではなく、完全な動作精度を実現することであり、元のライブラリ向けに書かれたソフトウェアがオープンプラットフォーム上でも同じように動作するようにします。
対象範囲
このプロジェクトは、関連する複数のオーディオAPIをカバーしています。
- XAudio2: 低レベルのオーディオミキシングおよび再生API
- X3DAudio: 空間オーディオ用ヘルパーライブラリ
- XAPO: クロスプラットフォームのオーディオ処理オブジェクトインターフェース
- XACT3: より高レベルのオーディオ作成ツールランタイム
想定される用途
FAudioは、FNAのAudio名前空間とMedia名前空間を支えるために書かれました。アプリケーションは、リポジトリのcsharp/ディレクトリにあるC#バインディングであるFAudio#を通じてこれにアクセスし、.NETベースのゲームコードから利用できるようになっています。
依存関係
FAudioは、SDL 3.2.0以降のみに依存しています。READMEには、Cランタイムを明示的に使用しないことが記載されており、これにより依存関係のフットプリントが小さく保たれ、プラットフォーム間での動作がより予測可能になります。
ビルド
ビルド手順はターゲットによって異なります。
- Unix系システムでは、プロジェクトはCMakeを使用します。ビルドディレクトリを作成し、ソースツリーに対してcmakeを実行してから、makeを実行します。
- Windowsでは、ビルドファイルがvisualc/ディレクトリに用意されています。
- Xbox GDKについては、visualc-gdk/を参照してください。
- iOS、tvOS、macOSのユニバーサルバイナリについては、Xcode/ディレクトリを参照してください。
テスト
FAudioには、XAudio2の動作を文書化した単体テストが付属しており、FAudioに対して実行して動作が一致することを確認することを目的としています。これらのテストはデフォルトではビルドされません。BUILD_TESTS=1を設定すると有効になり、その後faudio_testsバイナリを実行できます。tests/にある別のMakefileは、Windows実行ファイルをビルドし(mingw-w64が必要)、同じテストを実際のXAudio2実装に対して実行して比較できるようにします。
ライセンスとコミュニティ
FAudioはzlibライセンスの下でリリースされています。問題やパッチはプロジェクトのGitHubリポジトリを通じて扱われ、プロジェクトのウェブサイトはfna-xna.github.ioでホストされています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.