refactor(source): move every implementation into its module directory

- 36 files move into the module whose AGENTS.md already claimed them:
  Engine/, Synth/, Modulation/, Params/, Plugin/, GUI/, EffectUnits/, Resources/
- Source/engine, modulation, params, plugin and synth become Engine,
  Modulation, Params, Plugin and Synth, matching the directories that already
  hold code
- ExactCompare.h stays at the Source/ root as the one shared header
- SERUMALT_INCLUDE_DIRS adds one include directory per module, so the 31
  parent-relative includes become plain names with no path prefix
- the module AGENTS.md files list owned files instead of describing a move
  that had not happened, and README.md and AGENTS.md describe the real tree

Verified: the harness passes CTest, the Linux VST3 and Standalone link, the
Windows cross-build passes its module checks, each configure exposes only its
own targets, no first-party warning line appears, and the generated Windows
manifest is unchanged.
This commit is contained in:
biggy committed 2026-10-06 09:17:49 +02:00
1 parent facd5c5b5e
commit 4b0db50271
70 files changed
+115 -111

No files matched your search

+34 -18
View File
@@ -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