À propos du projet
Anklang est une application de synthèse audio numérique conçue pour la création et la composition en direct de musique et d'autres contenus audio. Il s'agit d'une refonte de plusieurs anciens projets audio de ses deux auteurs principaux, visant à réaliser une fusion cohérente et solide pour la composition et la création interactive de musique de synthèse.
Le projet peut être compilé sous Linux en clonant le dépôt et en exécutant `make`. Cependant, il est plus simple de télécharger l'une des versions AppImage autonomes, de la marquer comme exécutable et de la lancer.
## Développement
### Feuille de route
Au fur et à mesure de son expansion, la feuille de route a été déplacée vers [ROADMAP.md](ROADMAP.md).
### Structure du projet
- `ase/` - Sources du backend C++23 (`*.c`, `*.h`, `*.cc`, `*.hh`)
- `ase/api.hh` - API publique pour l'IPC backend <-> frontend
- `trkn/` - Sources tierces (tracktion_engine, JUCE)
- `ui/` - Interface web (Vite, Tailwind, SolidJS)
- `jsonipc/` - IPC pour les messages JSON entre le backend et le navigateur
### Compilation et tests
- Compilation : `make`
- Exécuter tous les tests : `make check`
- Exécuter un test spécifique : `make check-<nom_du_test>` (par exemple, `make check-string_funcs`)
- Exécution directe des tests : `out/lib/AnklangSynthEngine --test <nom_du_test>`
- Lister les tests disponibles : `out/lib/AnklangSynthEngine --list-tests`
### Directives de test
- Le nouveau code nécessite des tests appropriés
- Éviter les tests pour ce que le système de types garantit déjà
- N'utiliser que les méthodes disponibles sur l'interface (étendre les fichiers `*.hh` si nécessaire)
## Licence
Cette application, y compris le moteur audio, est sous licence [MPL-2.0](https://github.com/tim-janik/anklang/blob/trunk/LICENSE).
Cependant, les plugins pouvant être utilisés avec cette application ou téléchargés via des packs d'extension peuvent relever de conditions de licence différentes, telles que GPLv3 ou des licences propriétaires.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.