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

#include <EnvelopeAndLfoParameters.h>

Inheritance diagram for lmms::EnvelopeAndLfoParameters:
lmms::Model lmms::JournallingObject lmms::SerializingObject

Classes

class  LfoInstances

Public Types

enum class  LfoShape {
  SineWave , TriangleWave , SawWave , SquareWave ,
  UserDefinedWave , RandomWave , Count
}

Public Slots

void updateSampleVars ()

Public Member Functions

 EnvelopeAndLfoParameters (float _value_for_zero_amount, Model *_parent)
 ~EnvelopeAndLfoParameters () override
void fillLevel (float *_buf, f_cnt_t _frame, const f_cnt_t _release_begin, const f_cnt_t _frames)
bool isUsed () const
void saveSettings (QDomDocument &_doc, QDomElement &_parent) override
void loadSettings (const QDomElement &_this) override
QString nodeName () const override
f_cnt_t PAHD_Frames () const
f_cnt_t releaseFrames () const
const FloatModelgetPredelayModel () const
const FloatModelgetAttackModel () const
const FloatModelgetHoldModel () const
const FloatModelgetDecayModel () const
const FloatModelgetSustainModel () const
const FloatModelgetReleaseModel () const
const FloatModelgetAmountModel () const
FloatModelgetAmountModel ()
f_cnt_t getLfoPredelayFrames () const
f_cnt_t getLfoAttackFrames () const
f_cnt_t getLfoOscillationFrames () const
const FloatModelgetLfoAmountModel () const
FloatModelgetLfoAmountModel ()
const TempoSyncKnobModelgetLfoSpeedModel () const
const BoolModelgetX100Model () const
const IntModelgetLfoWaveModel () const
std::shared_ptr< const SampleBuffergetLfoUserWave () const
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 QString displayName () 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 ()

Static Public Member Functions

static float expKnobVal (float _val)
static LfoInstancesinstances ()

Protected Member Functions

void fillLfoLevel (float *_buf, f_cnt_t _frame, const f_cnt_t _frames)
Protected Member Functions inherited from lmms::JournallingObject
void changeID (jo_id_t _id)

Private Member Functions

sample_t lfoShapeSample (f_cnt_t _frame_offset)
void updateLfoShapeData ()

Private Attributes

bool m_used
QMutex m_paramMutex
FloatModel m_predelayModel
FloatModel m_attackModel
FloatModel m_holdModel
FloatModel m_decayModel
FloatModel m_sustainModel
FloatModel m_releaseModel
FloatModel m_amountModel
float m_sustainLevel
float m_amount
float m_valueForZeroAmount
float m_amountAdd
f_cnt_t m_pahdFrames
f_cnt_t m_rFrames
sample_tm_pahdEnv
sample_tm_rEnv
f_cnt_t m_pahdBufSize
f_cnt_t m_rBufSize
FloatModel m_lfoPredelayModel
FloatModel m_lfoAttackModel
TempoSyncKnobModel m_lfoSpeedModel
FloatModel m_lfoAmountModel
IntModel m_lfoWaveModel
BoolModel m_x100Model
BoolModel m_controlEnvAmountModel
f_cnt_t m_lfoPredelayFrames
f_cnt_t m_lfoAttackFrames
f_cnt_t m_lfoOscillationFrames
f_cnt_t m_lfoFrame
float m_lfoAmount
bool m_lfoAmountIsZero
sample_tm_lfoShapeData
sample_t m_random
bool m_bad_lfoShapeData
std::shared_ptr< const SampleBufferm_userWave = SampleBuffer::emptyBuffer()

Static Private Attributes

static LfoInstancess_lfoInstances = nullptr
static constexpr auto NumLfoShapes = static_cast<std::size_t>(LfoShape::Count)

Friends

class gui::EnvelopeAndLfoView

Additional Inherited Members

Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()

Member Enumeration Documentation

◆ LfoShape

Enumerator
SineWave 
TriangleWave 
SawWave 
SquareWave 
UserDefinedWave 
RandomWave 
Count 

Constructor & Destructor Documentation

◆ EnvelopeAndLfoParameters()

lmms::EnvelopeAndLfoParameters::EnvelopeAndLfoParameters ( float _value_for_zero_amount,
Model * _parent )

◆ ~EnvelopeAndLfoParameters()

lmms::EnvelopeAndLfoParameters::~EnvelopeAndLfoParameters ( )
override

Member Function Documentation

◆ expKnobVal()

float lmms::EnvelopeAndLfoParameters::expKnobVal ( float _val)
inlinestatic

◆ fillLevel()

void lmms::EnvelopeAndLfoParameters::fillLevel ( float * _buf,
f_cnt_t _frame,
const f_cnt_t _release_begin,
const f_cnt_t _frames )

◆ fillLfoLevel()

void lmms::EnvelopeAndLfoParameters::fillLfoLevel ( float * _buf,
f_cnt_t _frame,
const f_cnt_t _frames )
inlineprotected

◆ getAmountModel() [1/2]

FloatModel & lmms::EnvelopeAndLfoParameters::getAmountModel ( )
inline

◆ getAmountModel() [2/2]

const FloatModel & lmms::EnvelopeAndLfoParameters::getAmountModel ( ) const
inline

◆ getAttackModel()

const FloatModel & lmms::EnvelopeAndLfoParameters::getAttackModel ( ) const
inline

◆ getDecayModel()

const FloatModel & lmms::EnvelopeAndLfoParameters::getDecayModel ( ) const
inline

◆ getHoldModel()

const FloatModel & lmms::EnvelopeAndLfoParameters::getHoldModel ( ) const
inline

◆ getLfoAmountModel() [1/2]

FloatModel & lmms::EnvelopeAndLfoParameters::getLfoAmountModel ( )
inline

◆ getLfoAmountModel() [2/2]

const FloatModel & lmms::EnvelopeAndLfoParameters::getLfoAmountModel ( ) const
inline

◆ getLfoAttackFrames()

f_cnt_t lmms::EnvelopeAndLfoParameters::getLfoAttackFrames ( ) const
inline

◆ getLfoOscillationFrames()

f_cnt_t lmms::EnvelopeAndLfoParameters::getLfoOscillationFrames ( ) const
inline

◆ getLfoPredelayFrames()

f_cnt_t lmms::EnvelopeAndLfoParameters::getLfoPredelayFrames ( ) const
inline

◆ getLfoSpeedModel()

const TempoSyncKnobModel & lmms::EnvelopeAndLfoParameters::getLfoSpeedModel ( ) const
inline

◆ getLfoUserWave()

std::shared_ptr< const SampleBuffer > lmms::EnvelopeAndLfoParameters::getLfoUserWave ( ) const
inline

◆ getLfoWaveModel()

const IntModel & lmms::EnvelopeAndLfoParameters::getLfoWaveModel ( ) const
inline

◆ getPredelayModel()

const FloatModel & lmms::EnvelopeAndLfoParameters::getPredelayModel ( ) const
inline

◆ getReleaseModel()

const FloatModel & lmms::EnvelopeAndLfoParameters::getReleaseModel ( ) const
inline

◆ getSustainModel()

const FloatModel & lmms::EnvelopeAndLfoParameters::getSustainModel ( ) const
inline

◆ getX100Model()

const BoolModel & lmms::EnvelopeAndLfoParameters::getX100Model ( ) const
inline

◆ instances()

LfoInstances * lmms::EnvelopeAndLfoParameters::instances ( )
inlinestatic

◆ isUsed()

bool lmms::EnvelopeAndLfoParameters::isUsed ( ) const
inline

◆ lfoShapeSample()

sample_t lmms::EnvelopeAndLfoParameters::lfoShapeSample ( f_cnt_t _frame_offset)
inlineprivate

◆ loadSettings()

void lmms::EnvelopeAndLfoParameters::loadSettings ( const QDomElement & _this)
overridevirtual

◆ nodeName()

QString lmms::EnvelopeAndLfoParameters::nodeName ( void ) const
inlineoverridevirtual

◆ PAHD_Frames()

f_cnt_t lmms::EnvelopeAndLfoParameters::PAHD_Frames ( ) const
inline

◆ releaseFrames()

f_cnt_t lmms::EnvelopeAndLfoParameters::releaseFrames ( ) const
inline

◆ saveSettings()

void lmms::EnvelopeAndLfoParameters::saveSettings ( QDomDocument & _doc,
QDomElement & _parent )
overridevirtual

◆ updateLfoShapeData()

void lmms::EnvelopeAndLfoParameters::updateLfoShapeData ( )
private

◆ updateSampleVars

void lmms::EnvelopeAndLfoParameters::updateSampleVars ( )
slot

◆ gui::EnvelopeAndLfoView

friend class gui::EnvelopeAndLfoView
friend

Member Data Documentation

◆ m_amount

float lmms::EnvelopeAndLfoParameters::m_amount
private

◆ m_amountAdd

float lmms::EnvelopeAndLfoParameters::m_amountAdd
private

◆ m_amountModel

FloatModel lmms::EnvelopeAndLfoParameters::m_amountModel
private

◆ m_attackModel

FloatModel lmms::EnvelopeAndLfoParameters::m_attackModel
private

◆ m_bad_lfoShapeData

bool lmms::EnvelopeAndLfoParameters::m_bad_lfoShapeData
private

◆ m_controlEnvAmountModel

BoolModel lmms::EnvelopeAndLfoParameters::m_controlEnvAmountModel
private

◆ m_decayModel

FloatModel lmms::EnvelopeAndLfoParameters::m_decayModel
private

◆ m_holdModel

FloatModel lmms::EnvelopeAndLfoParameters::m_holdModel
private

◆ m_lfoAmount

float lmms::EnvelopeAndLfoParameters::m_lfoAmount
private

◆ m_lfoAmountIsZero

bool lmms::EnvelopeAndLfoParameters::m_lfoAmountIsZero
private

◆ m_lfoAmountModel

FloatModel lmms::EnvelopeAndLfoParameters::m_lfoAmountModel
private

◆ m_lfoAttackFrames

f_cnt_t lmms::EnvelopeAndLfoParameters::m_lfoAttackFrames
private

◆ m_lfoAttackModel

FloatModel lmms::EnvelopeAndLfoParameters::m_lfoAttackModel
private

◆ m_lfoFrame

f_cnt_t lmms::EnvelopeAndLfoParameters::m_lfoFrame
private

◆ m_lfoOscillationFrames

f_cnt_t lmms::EnvelopeAndLfoParameters::m_lfoOscillationFrames
private

◆ m_lfoPredelayFrames

f_cnt_t lmms::EnvelopeAndLfoParameters::m_lfoPredelayFrames
private

◆ m_lfoPredelayModel

FloatModel lmms::EnvelopeAndLfoParameters::m_lfoPredelayModel
private

◆ m_lfoShapeData

sample_t* lmms::EnvelopeAndLfoParameters::m_lfoShapeData
private

◆ m_lfoSpeedModel

TempoSyncKnobModel lmms::EnvelopeAndLfoParameters::m_lfoSpeedModel
private

◆ m_lfoWaveModel

IntModel lmms::EnvelopeAndLfoParameters::m_lfoWaveModel
private

◆ m_pahdBufSize

f_cnt_t lmms::EnvelopeAndLfoParameters::m_pahdBufSize
private

◆ m_pahdEnv

sample_t* lmms::EnvelopeAndLfoParameters::m_pahdEnv
private

◆ m_pahdFrames

f_cnt_t lmms::EnvelopeAndLfoParameters::m_pahdFrames
private

◆ m_paramMutex

QMutex lmms::EnvelopeAndLfoParameters::m_paramMutex
private

◆ m_predelayModel

FloatModel lmms::EnvelopeAndLfoParameters::m_predelayModel
private

◆ m_random

sample_t lmms::EnvelopeAndLfoParameters::m_random
private

◆ m_rBufSize

f_cnt_t lmms::EnvelopeAndLfoParameters::m_rBufSize
private

◆ m_releaseModel

FloatModel lmms::EnvelopeAndLfoParameters::m_releaseModel
private

◆ m_rEnv

sample_t* lmms::EnvelopeAndLfoParameters::m_rEnv
private

◆ m_rFrames

f_cnt_t lmms::EnvelopeAndLfoParameters::m_rFrames
private

◆ m_sustainLevel

float lmms::EnvelopeAndLfoParameters::m_sustainLevel
private

◆ m_sustainModel

FloatModel lmms::EnvelopeAndLfoParameters::m_sustainModel
private

◆ m_used

bool lmms::EnvelopeAndLfoParameters::m_used
private

◆ m_userWave

std::shared_ptr<const SampleBuffer> lmms::EnvelopeAndLfoParameters::m_userWave = SampleBuffer::emptyBuffer()
private

◆ m_valueForZeroAmount

float lmms::EnvelopeAndLfoParameters::m_valueForZeroAmount
private

◆ m_x100Model

BoolModel lmms::EnvelopeAndLfoParameters::m_x100Model
private

◆ NumLfoShapes

auto lmms::EnvelopeAndLfoParameters::NumLfoShapes = static_cast<std::size_t>(LfoShape::Count)
staticconstexprprivate

◆ s_lfoInstances

EnvelopeAndLfoParameters::LfoInstances * lmms::EnvelopeAndLfoParameters::s_lfoInstances = nullptr
staticprivate

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