diff --git a/AGENTS.md b/AGENTS.md index 6fb5892..38477a5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -83,23 +83,31 @@ extra files. Never edit generated CMakeCache.txt files. The checked-in ## Current source layout -`CMakeLists.txt` owns the explicit `SERUMALT_SOURCES` list and shared target setup. -`cmake/Plugin.cmake` owns production formats and MinGW link flags; -`cmake/Harness.cmake` owns the console harness and CTest registration. -The harness compiles the same processor/editor sources independently of the plugin. +`CMakeLists.txt` owns the explicit `SERUMALT_SOURCES` list, the module include +directories and shared target setup. `cmake/Plugin.cmake` owns production formats +and MinGW link flags; `cmake/Harness.cmake` owns the console harness and CTest +registration. The harness compiles the same processor/editor sources independently +of the plugin. -Most C++ files still live directly under `Source/`. Existing implementation -subdirectories are `EffectUnits/`, `GUI/`, `Presets/`, `Resources/`, and `Tests/`. -`FXProcessor`, `PluginEditor`, `Resources`, and `RAVEButton` remain at the source root. -`RAVEButton.{h,cpp}` defines `RaveController`. +Every implementation lives in a module directory under `Source/`, and the +`AGENTS.md` in that directory owns its rules: -The lowercase `Source/engine`, `modulation`, `params`, `plugin`, and `synth` -directories currently hold guidance, not relocated implementations. Consult their -`AGENTS.md` files when editing the related root-level sources. Consult the matching -`AGENTS.md` when editing an existing implementation subdirectory. -`docs/AUDIT_REPORT.md` is a historical audit and proposed refactor, not a pending -instruction to move files. Update the explicit source list and includes only when -an actual source move is part of the requested task. +- `Engine/` the voice pool, LFOs, wavetable library, FX rack, matrix and macros. +- `Synth/` wavetables, oscillators, filters, envelopes, LFOs and the voice. +- `Modulation/` the modulation matrix, macros, and `RAVEButton`, which defines + `RaveController`. +- `Params/` parameter IDs, indexed groups, enums and unit mappings. +- `Plugin/` the JUCE `AudioProcessor` boundary. +- `GUI/` the editor with its controls and previews. +- `EffectUnits/` the effect rack and the effect units. +- `Presets/`, `Resources/` and `Tests/`, as their names suggest. + +`Source/ExactCompare.h` is the one shared header, and several modules include it. +`SERUMALT_INCLUDE_DIRS` lists one include directory per module, so a source names a +header without a path prefix. No two headers share a basename; check that before +adding one. `docs/AUDIT_REPORT.md` is a historical audit and proposed refactor, not +a pending instruction. Update `SERUMALT_SOURCES` and `SERUMALT_INCLUDE_DIRS` when +files move. ## Style and ownership diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d02306..b8a970c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,24 +19,24 @@ endif() add_subdirectory("${JUCE_ROOT}" "${CMAKE_CURRENT_BINARY_DIR}/third_party/JUCE") set(SERUMALT_SOURCES - Source/PluginProcessor.cpp - Source/PluginEditor.cpp - Source/Params.cpp - Source/Wavetable.cpp - Source/Oscillator.cpp - Source/SubOscillator.cpp - Source/NoiseOscillator.cpp - Source/Filter.cpp - Source/FilterBank.cpp - Source/Envelope.cpp - Source/LFO.cpp - Source/ModulationMatrix.cpp - Source/FXProcessor.cpp - Source/MacroControls.cpp - Source/RAVEButton.cpp - Source/SynthVoice.cpp - Source/Engine.cpp - Source/Resources.cpp + Source/Plugin/PluginProcessor.cpp + Source/GUI/PluginEditor.cpp + Source/Params/Params.cpp + Source/Synth/Wavetable.cpp + Source/Synth/Oscillator.cpp + Source/Synth/SubOscillator.cpp + Source/Synth/NoiseOscillator.cpp + Source/Synth/Filter.cpp + Source/Synth/FilterBank.cpp + Source/Synth/Envelope.cpp + Source/Synth/LFO.cpp + Source/Modulation/ModulationMatrix.cpp + Source/EffectUnits/FXProcessor.cpp + Source/Modulation/MacroControls.cpp + Source/Modulation/RAVEButton.cpp + Source/Synth/SynthVoice.cpp + Source/Engine/Engine.cpp + Source/Resources/Resources.cpp Source/EffectUnits/Hyper.cpp Source/EffectUnits/Chorus.cpp Source/EffectUnits/Flanger.cpp @@ -57,9 +57,25 @@ set(SERUMALT_SOURCES Source/GUI/Panel.cpp Source/Presets/FactoryPresets.cpp) +# One include directory per module, so a source names a header without a path +# prefix. No two headers in this tree share a basename. +set(SERUMALT_INCLUDE_DIRS + Source + Source/EffectUnits + Source/Engine + Source/GUI + Source/Modulation + Source/Params + Source/Plugin + Source/Presets + Source/Resources + Source/Synth + Source/Tests) + function(serumalt_configure_target target) juce_generate_juce_header(${target}) target_sources(${target} PRIVATE ${SERUMALT_SOURCES}) + target_include_directories(${target} PRIVATE ${SERUMALT_INCLUDE_DIRS}) target_compile_definitions(${target} PUBLIC JUCE_WEB_BROWSER=0 diff --git a/README.md b/README.md index 64db60a..0e0f310 100644 --- a/README.md +++ b/README.md @@ -27,28 +27,17 @@ working builds and hands-on listening over elaborate test infrastructure. ``` Source/ - PluginProcessor.{h,cpp} APVTS, presets, state, RAVE/UI-scale glue - PluginEditor.{h,cpp} Tabbed GUI, owned controls, scaling, previews - Params.{h,cpp} Parameter IDs, indexed groups, enums, mappings - Wavetable.{h,cpp} 256×2048 tables, prebuilt by the engine - Oscillator.{h,cpp} Morph/warp/unison oscillator - SubOscillator.{h,cpp} Sine/triangle sub - NoiseOscillator.{h,cpp} White/pink noise - Filter.{h,cpp} Seven filter models and cached coefficients - FilterBank.{h,cpp} Two slots and routing - Envelope.{h,cpp} ADSR with curve - LFO.{h,cpp} Continuous phase, sync and shape editing - ModulationMatrix.{h,cpp} Connections - FXProcessor.{h,cpp} Independent effect state per rack slot - EffectUnits/ Hyper, Chorus, Flanger, Phaser, Distortion, EQ, - Compressor, Delay, Reverb - MacroControls.{h,cpp} Four assignable macros - RAVEButton.{h,cpp} Render-time boost, without rewriting parameters - SynthVoice.{h,cpp} Per-voice oscillators, filters and envelopes - Engine.{h,cpp} 32 voices, MIDI timing, control snapshots, FX - GUI/ Controls and previews - Presets/FactoryPresets.cpp Factory preset definitions - Resources/ SVG assets + Engine/ Voice pool, MIDI timing, control snapshots, FX rack + Synth/ Wavetables, oscillators, filters, envelopes, LFOs, voice + Modulation/ Matrix, macros, RAVE + Params/ Parameter IDs, indexed groups, enums, mappings + Plugin/ AudioProcessor: APVTS, presets, state, RAVE/UI-scale glue + GUI/ Editor, controls and previews + EffectUnits/ FX rack and the nine effect units + Presets/ Factory preset definitions + Resources/ Theme, formatters and SVG assets + Tests/ Headless QA harness + ExactCompare.h Shared exact float comparison helpers ``` The engine splits rendering at MIDI event positions and into segments of at most diff --git a/Source/EffectUnits/AGENTS.md b/Source/EffectUnits/AGENTS.md index 60c5f0a..d42d17a 100644 --- a/Source/EffectUnits/AGENTS.md +++ b/Source/EffectUnits/AGENTS.md @@ -2,7 +2,7 @@ ## Owned files -- Related rack implementation: `../FXProcessor.h`, `../FXProcessor.cpp` +- FXProcessor.h, FXProcessor.cpp - Biquad.h - Hyper.h, Hyper.cpp - Chorus.h, Chorus.cpp @@ -27,7 +27,7 @@ ## IF-THEN - IF a unit needs a delay line THEN allocate it in `prepare()` at the full required length and only read and write it in `process`. -- Include the existing rack interface via `../FXProcessor.h`; no source relocation is implied by this guidance. +- Include the rack interface via `FXProcessor.h`. ## Examples diff --git a/Source/EffectUnits/Chorus.h b/Source/EffectUnits/Chorus.h index 415c6da..4982e62 100644 --- a/Source/EffectUnits/Chorus.h +++ b/Source/EffectUnits/Chorus.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" namespace serum { diff --git a/Source/EffectUnits/Compressor.h b/Source/EffectUnits/Compressor.h index 4353525..9ba7a29 100644 --- a/Source/EffectUnits/Compressor.h +++ b/Source/EffectUnits/Compressor.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" namespace serum { diff --git a/Source/EffectUnits/Delay.h b/Source/EffectUnits/Delay.h index e0fc23b..d1c5079 100644 --- a/Source/EffectUnits/Delay.h +++ b/Source/EffectUnits/Delay.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" namespace serum { diff --git a/Source/EffectUnits/Distortion.h b/Source/EffectUnits/Distortion.h index 8275c0b..923a283 100644 --- a/Source/EffectUnits/Distortion.h +++ b/Source/EffectUnits/Distortion.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" #include "Biquad.h" namespace serum diff --git a/Source/EffectUnits/EQ.h b/Source/EffectUnits/EQ.h index d5ca95e..5b9581e 100644 --- a/Source/EffectUnits/EQ.h +++ b/Source/EffectUnits/EQ.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" #include "Biquad.h" namespace serum diff --git a/Source/FXProcessor.cpp b/Source/EffectUnits/FXProcessor.cpp similarity index 100% rename from Source/FXProcessor.cpp rename to Source/EffectUnits/FXProcessor.cpp diff --git a/Source/FXProcessor.h b/Source/EffectUnits/FXProcessor.h similarity index 100% rename from Source/FXProcessor.h rename to Source/EffectUnits/FXProcessor.h diff --git a/Source/EffectUnits/Flanger.h b/Source/EffectUnits/Flanger.h index a16b325..0fbbae7 100644 --- a/Source/EffectUnits/Flanger.h +++ b/Source/EffectUnits/Flanger.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" namespace serum { diff --git a/Source/EffectUnits/Hyper.h b/Source/EffectUnits/Hyper.h index ac2d1e6..980a942 100644 --- a/Source/EffectUnits/Hyper.h +++ b/Source/EffectUnits/Hyper.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" #include "Biquad.h" namespace serum diff --git a/Source/EffectUnits/Phaser.h b/Source/EffectUnits/Phaser.h index 16737db..d8dc627 100644 --- a/Source/EffectUnits/Phaser.h +++ b/Source/EffectUnits/Phaser.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" namespace serum { diff --git a/Source/EffectUnits/Reverb.h b/Source/EffectUnits/Reverb.h index f0579f0..76c83dc 100644 --- a/Source/EffectUnits/Reverb.h +++ b/Source/EffectUnits/Reverb.h @@ -1,6 +1,6 @@ #pragma once -#include "../FXProcessor.h" +#include "FXProcessor.h" namespace serum { diff --git a/Source/engine/AGENTS.md b/Source/Engine/AGENTS.md similarity index 92% rename from Source/engine/AGENTS.md rename to Source/Engine/AGENTS.md index c7fd0c2..325d859 100644 --- a/Source/engine/AGENTS.md +++ b/Source/Engine/AGENTS.md @@ -1,9 +1,8 @@ # engine module -## Related source files +## Owned files -This directory contains guidance; the implementation remains in `../Engine.h` -and `../Engine.cpp`. +- Engine.h, Engine.cpp ## Rules diff --git a/Source/Engine.cpp b/Source/Engine/Engine.cpp similarity index 100% rename from Source/Engine.cpp rename to Source/Engine/Engine.cpp diff --git a/Source/Engine.h b/Source/Engine/Engine.h similarity index 100% rename from Source/Engine.h rename to Source/Engine/Engine.h diff --git a/Source/GUI/AGENTS.md b/Source/GUI/AGENTS.md index 91ff999..02d01f4 100644 --- a/Source/GUI/AGENTS.md +++ b/Source/GUI/AGENTS.md @@ -2,7 +2,7 @@ ## Owned files -- Related editor implementation: `../PluginEditor.h`, `../PluginEditor.cpp` +- PluginEditor.h, PluginEditor.cpp - Knob.h, Knob.cpp - KnobLookAndFeel.h, KnobLookAndFeel.cpp - ToggleButton.h, ToggleButton.cpp diff --git a/Source/GUI/Display.h b/Source/GUI/Display.h index 5ff9410..d577e95 100644 --- a/Source/GUI/Display.h +++ b/Source/GUI/Display.h @@ -1,7 +1,7 @@ #pragma once #include -#include "../Resources.h" +#include "Resources.h" namespace serum { diff --git a/Source/GUI/EnvelopeDisplay.cpp b/Source/GUI/EnvelopeDisplay.cpp index 53453f1..08256da 100644 --- a/Source/GUI/EnvelopeDisplay.cpp +++ b/Source/GUI/EnvelopeDisplay.cpp @@ -1,6 +1,6 @@ #include "EnvelopeDisplay.h" -#include "../Envelope.h" -#include "../ExactCompare.h" +#include "Envelope.h" +#include "ExactCompare.h" namespace serum { diff --git a/Source/GUI/EnvelopeDisplay.h b/Source/GUI/EnvelopeDisplay.h index 0d4b691..c18bd24 100644 --- a/Source/GUI/EnvelopeDisplay.h +++ b/Source/GUI/EnvelopeDisplay.h @@ -1,8 +1,8 @@ #pragma once #include -#include "../Resources.h" -#include "../Params.h" +#include "Resources.h" +#include "Params.h" namespace serum { diff --git a/Source/GUI/FilterDisplay.cpp b/Source/GUI/FilterDisplay.cpp index f1e2983..cfa7989 100644 --- a/Source/GUI/FilterDisplay.cpp +++ b/Source/GUI/FilterDisplay.cpp @@ -1,5 +1,5 @@ #include "FilterDisplay.h" -#include "../ExactCompare.h" +#include "ExactCompare.h" namespace serum { diff --git a/Source/GUI/FilterDisplay.h b/Source/GUI/FilterDisplay.h index a214d23..950d250 100644 --- a/Source/GUI/FilterDisplay.h +++ b/Source/GUI/FilterDisplay.h @@ -1,8 +1,8 @@ #pragma once #include -#include "../Resources.h" -#include "../Params.h" +#include "Resources.h" +#include "Params.h" namespace serum { diff --git a/Source/GUI/Knob.h b/Source/GUI/Knob.h index 3a450c3..f70f406 100644 --- a/Source/GUI/Knob.h +++ b/Source/GUI/Knob.h @@ -2,7 +2,7 @@ #include #include -#include "../Resources.h" +#include "Resources.h" #include "KnobLookAndFeel.h" namespace serum diff --git a/Source/GUI/KnobLookAndFeel.h b/Source/GUI/KnobLookAndFeel.h index 87c3442..ea892bd 100644 --- a/Source/GUI/KnobLookAndFeel.h +++ b/Source/GUI/KnobLookAndFeel.h @@ -1,7 +1,7 @@ #pragma once #include -#include "../Resources.h" +#include "Resources.h" namespace serum { diff --git a/Source/GUI/LFODisplay.cpp b/Source/GUI/LFODisplay.cpp index f97152e..b5a99a0 100644 --- a/Source/GUI/LFODisplay.cpp +++ b/Source/GUI/LFODisplay.cpp @@ -1,5 +1,5 @@ #include "LFODisplay.h" -#include "../ExactCompare.h" +#include "ExactCompare.h" namespace serum { diff --git a/Source/GUI/LFODisplay.h b/Source/GUI/LFODisplay.h index 1b50225..4a7e84a 100644 --- a/Source/GUI/LFODisplay.h +++ b/Source/GUI/LFODisplay.h @@ -1,9 +1,9 @@ #pragma once #include -#include "../Resources.h" -#include "../Params.h" -#include "../LFO.h" +#include "Resources.h" +#include "Params.h" +#include "LFO.h" namespace serum { diff --git a/Source/GUI/Panel.h b/Source/GUI/Panel.h index 5dea1a4..520252b 100644 --- a/Source/GUI/Panel.h +++ b/Source/GUI/Panel.h @@ -1,7 +1,7 @@ #pragma once #include -#include "../Resources.h" +#include "Resources.h" namespace serum { diff --git a/Source/PluginEditor.cpp b/Source/GUI/PluginEditor.cpp similarity index 100% rename from Source/PluginEditor.cpp rename to Source/GUI/PluginEditor.cpp diff --git a/Source/PluginEditor.h b/Source/GUI/PluginEditor.h similarity index 100% rename from Source/PluginEditor.h rename to Source/GUI/PluginEditor.h diff --git a/Source/GUI/ToggleButton.h b/Source/GUI/ToggleButton.h index 53752de..cebb5da 100644 --- a/Source/GUI/ToggleButton.h +++ b/Source/GUI/ToggleButton.h @@ -1,7 +1,7 @@ #pragma once #include -#include "../Resources.h" +#include "Resources.h" namespace serum { diff --git a/Source/GUI/WaveformDisplay.h b/Source/GUI/WaveformDisplay.h index c894baf..b8d0676 100644 --- a/Source/GUI/WaveformDisplay.h +++ b/Source/GUI/WaveformDisplay.h @@ -1,9 +1,9 @@ #pragma once #include -#include "../ExactCompare.h" -#include "../Resources.h" -#include "../Wavetable.h" +#include "ExactCompare.h" +#include "Resources.h" +#include "Wavetable.h" namespace serum { diff --git a/Source/modulation/AGENTS.md b/Source/Modulation/AGENTS.md similarity index 81% rename from Source/modulation/AGENTS.md rename to Source/Modulation/AGENTS.md index 45bcb8d..77a2b6e 100644 --- a/Source/modulation/AGENTS.md +++ b/Source/Modulation/AGENTS.md @@ -1,13 +1,10 @@ # modulation module -## Related source files +## Owned files -This directory contains guidance; implementations remain in the parent `Source/` -directory: - -- `../ModulationMatrix.h`, `../ModulationMatrix.cpp` -- `../MacroControls.h`, `../MacroControls.cpp` -- `../RAVEButton.h`, `../RAVEButton.cpp`, which define `RaveController` +- ModulationMatrix.h, ModulationMatrix.cpp +- MacroControls.h, MacroControls.cpp +- RAVEButton.h, RAVEButton.cpp, which define `RaveController` ## Rules diff --git a/Source/MacroControls.cpp b/Source/Modulation/MacroControls.cpp similarity index 100% rename from Source/MacroControls.cpp rename to Source/Modulation/MacroControls.cpp diff --git a/Source/MacroControls.h b/Source/Modulation/MacroControls.h similarity index 100% rename from Source/MacroControls.h rename to Source/Modulation/MacroControls.h diff --git a/Source/ModulationMatrix.cpp b/Source/Modulation/ModulationMatrix.cpp similarity index 100% rename from Source/ModulationMatrix.cpp rename to Source/Modulation/ModulationMatrix.cpp diff --git a/Source/ModulationMatrix.h b/Source/Modulation/ModulationMatrix.h similarity index 100% rename from Source/ModulationMatrix.h rename to Source/Modulation/ModulationMatrix.h diff --git a/Source/RAVEButton.cpp b/Source/Modulation/RAVEButton.cpp similarity index 100% rename from Source/RAVEButton.cpp rename to Source/Modulation/RAVEButton.cpp diff --git a/Source/RAVEButton.h b/Source/Modulation/RAVEButton.h similarity index 100% rename from Source/RAVEButton.h rename to Source/Modulation/RAVEButton.h diff --git a/Source/params/AGENTS.md b/Source/Params/AGENTS.md similarity index 87% rename from Source/params/AGENTS.md rename to Source/Params/AGENTS.md index d7eaceb..206aa1f 100644 --- a/Source/params/AGENTS.md +++ b/Source/Params/AGENTS.md @@ -1,15 +1,14 @@ # params module -## Related source files +## Owned files -This directory contains guidance; the implementation remains in `../Params.h` -and `../Params.cpp`. +- Params.h, Params.cpp ## Rules - Use the `ids::` namespace for every APVTS parameter ID string. - Require one `ids::` entry per audio parameter, and one entry only. -- Reach indexed parameters through the `paramIds::` arrays in `../Params.h`, which pair each +- Reach indexed parameters through the `paramIds::` arrays in `Params.h`, which pair each ID with its slot: `paramIds::oscillators`, `paramIds::envAttack`, `paramIds::lfoRate`, `paramIds::fxType`, `paramIds::macros` and their siblings. Use a single `ids::` entry only when the parameter has no index. diff --git a/Source/Params.cpp b/Source/Params/Params.cpp similarity index 100% rename from Source/Params.cpp rename to Source/Params/Params.cpp diff --git a/Source/Params.h b/Source/Params/Params.h similarity index 100% rename from Source/Params.h rename to Source/Params/Params.h diff --git a/Source/plugin/AGENTS.md b/Source/Plugin/AGENTS.md similarity index 91% rename from Source/plugin/AGENTS.md rename to Source/Plugin/AGENTS.md index 93c7de8..2ada7cb 100644 --- a/Source/plugin/AGENTS.md +++ b/Source/Plugin/AGENTS.md @@ -1,9 +1,8 @@ # plugin module -## Related source files +## Owned files -This directory contains guidance; the implementation remains in -`../PluginProcessor.h` and `../PluginProcessor.cpp`. +- PluginProcessor.h, PluginProcessor.cpp ## Rules diff --git a/Source/PluginProcessor.cpp b/Source/Plugin/PluginProcessor.cpp similarity index 100% rename from Source/PluginProcessor.cpp rename to Source/Plugin/PluginProcessor.cpp diff --git a/Source/PluginProcessor.h b/Source/Plugin/PluginProcessor.h similarity index 100% rename from Source/PluginProcessor.h rename to Source/Plugin/PluginProcessor.h diff --git a/Source/Presets/FactoryPresets.h b/Source/Presets/FactoryPresets.h index e60f2f1..c86d3d5 100644 --- a/Source/Presets/FactoryPresets.h +++ b/Source/Presets/FactoryPresets.h @@ -1,8 +1,8 @@ #pragma once #include -#include "../Params.h" -#include "../ModulationMatrix.h" +#include "Params.h" +#include "ModulationMatrix.h" namespace serum { diff --git a/Source/Resources/AGENTS.md b/Source/Resources/AGENTS.md index bc7bb1a..17a4e21 100644 --- a/Source/Resources/AGENTS.md +++ b/Source/Resources/AGENTS.md @@ -2,7 +2,7 @@ ## Owned files -- Related embedded assets and helpers: `../Resources.h`, `../Resources.cpp` +- Resources.h, Resources.cpp - logo.svg - background.svg diff --git a/Source/Resources.cpp b/Source/Resources/Resources.cpp similarity index 100% rename from Source/Resources.cpp rename to Source/Resources/Resources.cpp diff --git a/Source/Resources.h b/Source/Resources/Resources.h similarity index 100% rename from Source/Resources.h rename to Source/Resources/Resources.h diff --git a/Source/synth/AGENTS.md b/Source/Synth/AGENTS.md similarity index 93% rename from Source/synth/AGENTS.md rename to Source/Synth/AGENTS.md index 033a3f0..83c5eb0 100644 --- a/Source/synth/AGENTS.md +++ b/Source/Synth/AGENTS.md @@ -1,9 +1,6 @@ # synth module -## Related source files - -This directory contains guidance. All files listed below remain in the parent -`Source/` directory. +## Owned files - Wavetable.h, Wavetable.cpp - Oscillator.h, Oscillator.cpp diff --git a/Source/Envelope.cpp b/Source/Synth/Envelope.cpp similarity index 100% rename from Source/Envelope.cpp rename to Source/Synth/Envelope.cpp diff --git a/Source/Envelope.h b/Source/Synth/Envelope.h similarity index 100% rename from Source/Envelope.h rename to Source/Synth/Envelope.h diff --git a/Source/Filter.cpp b/Source/Synth/Filter.cpp similarity index 100% rename from Source/Filter.cpp rename to Source/Synth/Filter.cpp diff --git a/Source/Filter.h b/Source/Synth/Filter.h similarity index 100% rename from Source/Filter.h rename to Source/Synth/Filter.h diff --git a/Source/FilterBank.cpp b/Source/Synth/FilterBank.cpp similarity index 100% rename from Source/FilterBank.cpp rename to Source/Synth/FilterBank.cpp diff --git a/Source/FilterBank.h b/Source/Synth/FilterBank.h similarity index 100% rename from Source/FilterBank.h rename to Source/Synth/FilterBank.h diff --git a/Source/LFO.cpp b/Source/Synth/LFO.cpp similarity index 100% rename from Source/LFO.cpp rename to Source/Synth/LFO.cpp diff --git a/Source/LFO.h b/Source/Synth/LFO.h similarity index 100% rename from Source/LFO.h rename to Source/Synth/LFO.h diff --git a/Source/NoiseOscillator.cpp b/Source/Synth/NoiseOscillator.cpp similarity index 100% rename from Source/NoiseOscillator.cpp rename to Source/Synth/NoiseOscillator.cpp diff --git a/Source/NoiseOscillator.h b/Source/Synth/NoiseOscillator.h similarity index 100% rename from Source/NoiseOscillator.h rename to Source/Synth/NoiseOscillator.h diff --git a/Source/Oscillator.cpp b/Source/Synth/Oscillator.cpp similarity index 100% rename from Source/Oscillator.cpp rename to Source/Synth/Oscillator.cpp diff --git a/Source/Oscillator.h b/Source/Synth/Oscillator.h similarity index 100% rename from Source/Oscillator.h rename to Source/Synth/Oscillator.h diff --git a/Source/SubOscillator.cpp b/Source/Synth/SubOscillator.cpp similarity index 100% rename from Source/SubOscillator.cpp rename to Source/Synth/SubOscillator.cpp diff --git a/Source/SubOscillator.h b/Source/Synth/SubOscillator.h similarity index 100% rename from Source/SubOscillator.h rename to Source/Synth/SubOscillator.h diff --git a/Source/SynthVoice.cpp b/Source/Synth/SynthVoice.cpp similarity index 100% rename from Source/SynthVoice.cpp rename to Source/Synth/SynthVoice.cpp diff --git a/Source/SynthVoice.h b/Source/Synth/SynthVoice.h similarity index 100% rename from Source/SynthVoice.h rename to Source/Synth/SynthVoice.h diff --git a/Source/Wavetable.cpp b/Source/Synth/Wavetable.cpp similarity index 100% rename from Source/Wavetable.cpp rename to Source/Synth/Wavetable.cpp diff --git a/Source/Wavetable.h b/Source/Synth/Wavetable.h similarity index 100% rename from Source/Wavetable.h rename to Source/Synth/Wavetable.h diff --git a/Source/Tests/TestMain.cpp b/Source/Tests/TestMain.cpp index a2954b4..19b01fe 100644 --- a/Source/Tests/TestMain.cpp +++ b/Source/Tests/TestMain.cpp @@ -1,7 +1,7 @@ #include #include #include -#include "../PluginProcessor.h" +#include "PluginProcessor.h" // =========================================================================== // Headless QA harness: instantiates the processor, plays notes through every