一键导入
building
Build, test, and run MAGDA DAW. Use when compiling, running tests, or launching the app. Always use Makefile commands, never raw cmake/ninja.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build, test, and run MAGDA DAW. Use when compiling, running tests, or launching the app. Always use Makefile commands, never raw cmake/ninja.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | building |
| description | Build, test, and run MAGDA DAW. Use when compiling, running tests, or launching the app. Always use Makefile commands, never raw cmake/ninja. |
Always use Makefile targets. Never use cmake or ninja directly.
| Command | Purpose |
|---|---|
make debug | Debug build (default) |
make release | Release build |
make configure | Force CMake reconfigure |
make clean | Remove all build artifacts |
make rebuild | Clean + debug build |
| Command | Purpose |
|---|---|
make test | Build and run all tests |
make test-build | Build tests only |
make test-verbose | Run tests with verbose output |
make test-list | List all available tests |
make test-window | Plugin window tests only |
make test-shutdown | Shutdown sequence tests only |
make test-threading | Thread safety tests only |
| Command | Purpose |
|---|---|
make run | Build and launch app (GUI) |
make run-console | Build and run with stdout visible |
make run-profile | Run with performance profiling |
| Command | Purpose |
|---|---|
make format | clang-format all source files |
make lint | clang-tidy on all sources |
make lint-changed | clang-tidy on modified files only |
make lint-file FILE=path | clang-tidy on a specific file |
cmake-build-debug/cmake-build-release/cmake-build-debug, NOT build/cmake-build-debug/tests/magda_testscmake-build-debug/magda/daw/magda_daw_app_artefacts/Debug/MAGDA.appCode-sign the MAGDA Windows installer with the Certum cloud certificate (SimplySign). Use when releasing on Windows, when the signing job in release.yml needs attention, or when troubleshooting "cert not found" / SmartScreen warnings.
Work on MAGDA's compiled Faust devices (synths/FX whose DSP is a .dsp file compiled to C++ at build time). Use when adding or changing a parameter on a compiled Faust plugin (e.g. Poly Synth, the filter engines, compiled FX), creating a new compiled Faust device, or wiring its custom UI. Covers the .dsp -> generated.cpp pipeline, the host-slot contract, and UI/linking.
Update the MAGDA application icon (dock / taskbar / window icon) from a new source PNG. Use when the user wants to change, swap, or update the app icon, e.g. "update the app icon to Bold-M6". Covers the assets/app_icon.png pipeline, the square-PNG requirement, and rebuilding so JUCE regenerates the .icns/.ico.
Manage MAGDA translations via Crowdin - how to add source strings, push sources, push a specific locale's translation via CLI, and the rules about who writes what.
Write values from MAGDA into a te::AutomatableParameter (slider moves, controller input, state restore, modifier sync). Covers the setParameterFromHost requirement, why setParameter silently drops host writes when modifiers are active, and what to do after a TE submodule bump. Use when adding a new DeviceProcessor, wiring a new control surface, debugging "slider does nothing when an LFO/macro is on the parameter", or rebasing the TE patch.
Tag and push a release. Use when the user says "release X.Y.Z". Does NOT merge any branches — just tags the current HEAD and pushes.