lmms
Cross-platform music production software
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 FloatModel & getPredelayModel () const
const FloatModel & getAttackModel () const
const FloatModel & getHoldModel () const
const FloatModel & getDecayModel () const
const FloatModel & getSustainModel () const
const FloatModel & getReleaseModel () const
const FloatModel & getAmountModel () const
FloatModel & getAmountModel ()
f_cnt_t getLfoPredelayFrames () const
f_cnt_t getLfoAttackFrames () const
f_cnt_t getLfoOscillationFrames () const
const FloatModel & getLfoAmountModel () const
FloatModel & getLfoAmountModel ()
const TempoSyncKnobModel & getLfoSpeedModel () const
const BoolModel & getX100Model () const
const IntModel & getLfoWaveModel () const
std::shared_ptr< const SampleBuffer > getLfoUserWave () const
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 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)
SerializingObjectHook * hook ()

Static Public Member Functions

static float expKnobVal (float _val)
static LfoInstances * instances ()

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_t * m_pahdEnv
sample_t * m_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_t * m_lfoShapeData
sample_t m_random
bool m_bad_lfoShapeData
std::shared_ptr< const SampleBuffer > m_userWave = SampleBuffer::emptyBuffer()

Static Private Attributes

static LfoInstances * s_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: