프로젝트 소개

Anklang은 음악 및 기타 오디오 자료의 라이브 창작과 작곡을 위해 설계된 디지털 오디오 합성 애플리케이션입니다. 이는 두 주요 저자의 이전 여러 오디오 프로젝트를 재구성한 것으로, 합성 음악의 작곡과 인터랙티브 창작을 위한 일관되고 견고한 통합을 실현하는 것을 목표로 합니다. 이 프로젝트는 리포지토리를 클론하고 `make`를 실행하여 Linux에서 빌드할 수 있습니다. 그러나 자체 포함된 AppImage 릴리스 빌드 중 하나를 다운로드하여 실행 권한을 부여하고 실행하는 것이 더 쉽습니다. ## 개발 ### 로드맵 프로젝트가 커짐에 따라 로드맵은 [ROADMAP.md](ROADMAP.md)로 이동되었습니다. ### 프로젝트 구조 - `ase/` - C++23 백엔드 소스 (`*.c`, `*.h`, `*.cc`, `*.hh`) - `ase/api.hh` - 백엔드 <-> 프론트엔드 IPC용 공개 API - `trkn/` - 벤더 소스 (tracktion_engine, JUCE) - `ui/` - 웹 UI (Vite, Tailwind, SolidJS) - `jsonipc/` - 백엔드와 브라우저 간 JSON 메시지용 IPC ### 빌드 및 테스트 - 빌드: `make` - 모든 테스트 실행: `make check` - 특정 테스트 실행: `make check-<테스트_이름>` (예: `make check-string_funcs`) - 직접 테스트 실행: `out/lib/AnklangSynthEngine --test <테스트_이름>` - 사용 가능한 테스트 목록: `out/lib/AnklangSynthEngine --list-tests` ### 테스트 지침 - 새 코드에는 적절한 테스트가 필요합니다 - 타입 시스템이 이미 보장하는 것에 대한 테스트는 피하십시오 - 인터페이스에서 사용 가능한 메서드만 사용하십시오 (필요 시 `*.hh` 파일 확장) ## 라이선스 오디오 엔진을 포함한 이 애플리케이션은 [MPL-2.0](https://github.com/tim-janik/anklang/blob/trunk/LICENSE)에 따라 라이선스가 부여됩니다. 그러나 이 애플리케이션과 함께 사용하거나 확장 팩을 통해 다운로드할 수 있는 플러그인은 GPLv3 또는 독점 라이선스와 같은 다른 라이선스 조건에 해당할 수 있습니다.