Skip to content

Latest commit

 

History

History
57 lines (40 loc) · 1.74 KB

File metadata and controls

57 lines (40 loc) · 1.74 KB

Contributing to damp

Thanks for your interest in improving damp! This guide covers how to build, test, and submit changes.

Building

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 .
ninja

ENABLE_FFTW is ON by default and is required when DISABLE_IPP=ON.

Testing

bin/damp_test                         # C++ unit tests (Google Test)
bundle install && bundle exec rspec   # Ruby integration tests

Please make sure the test suite passes before opening a PR. If you change DSP code, add or update a test where practical.

Code style

  • 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).

Pull requests

  1. Branch off main.
  2. Keep changes focused; write a clear description of what and why.
  3. Ensure CI is green (build + tests on all three platforms).
  4. Reference any related issue.

Licensing of contributions

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.

Reporting bugs / requesting features

Use the GitHub issue templates. For security issues, see SECURITY.md.