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
+15
-6
@@ -56,16 +56,30 @@ void Engine::reset()
|
||||
fx.reset();
|
||||
pitchBend = 0.0f;
|
||||
modWheel = 0.0f;
|
||||
activeVoiceCount.store (0, std::memory_order_relaxed);
|
||||
mixBuffer.clear();
|
||||
}
|
||||
|
||||
void Engine::requestReset() noexcept
|
||||
{
|
||||
const juce::ScopedLock lock (controlLock);
|
||||
resetRequested = true;
|
||||
}
|
||||
|
||||
void Engine::captureControls()
|
||||
{
|
||||
const juce::ScopedTryLock lock (controlLock);
|
||||
if (! lock.isLocked())
|
||||
return;
|
||||
|
||||
// A preset change asks for a clean start. reset() runs here, on the audio
|
||||
// thread, because the message thread must never touch the voice, filter or
|
||||
// FX state the render is reading.
|
||||
if (resetRequested)
|
||||
{
|
||||
resetRequested = false;
|
||||
reset();
|
||||
}
|
||||
|
||||
audioMatrix.connections.assign (matrix.connections.begin(),
|
||||
matrix.connections.begin() + juce::jmin (matrix.size(), ModulationMatrix::kMaxConnections));
|
||||
for (int i = 0; i < kNumMacros; ++i)
|
||||
@@ -356,11 +370,6 @@ void Engine::processBlock (juce::AudioBuffer<float>& buffer, juce::MidiBuffer& m
|
||||
modWheel = message.getControllerValue() / 127.0f;
|
||||
}
|
||||
renderUntil (n);
|
||||
|
||||
int active = 0;
|
||||
for (const auto& voice : voices)
|
||||
active += voice.isActive() ? 1 : 0;
|
||||
activeVoiceCount.store (active, std::memory_order_relaxed);
|
||||
}
|
||||
|
||||
} // namespace serum
|
||||
Reference in new issue
Block a user