Thanks for your interest in improving damp! This guide covers how to build, test, and submit changes.
See the README for full instructions. In short:
git lfs install
git clone --recursive https://github.com/bogware/damp.git
cd damp && git lfs pull
# Open-source build (FFTW backend, no Intel IPP), with GUI:
cmake -GNinja -DCMAKE_BUILD_TYPE=Release \
-DSANDYBRIDGE_SUPPORT=ON -DDISABLE_IPP=ON -DBUILD_MASTERING_GUI=ON .
ninjaENABLE_FFTW is ON by default and is required when DISABLE_IPP=ON.
bin/damp_test # C++ unit tests (Google Test)
bundle install && bundle exec rspec # Ruby integration testsPlease make sure the test suite passes before opening a PR. If you change DSP code, add or update a test where practical.
- C++17. Match the style of the surrounding code. Linux builds use
-Werror -Wall, so keep the build warning-clean. - Ruby: enforced by RuboCop (
bundle exec rubocop -a); CI fails on uncommitted style changes. - Comments may be in English or Japanese (the original codebase uses both).
- Branch off
main. - Keep changes focused; write a clear description of what and why.
- Ensure CI is green (build + tests on all three platforms).
- Reference any related issue.
damp is licensed under the GNU AGPL-3.0. By submitting a contribution you
agree that it is licensed under the same terms. The vendored core DSP library
(deps/bakuage) is MIT-licensed; changes there should preserve that license.
Use the GitHub issue templates. For security issues, see SECURITY.md.