|
lmms
Cross-platform music production software
|
#include <Effect.h>
Public Member Functions | |
| Effect (const Plugin::Descriptor *_desc, Model *_parent, const Descriptor::SubPluginFeatures::Key *_key) | |
| void | saveSettings (QDomDocument &_doc, QDomElement &_parent) override |
| void | loadSettings (const QDomElement &_this) override |
| QString | nodeName () const override |
| bool | processAudioBuffer (AudioBuffer &inOut) |
| Returns true if audio was processed and should continue being processed. | |
| bool | isOkay () const |
| void | setOkay (bool _state) |
| bool | isCorrupted () const |
| bool | isAwake () const |
| "Awake" means the effect has not been put to sleep by auto-quit | |
| bool | isEnabled () const |
| f_cnt_t | timeout () const |
| float | wetLevel () const |
| float | dryLevel () const |
| bool | dontRun () const |
| void | setDontRun (bool _state) |
| bool | isProcessingAudio () const |
| TempoSyncKnobModel * | autoQuitModel () |
| bool | autoQuitEnabled () const |
| EffectChain * | effectChain () const |
| virtual EffectControls * | controls ()=0 |
| Public Member Functions inherited from lmms::Plugin | |
| Plugin (const Descriptor *descriptor, Model *parent, const Descriptor::SubPluginFeatures::Key *key=nullptr) | |
| Constructor of a plugin. | |
| ~Plugin () override=default | |
| QString | displayName () const override |
| Return display-name out of sub plugin or descriptor. | |
| const PixmapLoader * | logo () const |
| Return logo out of sub plugin or descriptor. | |
| Type | type () const |
| Return plugin type. | |
| const Descriptor * | descriptor () const |
| Return plugin Descriptor. | |
| const Descriptor::SubPluginFeatures::Key & | key () const |
| virtual void | loadFile (const QString &file) |
| gui::PluginView * | createView (QWidget *parent) |
| Create a view for the model. | |
| Public Member Functions inherited from lmms::Model | |
| Model (Model *parent, QString displayName=QString(), bool defaultConstructed=false) | |
| ~Model () override=default | |
| bool | isDefaultConstructed () const |
| Model * | parentModel () const |
| virtual void | setDisplayName (const QString &displayName) |
| virtual QString | fullDisplayName () const |
| Public Member Functions inherited from lmms::JournallingObject | |
| JournallingObject () | |
| ~JournallingObject () override | |
| jo_id_t | id () const |
| void | saveJournallingState (const bool newState) |
| void | restoreJournallingState () |
| void | addJournalCheckPoint () |
| QDomElement | saveState (QDomDocument &_doc, QDomElement &_parent) override |
| void | restoreState (const QDomElement &_this) override |
| bool | isJournalling () const |
| void | setJournalling (const bool _sr) |
| bool | testAndSetJournalling (const bool newState) |
| bool | isJournallingStateStackEmpty () const |
| Public Member Functions inherited from lmms::SerializingObject | |
| SerializingObject () | |
| virtual | ~SerializingObject () |
| void | setHook (SerializingObjectHook *_hook) |
| SerializingObjectHook * | hook () |
Static Public Member Functions | |
| static Effect * | instantiate (const QString &_plugin_name, Model *_parent, Descriptor::SubPluginFeatures::Key *_key) |
| Static Public Member Functions inherited from lmms::Plugin | |
| static Plugin * | instantiateWithKey (const QString &pluginName, Model *parent, const Descriptor::SubPluginFeatures::Key *key, bool keyFromDnd=false) |
| static Plugin * | instantiate (const QString &pluginName, Model *parent, void *data) |
Protected Types | |
| enum class | ProcessStatus { Continue , ContinueIfNotQuiet , Sleep } |
Protected Member Functions | |
| virtual ProcessStatus | processImpl (SampleFrame *buf, const f_cnt_t frames)=0 |
| virtual void | processBypassedImpl () |
| gui::PluginView * | instantiateView (QWidget *) override |
| Create a view for the model. | |
| void | goToSleep () |
| void | wakeUp () |
| virtual void | onEnabledChanged () |
| Protected Member Functions inherited from lmms::Plugin | |
| void | collectErrorForUI (QString errMsg) |
| Protected Member Functions inherited from lmms::JournallingObject | |
| void | changeID (jo_id_t _id) |
Private Member Functions | |
| void | handleAutoQuit (bool silentOutput) |
Private Attributes | |
| EffectChain * | m_parent |
| bool | m_okay |
| bool | m_noRun |
| bool | m_awake |
| std::atomic< bool > | m_corrupted = false |
| f_cnt_t | m_quietBufferCount = 0 |
| The number of consecutive periods where output buffers remain below the silence threshold. | |
| BoolModel | m_enabledModel |
| FloatModel | m_wetDryModel |
| TempoSyncKnobModel | m_autoQuitModel |
| bool | m_autoQuitEnabled = false |
Friends | |
| class | gui::EffectView |
| class | EffectChain |
Additional Inherited Members | |
| Public Types inherited from lmms::Plugin | |
| enum class | Type { Instrument , Effect , ImportFilter , ExportFilter , Tool , Library , Other , Undefined = 255 } |
| using | DescriptorList = QList<Descriptor*> |
| Signals inherited from lmms::Model | |
| void | dataChanged () |
| void | dataUnchanged () |
| void | propertiesChanged () |
|
strongprotected |
| lmms::Effect::Effect | ( | const Plugin::Descriptor * | _desc, |
| Model * | _parent, | ||
| const Descriptor::SubPluginFeatures::Key * | _key ) |
|
inline |
|
inline |
|
pure virtual |
Implemented in lmms::AmplifierEffect, lmms::Analyzer, lmms::BassBoosterEffect, lmms::BitcrushEffect, lmms::CompressorEffect, lmms::CrossoverEQEffect, lmms::DelayEffect, lmms::DispersionEffect, lmms::DualFilterEffect, lmms::DummyEffect, lmms::DynProcEffect, lmms::EqEffect, lmms::FlangerEffect, lmms::FrequencyShifterEffect, lmms::GranularPitchShifterEffect, lmms::LadspaEffect, lmms::LOMMEffect, lmms::Lv2Effect, lmms::MultitapEchoEffect, lmms::Oscilloscope, lmms::PeakControllerEffect, lmms::ReverbSCEffect, lmms::SlewDistortion, lmms::StereoEnhancerEffect, lmms::StereoMatrixEffect, lmms::Vectorscope, lmms::VstEffect, and lmms::WaveShaperEffect.
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
private |
If auto-quit is enabled ("Keep effects running even without input" setting is disabled), after "decay" ms of the output buffer remaining below the silence threshold, the effect is turned off and won't be processed again until it receives new audio input.
|
static |
|
overrideprotectedvirtual |
Create a view for the model.
Implements lmms::Plugin.
|
inline |
"Awake" means the effect has not been put to sleep by auto-quit
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Implements lmms::SerializingObject.
|
inlineoverridevirtual |
Implements lmms::SerializingObject.
|
inlineprotectedvirtual |
Reimplemented in lmms::DualFilterEffect.
| bool lmms::Effect::processAudioBuffer | ( | AudioBuffer & | inOut | ) |
Returns true if audio was processed and should continue being processed.
|
inlineprotectedvirtual |
Optional method that runs instead of processImpl when an effect is awake but not running.
Reimplemented in lmms::CompressorEffect, lmms::DynProcEffect, and lmms::StereoEnhancerEffect.
|
protectedpure virtual |
The main audio processing method that runs when plugin is awake and running
Implemented in lmms::AmplifierEffect, lmms::Analyzer, lmms::BassBoosterEffect, lmms::BitcrushEffect, lmms::CompressorEffect, lmms::CrossoverEQEffect, lmms::DelayEffect, lmms::DispersionEffect, lmms::DualFilterEffect, lmms::DummyEffect, lmms::DynProcEffect, lmms::EqEffect, lmms::FlangerEffect, lmms::FrequencyShifterEffect, lmms::GranularPitchShifterEffect, lmms::LadspaEffect, lmms::LOMMEffect, lmms::Lv2Effect, lmms::MultitapEchoEffect, lmms::Oscilloscope, lmms::PeakControllerEffect, lmms::ReverbSCEffect, lmms::SlewDistortion, lmms::StereoEnhancerEffect, lmms::StereoMatrixEffect, lmms::Vectorscope, lmms::VstEffect, and lmms::WaveShaperEffect.
|
overridevirtual |
Implements lmms::SerializingObject.
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
|
friend |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
The number of consecutive periods where output buffers remain below the silence threshold.
|
private |