Sobre o projeto

Anklang é uma aplicação de síntese de áudio digital concebida para a criação e composição ao vivo de música e outros materiais de áudio. É uma reformulação de vários projetos de áudio anteriores dos seus dois autores principais, com o objetivo de realizar uma amálgama coerente e sólida para a composição e criação interativa de música de síntese. O projeto pode ser compilado no Linux clonando o repositório e executando `make`. No entanto, é mais fácil descarregar uma das compilações de lançamento AppImage autónomas, marcá-la como executável e executá-la. ## Desenvolvimento ### Roadmap À medida que cresceu, o roadmap foi movido para [ROADMAP.md](ROADMAP.md). ### Estrutura do Projeto - `ase/` - Fontes do backend em C++23 (`*.c`, `*.h`, `*.cc`, `*.hh`) - `ase/api.hh` - API pública para IPC backend <-> frontend - `trkn/` - Fontes de fornecedores (tracktion_engine, JUCE) - `ui/` - Interface web (Vite, Tailwind, SolidJS) - `jsonipc/` - IPC para mensagens JSON entre o backend e o navegador ### Compilação e Testes - Compilar: `make` - Executar todos os testes: `make check` - Executar um teste específico: `make check-<test_name>` (por exemplo, `make check-string_funcs`) - Execução direta de testes: `out/lib/AnklangSynthEngine --test <test_name>` - Listar testes disponíveis: `out/lib/AnklangSynthEngine --list-tests` ### Diretrizes de Testes - Código novo requer testes adequados - Evitar testes para o que o sistema de tipos já garante - Utilizar apenas métodos disponíveis na interface (estender os ficheiros `*.hh` se necessário) ## Licença Esta aplicação, incluindo o motor de áudio, está licenciada sob [MPL-2.0](https://github.com/tim-janik/anklang/blob/trunk/LICENSE). No entanto, os plugins que podem ser utilizados com esta aplicação ou que podem ser descarregados através de pacotes de extensão podem estar sujeitos a termos de licenciamento diferentes, como GPLv3 ou licenças proprietárias.