Compare commits
2 Commits
20b53a8780
...
3ac2cc15b1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ac2cc15b1 | ||
|
|
24eb354ace |
39
.gitattributes
vendored
Normal file
39
.gitattributes
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# Auto-detect text files and normalize to LF in the repo
|
||||
* text=auto
|
||||
|
||||
# Explicit text rules
|
||||
*.md text
|
||||
*.txt text
|
||||
*.json text
|
||||
*.yml text
|
||||
*.yaml text
|
||||
*.toml text
|
||||
*.c text
|
||||
*.cpp text
|
||||
*.h text
|
||||
*.hpp text
|
||||
*.rs text
|
||||
*.py text
|
||||
*.go text
|
||||
*.js text
|
||||
*.ts text
|
||||
*.css text
|
||||
*.html text
|
||||
*.sh text eol=lf # scripts on Unix must be LF
|
||||
*.bash text eol=lf
|
||||
|
||||
# Windows-native scripts that should remain CRLF in working trees
|
||||
*.bat text eol=crlf
|
||||
*.cmd text eol=crlf
|
||||
*.ps1 text eol=crlf
|
||||
|
||||
# Binary (never touch line endings)
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.gif binary
|
||||
*.pdf binary
|
||||
*.zip binary
|
||||
*.exe binary
|
||||
*.dll binary
|
||||
*.glb binary
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,4 @@
|
||||
Builds
|
||||
NeuralSynth Installer.exe
|
||||
AudioPluginHost
|
||||
Projucer
|
||||
|
||||
19
AGENTS.md
Normal file
19
AGENTS.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Repository Guidelines
|
||||
|
||||
## Project Structure & Module Organization
|
||||
NeuralSynth is a JUCE-based synthesizer plugin. Core runtime code lives in `Source/`, with `PluginProcessor.*` orchestrating audio/MIDI flow, `PluginEditor.*` driving the UI, `SynthVoice.*` implementing per-voice DSP, and helper headers such as `AudioEngine.h` and `NeuralSharedParams.h` exposing shared state. JUCE-generated scaffolding sits in `JuceLibraryCode/`; regenerate it through `NeuralSynth.jucer` rather than editing by hand. Platform build assets are under `Builds/` (for example `Builds/LinuxMakefile/`), and finished binaries default to `Builds/LinuxMakefile/build/`. Install scripting for Windows lives in `NeuralSynth.iss`.
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
- `cd Builds/LinuxMakefile && make CONFIG=Debug` compiles the standalone app and VST3 with debug symbols.
|
||||
- `cd Builds/LinuxMakefile && make CONFIG=Release` builds optimized artefacts for distribution.
|
||||
- `cd Builds/LinuxMakefile && make clean` removes intermediate objects when builds misbehave.
|
||||
- `./Builds/LinuxMakefile/build/NeuralSynth` launches the standalone target; VST3 binaries appear in `Builds/LinuxMakefile/NeuralSynth.vst3` and copy into `~/.vst3` when the Makefile post-build step runs.
|
||||
|
||||
## Coding Style & Naming Conventions
|
||||
C++ sources use 4-space indentation, brace-on-new-line functions, and JUCE’s `juce::` namespace types. Prefer `PascalCase` for classes (e.g., `NeuralSynthAudioProcessor`), camelCase for methods and members (`prepareToPlay`, `audioEngine`), and suffix queues/collectors clearly (`AudioBufferQueue`, `ScopeDataCollector`). Match existing lambda formatting in `SynthVoice.cpp`, keep includes sorted locally, and avoid editing generated files under `JuceLibraryCode/`.
|
||||
|
||||
## Testing Guidelines
|
||||
Automated tests are not yet configured; rely on manual validation in the standalone app or a DAW host. After each change, rebuild and audition key features: oscillator switching, chorus/delay/reverb chains, parameter automation, and MIDI input. For DSP tweaks, monitor the oscilloscope components linked to the buffer queues to confirm signal stability. Document ad-hoc test coverage in your pull request until formal tests are added.
|
||||
|
||||
## Commit & Pull Request Guidelines
|
||||
Follow the existing concise, imperative commit style (`Add chorus modulation`, `Fix voice detune`). Scope each commit to a logical change and format messages as a single summary line. Pull requests should describe the motivation, outline testing performed, and link issues when relevant. Include platform notes (Linux, Windows installer) and screenshots or audio clips for UI-affecting or sonic changes so reviewers can assess impact quickly.
|
||||
@@ -7,6 +7,8 @@
|
||||
pluginVSTNumMidiInputs="1" pluginChannelConfigs="{0, 2}" version="0.0.1">
|
||||
<MAINGROUP id="UQstsW" name="NeuralSynth">
|
||||
<GROUP id="{D5B48DA9-9A47-914A-8C72-EE5E8DD868A3}" name="Source">
|
||||
<FILE id="Mkx0uo" name="BlepOsc.h" compile="0" resource="0" file="Source/BlepOsc.h"/>
|
||||
<FILE id="axDpEq" name="WavetableOsc.h" compile="0" resource="0" file="Source/WavetableOsc.h"/>
|
||||
<FILE id="nmKMnf" name="GraphComponent.h" compile="0" resource="0"
|
||||
file="Source/GraphComponent.h"/>
|
||||
<FILE id="CjJ141" name="NeuralSharedParams.h" compile="0" resource="0"
|
||||
|
||||
Reference in New Issue
Block a user