LMMS
Loading...
Searching...
No Matches
lmms::LadspaEffect Class Reference

#include <LadspaEffect.h>

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

Public Member Functions

 LadspaEffect (Model *_parent, const Descriptor::SubPluginFeatures::Key *_key)
 ~LadspaEffect () override
ProcessStatus processImpl (SampleFrame *buf, const f_cnt_t frames) override
void setControl (int _control, LADSPA_Data _data)
EffectControlscontrols () override
const multi_proc_tgetPortControls ()
ch_cnt_t processorCount () const
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 Member Functions

void pluginInstantiation ()
void pluginDestruction ()

Static Private Member Functions

static sample_rate_t maxSamplerate (const QString &_name)

Private Attributes

QMutex m_pluginMutex
LadspaControlsm_controls
ladspa_key_t m_key
int m_portCount
bool m_inPlaceBroken
const LADSPA_Descriptorm_descriptor
QVector< LADSPA_Handlem_handles
QVector< multi_proc_tm_ports
multi_proc_t m_portControls
ch_cnt_t m_processors = 1

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

◆ LadspaEffect()

lmms::LadspaEffect::LadspaEffect ( Model * _parent,
const Descriptor::SubPluginFeatures::Key * _key )

◆ ~LadspaEffect()

lmms::LadspaEffect::~LadspaEffect ( )
override

Member Function Documentation

◆ changeSampleRate

void lmms::LadspaEffect::changeSampleRate ( )
privateslot

◆ controls()

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

Implements lmms::Effect.

◆ getPortControls()

const multi_proc_t & lmms::LadspaEffect::getPortControls ( )
inline

◆ maxSamplerate()

sample_rate_t lmms::LadspaEffect::maxSamplerate ( const QString & _name)
staticprivate

◆ pluginDestruction()

void lmms::LadspaEffect::pluginDestruction ( )
private

◆ pluginInstantiation()

void lmms::LadspaEffect::pluginInstantiation ( )
private

◆ processImpl()

Effect::ProcessStatus lmms::LadspaEffect::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.

◆ processorCount()

ch_cnt_t lmms::LadspaEffect::processorCount ( ) const
inline

◆ setControl()

void lmms::LadspaEffect::setControl ( int _control,
LADSPA_Data _data )

Member Data Documentation

◆ m_controls

LadspaControls* lmms::LadspaEffect::m_controls
private

◆ m_descriptor

const LADSPA_Descriptor* lmms::LadspaEffect::m_descriptor
private

◆ m_handles

QVector<LADSPA_Handle> lmms::LadspaEffect::m_handles
private

◆ m_inPlaceBroken

bool lmms::LadspaEffect::m_inPlaceBroken
private

◆ m_key

ladspa_key_t lmms::LadspaEffect::m_key
private

◆ m_pluginMutex

QMutex lmms::LadspaEffect::m_pluginMutex
private

◆ m_portControls

multi_proc_t lmms::LadspaEffect::m_portControls
private

◆ m_portCount

int lmms::LadspaEffect::m_portCount
private

◆ m_ports

QVector<multi_proc_t> lmms::LadspaEffect::m_ports
private

◆ m_processors

ch_cnt_t lmms::LadspaEffect::m_processors = 1
private

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