LMMS
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
EffectControlscontrols () 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 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
TempoSyncKnobModelautoQuitModel ()
bool autoQuitEnabled () const
EffectChaineffectChain () const
Public Member Functions inherited from lmms::Plugin
 Plugin (const Descriptor *descriptor, Model *parent, const Descriptor::SubPluginFeatures::Key *key=nullptr)
 ~Plugin () override=default
QString displayName () const override
 Return display-name out of sub plugin or descriptor.
const PixmapLoaderlogo () const
 Return logo out of sub plugin or descriptor.
Type type () const
 Return plugin type.
const Descriptordescriptor () const
 Return plugin Descriptor.
const Descriptor::SubPluginFeatures::Keykey () const
virtual void loadFile (const QString &file)
virtual AutomatableModelchildModel (const QString &modelName)
gui::PluginViewcreateView (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
ModelparentModel () 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)
SerializingObjectHookhook ()

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 Effectinstantiate (const QString &_plugin_name, Model *_parent, Descriptor::SubPluginFeatures::Key *_key)
Static Public Member Functions inherited from lmms::Plugin
static PlugininstantiateWithKey (const QString &pluginName, Model *parent, const Descriptor::SubPluginFeatures::Key *key, bool keyFromDnd=false)
static Plugininstantiate (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::PluginViewinstantiateView (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: