À propos du projet
FAudio est une réimplémentation open-source des bibliothèques audio runtime de Microsoft DirectX, développée pour le projet FNA. Son objectif déclaré est une précision comportementale complète plutôt que de simplement fournir une surface API compatible, afin que les logiciels écrits contre les bibliothèques originales se comportent de la même manière sur les plateformes ouvertes.
Portée
Le projet couvre plusieurs API audio connexes :
- XAudio2, l'API de bas niveau pour le mixage et la lecture audio
- X3DAudio, la bibliothèque d'aide à l'audio spatial
- XAPO, l'interface d'objet de traitement audio multiplateforme
- XACT3, le runtime de l'outil de création audio de niveau supérieur
Utilisation prévue
FAudio a été écrit pour soutenir les espaces de noms Audio et Media de FNA. Les applications y accèdent via FAudio#, une liaison C# située dans le répertoire csharp/ du dépôt, ce qui le rend utilisable depuis du code de jeu basé sur .NET.
Dépendances
FAudio dépend uniquement de SDL 3.2.0 ou plus récent. Le README note qu'il n'utilise jamais explicitement le runtime C, ce qui maintient une empreinte de dépendances réduite et un comportement plus prévisible sur différentes plateformes.
Construction
Les instructions de construction diffèrent selon la cible :
- Sur les systèmes de type Unix, le projet utilise CMake : créez un répertoire de construction, exécutez cmake sur l'arborescence source, puis make.
- Sur Windows, des fichiers de construction sont fournis dans le répertoire visualc/.
- Pour Xbox GDK, voir visualc-gdk/.
- Pour les binaires universels iOS, tvOS et macOS, voir le répertoire Xcode/.
Tests
FAudio est livré avec des tests unitaires qui documentent le comportement de XAudio2 et sont destinés à être exécutés contre FAudio pour confirmer un comportement correspondant. Ces tests ne sont pas construits par défaut ; définir BUILD_TESTS=1 les active, après quoi le binaire faudio_tests peut être exécuté. Un Makefile séparé dans tests/ construit un exécutable Windows (nécessitant mingw-w64) afin que les mêmes tests puissent être exécutés contre l'implémentation réelle de XAudio2 pour comparaison.
Licence et communauté
FAudio est publié sous la licence zlib. Les problèmes et correctifs sont traités via le dépôt GitHub du projet, et le site web du projet est hébergé à fna-xna.github.io.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.