chore: land janitor round 1 and graft integration
Round 1 findings and fixes, all previously uncommitted: - FXProcessor per-slot DSP history repair (HEAD does not compile without it) - SynthVoice::getModulationValue, editor control-lock guard - ExactCompare.h naming the deliberate exact float comparisons - KnobLookAndFeel replacing the never-installed SerumLookAndFeel - 55 first-party compiler warnings to 0 - AGENT.md renamed to AGENTS.md across Source/ - graft repository context graph and its hooks - JANITOR_TASKS.md and UI_UX_AUDIT.md records
This commit is contained in:
1 parent
5c942cad0c
commit
e4cea300db
63 files changed
+2360
-805
No files matched your search
+7
-3
@@ -25,6 +25,12 @@ public:
|
||||
void prepare (double sampleRate, int blockSize, juce::AudioProcessorValueTreeState& apvts);
|
||||
void reset();
|
||||
|
||||
// Ask for the DSP state to be cleared before the next block is rendered.
|
||||
// Safe to call from the message thread while controlLock is held: the audio
|
||||
// thread performs the reset in captureControls, so the DSP objects are only
|
||||
// ever touched by the audio thread.
|
||||
void requestReset() noexcept;
|
||||
|
||||
void processBlock (juce::AudioBuffer<float>& buffer,
|
||||
juce::MidiBuffer& midi,
|
||||
juce::AudioProcessorValueTreeState& apvts,
|
||||
@@ -43,8 +49,6 @@ public:
|
||||
const WavetableLibrary& getWavetables() const { return wavetables; }
|
||||
void setLfoShapeData (int index, const std::vector<float>& data, int steps);
|
||||
|
||||
int getActiveVoiceCount() const { return activeVoiceCount.load (std::memory_order_relaxed); }
|
||||
|
||||
private:
|
||||
std::array<SynthVoice, kNumVoices> voices;
|
||||
std::array<LFO, kNumLfos> lfos, controlLfos;
|
||||
@@ -53,6 +57,7 @@ private:
|
||||
ModulationMatrix matrix, audioMatrix;
|
||||
MacroControls macros, audioMacros;
|
||||
juce::CriticalSection controlLock;
|
||||
bool resetRequested = false; // guarded by controlLock
|
||||
|
||||
struct ParameterValue
|
||||
{
|
||||
@@ -67,7 +72,6 @@ private:
|
||||
float pitchBend = 0.0f;
|
||||
float modWheel = 0.0f;
|
||||
juce::uint64 noteCounter = 0;
|
||||
std::atomic<int> activeVoiceCount { 0 };
|
||||
|
||||
juce::AudioBuffer<float> mixBuffer;
|
||||
|
||||
|
||||
Reference in new issue
Block a user