Initial commit
This commit is contained in:
33
AGENTS.md
Normal file
33
AGENTS.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Repository Guidelines
|
||||
|
||||
## Project Structure & Module Organization
|
||||
- `PluginProcessor.h/cpp` contain `TwoOscAudioProcessor`, `SimpleVoice`, the APVTS layout, and factory presets—centralize DSP, parameter definitions, and state handling here.
|
||||
- `PluginEditor.h/cpp` manage the UI components, parameter attachments, and layout helpers; register new parameter IDs in the processor and wire their controls in these files.
|
||||
- Factory presets sit in `getFactoryPatches()`; keep categories organised so the preset popup remains easy to scan.
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
- Make JUCE modules available (export `JUCE_MODULES_PATH` or keep a JUCE checkout beside this repository).
|
||||
- Configure and build out-of-tree with CMake:
|
||||
```bash
|
||||
cmake -S . -B build -DJUCE_MODULES_PATH=$JUCE_MODULES_PATH
|
||||
cmake --build build --target NeuralSynthEd_Standalone
|
||||
cmake --build build --target NeuralSynthEd_VST3
|
||||
```
|
||||
- Leave `build/` untracked and use the standalone target for smoke tests before validating in a DAW.
|
||||
|
||||
## Coding Style & Naming Conventions
|
||||
- Follow JUCE style: 4 spaces, same-line braces, and `//==============================================================================` separators for major sections.
|
||||
- Types use PascalCase, members camelCase, parameter IDs lowerCamel (e.g., `lfoRate`, `oscA`); reserve `auto` for self-evident types.
|
||||
- Keep realtime code allocation-free and tuck UI-only helpers inside the editor files.
|
||||
|
||||
## Testing Guidelines
|
||||
- Manual passes in the standalone build and JUCE `AudioPluginHost` cover current needs; exercise preset recall, automation, MIDI, and state persistence whenever parameters move.
|
||||
- Describe expected sonic or UX changes in PR notes so reviewers can mirror the checks.
|
||||
|
||||
## Commit & Pull Request Guidelines
|
||||
- Use Conventional Commits with imperative subjects; add a brief body when behaviour changes or migrations occur.
|
||||
- PRs should summarise functional impact, link issues, attach audio clips or screenshots for DSP/UI tweaks, and avoid force-pushes post-review without noting the delta.
|
||||
|
||||
## Preset & State Tips
|
||||
- Gain-match new presets (master around -18 dBFS) and provide explicit LFO values to keep legacy sounds stable.
|
||||
- Update APVTS defaults and editor control ranges together, refreshing browser labels if new preset categories appear.
|
||||
Reference in New Issue
Block a user