Thank you for considering contributing to DSP4Guitar! This document outlines the process and guidelines.
- CMake 3.15 or higher
- C++17 compatible compiler
- Git
- Clone the repository:
git clone https://github.com/GizzZmo/DSP4Guitar.git
cd DSP4Guitar- Download JUCE framework:
git clone --depth 1 --branch 7.0.9 https://github.com/juce-framework/JUCE.git- Build the project:
cmake -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build --config DebugThe project uses GitHub Actions for CI/CD:
- Triggers: Push to
main/developbranches, pull requests - Platforms: Ubuntu, macOS, Windows
- Actions:
- Build VST3 and AU (macOS) plugins
- Run code quality checks
- Verify documentation
- Upload build artifacts
- Triggers: New release creation, manual dispatch
- Actions:
- Build optimized release versions
- Package plugins with documentation
- Attach to GitHub releases
- Fork the repository and create a new branch
- Make your changes with clear, focused commits
- Test locally - ensure the plugin builds and works in a DAW
- Push to your fork and create a pull request
- Wait for CI - GitHub Actions will automatically:
- Build your changes on all platforms
- Run code quality checks
- Report results on your PR
- Use C++17 features appropriately
- Follow existing code style and formatting
- Avoid trailing whitespace
- Comment complex DSP algorithms
- Ensure thread-safety in audio processing code
- Fill out the PR template completely
- Reference any related issues
- Ensure all CI checks pass
- Respond to review feedback promptly
- Test plugin in at least one DAW (Reaper, Ableton, etc.)
- Verify VST3 format works correctly
- Test MIDI functionality if applicable
- Check for CPU usage and audio artifacts
- All PRs must pass CI checks
- Address any build failures or warnings
- Code quality checks should pass
If you have questions about contributing, feel free to:
- Open an issue for discussion
- Check existing documentation in the
Documentation/folder - Review closed PRs for examples
Thank you for contributing! 馃幐