Thanks for your interest in contributing! Here's how you can help.
- Open an issue with a clear title
- Include your OS version, audio driver type (WASAPI/ASIO/CoreAudio/ALSA), and device details
- Describe the steps to reproduce the problem
- Include the contents of your
settings.jsonif relevant (see README for location per platform)
- Open an issue with the
enhancementlabel - Describe the use case and why it would be useful
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Test thoroughly with real timecode sources if possible
- Commit with clear messages (
git commit -m "Add XYZ feature") - Push and open a Pull Request
- Follow the existing code style (JUCE conventions)
- Use
camelCasefor variables and methods - Use
PascalCasefor classes and structs - Keep header files self-contained (include what you use)
- Prefer lock-free patterns for anything in the audio callback path
Any code that runs in audioDeviceIOCallbackWithContext must be real-time safe:
- No memory allocation
- No locks (use atomics or lock-free structures)
- No system calls
By contributing, you agree that your contributions will be licensed under the MIT License.