lmms
Cross-platform music production software
Loading...
Searching...
No Matches
lmms::LOMMEffect Class Reference

#include <LOMM.h>

Inheritance diagram for lmms::LOMMEffect:
lmms::Effect lmms::Plugin lmms::Model lmms::JournallingObject lmms::SerializingObject

Public Member Functions

 LOMMEffect (Model *parent, const Descriptor::SubPluginFeatures::Key *key)
 ~LOMMEffect () override=default
ProcessStatus processImpl (SampleFrame *buf, const f_cnt_t frames) override
EffectControls * controls () override
float msToCoeff (float ms)
Public Member Functions inherited from lmms::Effect
 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
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 ()

Private Slots

void changeSampleRate ()

Private Attributes

LOMMControls m_lommControls
float m_sampleRate
StereoLinkwitzRiley m_lp1
StereoLinkwitzRiley m_lp2
StereoLinkwitzRiley m_hp1
StereoLinkwitzRiley m_hp2
BasicFilters< 2 > m_ap
bool m_needsUpdate
float m_coeffPrecalc
std::array< std::array< float, 2 >, 3 > m_yL
std::array< std::array< float, 2 >, 3 > m_rms
std::array< std::array< float, 2 >, 3 > m_gainResult
std::array< std::array< float, 2 >, 3 > m_displayIn
std::array< std::array< float, 2 >, 3 > m_displayOut
std::array< float, 2 > m_crestPeakVal
std::array< float, 2 > m_crestRmsVal
std::array< float, 2 > m_crestFactorVal
float m_crestTimeConst = 0.0f
std::array< std::array< float, 2 >, 3 > m_prevOut
std::array< std::array< std::vector< float >, 2 >, 3 > m_inLookBuf
std::array< std::array< std::vector< float >, 2 >, 3 > m_scLookBuf
int m_lookWrite = 0
int m_lookBufLength = 0

Friends

class LOMMControls
class gui::LOMMControlDialog

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 ()
Static Public Member Functions inherited from lmms::Effect
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 inherited from lmms::Effect
enum class  ProcessStatus { Continue , ContinueIfNotQuiet , Sleep }
Protected Member Functions inherited from lmms::Effect
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)

Constructor & Destructor Documentation

◆ LOMMEffect()

lmms::LOMMEffect::LOMMEffect ( Model * parent,
const Descriptor::SubPluginFeatures::Key * key )

◆ ~LOMMEffect()

lmms::LOMMEffect::~LOMMEffect ( )
overridedefault

Member Function Documentation

◆ changeSampleRate

void lmms::LOMMEffect::changeSampleRate ( )
privateslot

◆ controls()

EffectControls * lmms::LOMMEffect::controls ( )
inlineoverridevirtual

Implements lmms::Effect.

◆ msToCoeff()

float lmms::LOMMEffect::msToCoeff ( float ms)
inline

◆ processImpl()

Effect::ProcessStatus lmms::LOMMEffect::processImpl ( SampleFrame * buf,
const f_cnt_t frames )
overridevirtual

The main audio processing method that runs when plugin is awake and running

Implements lmms::Effect.

◆ gui::LOMMControlDialog

friend class gui::LOMMControlDialog
friend

◆ LOMMControls

friend class LOMMControls
friend

Member Data Documentation

◆ m_ap

BasicFilters<2> lmms::LOMMEffect::m_ap
private

◆ m_coeffPrecalc

float lmms::LOMMEffect::m_coeffPrecalc
private

◆ m_crestFactorVal

std::array<float, 2> lmms::LOMMEffect::m_crestFactorVal
private

◆ m_crestPeakVal

std::array<float, 2> lmms::LOMMEffect::m_crestPeakVal
private

◆ m_crestRmsVal

std::array<float, 2> lmms::LOMMEffect::m_crestRmsVal
private

◆ m_crestTimeConst

float lmms::LOMMEffect::m_crestTimeConst = 0.0f
private

◆ m_displayIn

std::array<std::array<float, 2>, 3> lmms::LOMMEffect::m_displayIn
private

◆ m_displayOut

std::array<std::array<float, 2>, 3> lmms::LOMMEffect::m_displayOut
private

◆ m_gainResult

std::array<std::array<float, 2>, 3> lmms::LOMMEffect::m_gainResult
private

◆ m_hp1

StereoLinkwitzRiley lmms::LOMMEffect::m_hp1
private

◆ m_hp2

StereoLinkwitzRiley lmms::LOMMEffect::m_hp2
private

◆ m_inLookBuf

std::array<std::array<std::vector<float>, 2>, 3> lmms::LOMMEffect::m_inLookBuf
private

◆ m_lommControls

LOMMControls lmms::LOMMEffect::m_lommControls
private

◆ m_lookBufLength

int lmms::LOMMEffect::m_lookBufLength = 0
private

◆ m_lookWrite

int lmms::LOMMEffect::m_lookWrite = 0
private

◆ m_lp1

StereoLinkwitzRiley lmms::LOMMEffect::m_lp1
private

◆ m_lp2

StereoLinkwitzRiley lmms::LOMMEffect::m_lp2
private

◆ m_needsUpdate

bool lmms::LOMMEffect::m_needsUpdate
private

◆ m_prevOut

std::array<std::array<float, 2>, 3> lmms::LOMMEffect::m_prevOut
private

◆ m_rms

std::array<std::array<float, 2>, 3> lmms::LOMMEffect::m_rms
private

◆ m_sampleRate

float lmms::LOMMEffect::m_sampleRate
private

◆ m_scLookBuf

std::array<std::array<std::vector<float>, 2>, 3> lmms::LOMMEffect::m_scLookBuf
private

◆ m_yL

std::array<std::array<float, 2>, 3> lmms::LOMMEffect::m_yL
private

The documentation for this class was generated from the following files: