Remove the Gate knob from effects (#8011)

Major changes:
- Remove Gate knob from effects, effectively hard coding its value to zero
- Replace effect RMS calculations with a more efficient way of detecting silent buffers
- Only perform silent buffer detection when `ProcessStatus::ContinueIfNotQuiet` is returned from a plugin AND auto-quit is enabled

Minor changes:
- Remove gate from presets
- Remove gate from .mmp projects
- Move `Effect::processorCount()` to `LadspaEffect`
- Rename `Effect::checkGate` to `Effect::handleAutoQuit`
- Adjust silence threshold for better compatibility with old RMS calculations
- Remove some unnecessary methods from `Effect`
- Reset quiet buffer count in `stopRunning`
- Use positive name for auto-quit boolean
- Simplify `m_autoQuitEnabled` initialization
This commit is contained in:
Dalton Messmer
2025-07-22 17:01:48 -04:00
committed by GitHub
parent 71ce49d7ba
commit c86fe784c7
68 changed files with 218 additions and 236 deletions

View File

@@ -279,7 +279,7 @@ void LadspaEffect::pluginInstantiation()
// Calculate how many processing units are needed.
int effect_channels = manager->getDescription( m_key )->inputChannels;
setProcessorCount(DEFAULT_CHANNELS / effect_channels);
m_processors = DEFAULT_CHANNELS / effect_channels;
// get inPlaceBroken property
m_inPlaceBroken = manager->isInplaceBroken( m_key );

View File

@@ -61,6 +61,10 @@ public:
return m_portControls;
}
ch_cnt_t processorCount() const
{
return m_processors;
}
private slots:
void changeSampleRate();
@@ -87,7 +91,8 @@ private:
QVector<multi_proc_t> m_ports;
multi_proc_t m_portControls;
} ;
ch_cnt_t m_processors = 1;
};
} // namespace lmms