Initial commit

This commit is contained in:
Roboboffin
2025-10-21 17:22:44 +01:00
commit 45183c21a4
5 changed files with 1922 additions and 0 deletions

33
AGENTS.md Normal file
View 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.