25#ifndef LMMS_ENVELOPE_AND_LFO_PARAMETERS_H
26#define LMMS_ENVELOPE_AND_LFO_PARAMETERS_H
70 using LfoList = QList<EnvelopeAndLfoParameters*>;
92 return ( ( _val < 0 ) ? -_val : _val ) * _val;
100 void fillLevel(
float * _buf,
f_cnt_t _frame,
110 void saveSettings( QDomDocument & _doc, QDomElement & _parent )
override;
111 void loadSettings(
const QDomElement & _this )
override;
151 void updateSampleVars();
155 void fillLfoLevel(
float * _buf,
f_cnt_t _frame,
const f_cnt_t _frames );
Definition AutomatableModel.h:497
Definition EnvelopeAndLfoParameters.h:51
QMutex m_lfoListMutex
Definition EnvelopeAndLfoParameters.h:69
bool isEmpty() const
Definition EnvelopeAndLfoParameters.h:57
QList< EnvelopeAndLfoParameters * > LfoList
Definition EnvelopeAndLfoParameters.h:70
LfoList m_lfos
Definition EnvelopeAndLfoParameters.h:71
Definition EnvelopeAndLfoParameters.h:47
const FloatModel & getPredelayModel() const
Definition EnvelopeAndLfoParameters.h:128
QMutex m_paramMutex
Definition EnvelopeAndLfoParameters.h:162
bool m_used
Definition EnvelopeAndLfoParameters.h:160
f_cnt_t getLfoPredelayFrames() const
Definition EnvelopeAndLfoParameters.h:139
static LfoInstances * s_lfoInstances
Definition EnvelopeAndLfoParameters.h:159
const TempoSyncKnobModel & getLfoSpeedModel() const
Definition EnvelopeAndLfoParameters.h:145
f_cnt_t m_pahdBufSize
Definition EnvelopeAndLfoParameters.h:180
std::shared_ptr< const SampleBuffer > getLfoUserWave() const
Definition EnvelopeAndLfoParameters.h:148
const FloatModel & getSustainModel() const
Definition EnvelopeAndLfoParameters.h:132
const FloatModel & getAmountModel() const
Definition EnvelopeAndLfoParameters.h:134
FloatModel m_predelayModel
Definition EnvelopeAndLfoParameters.h:164
const BoolModel & getX100Model() const
Definition EnvelopeAndLfoParameters.h:146
const FloatModel & getDecayModel() const
Definition EnvelopeAndLfoParameters.h:131
FloatModel m_decayModel
Definition EnvelopeAndLfoParameters.h:167
FloatModel m_amountModel
Definition EnvelopeAndLfoParameters.h:170
sample_t * m_pahdEnv
Definition EnvelopeAndLfoParameters.h:178
float m_amountAdd
Definition EnvelopeAndLfoParameters.h:175
float m_amount
Definition EnvelopeAndLfoParameters.h:173
bool m_lfoAmountIsZero
Definition EnvelopeAndLfoParameters.h:199
void updateLfoShapeData()
Definition EnvelopeAndLfoParameters.cpp:247
sample_t * m_rEnv
Definition EnvelopeAndLfoParameters.h:179
sample_t * m_lfoShapeData
Definition EnvelopeAndLfoParameters.h:200
FloatModel m_attackModel
Definition EnvelopeAndLfoParameters.h:165
f_cnt_t PAHD_Frames() const
Definition EnvelopeAndLfoParameters.h:117
const FloatModel & getLfoAmountModel() const
Definition EnvelopeAndLfoParameters.h:143
const IntModel & getLfoWaveModel() const
Definition EnvelopeAndLfoParameters.h:147
f_cnt_t m_pahdFrames
Definition EnvelopeAndLfoParameters.h:176
f_cnt_t getLfoOscillationFrames() const
Definition EnvelopeAndLfoParameters.h:141
sample_t m_random
Definition EnvelopeAndLfoParameters.h:201
BoolModel m_x100Model
Definition EnvelopeAndLfoParameters.h:190
const FloatModel & getHoldModel() const
Definition EnvelopeAndLfoParameters.h:130
f_cnt_t m_lfoAttackFrames
Definition EnvelopeAndLfoParameters.h:195
QString nodeName() const override
Definition EnvelopeAndLfoParameters.h:112
f_cnt_t m_rFrames
Definition EnvelopeAndLfoParameters.h:177
sample_t lfoShapeSample(f_cnt_t _frame_offset)
Definition EnvelopeAndLfoParameters.cpp:209
static float expKnobVal(float _val)
Definition EnvelopeAndLfoParameters.h:90
FloatModel m_sustainModel
Definition EnvelopeAndLfoParameters.h:168
bool m_bad_lfoShapeData
Definition EnvelopeAndLfoParameters.h:202
f_cnt_t m_lfoPredelayFrames
Definition EnvelopeAndLfoParameters.h:194
FloatModel m_lfoAmountModel
Definition EnvelopeAndLfoParameters.h:187
FloatModel & getAmountModel()
Definition EnvelopeAndLfoParameters.h:135
float m_valueForZeroAmount
Definition EnvelopeAndLfoParameters.h:174
const FloatModel & getAttackModel() const
Definition EnvelopeAndLfoParameters.h:129
f_cnt_t getLfoAttackFrames() const
Definition EnvelopeAndLfoParameters.h:140
IntModel m_lfoWaveModel
Definition EnvelopeAndLfoParameters.h:188
f_cnt_t m_lfoOscillationFrames
Definition EnvelopeAndLfoParameters.h:196
float m_lfoAmount
Definition EnvelopeAndLfoParameters.h:198
std::shared_ptr< const SampleBuffer > m_userWave
Definition EnvelopeAndLfoParameters.h:203
BoolModel m_controlEnvAmountModel
Definition EnvelopeAndLfoParameters.h:191
FloatModel & getLfoAmountModel()
Definition EnvelopeAndLfoParameters.h:144
static LfoInstances * instances()
Definition EnvelopeAndLfoParameters.h:95
FloatModel m_lfoAttackModel
Definition EnvelopeAndLfoParameters.h:185
FloatModel m_holdModel
Definition EnvelopeAndLfoParameters.h:166
static constexpr auto NumLfoShapes
Definition EnvelopeAndLfoParameters.h:205
f_cnt_t m_lfoFrame
Definition EnvelopeAndLfoParameters.h:197
LfoShape
Definition EnvelopeAndLfoParameters.h:76
@ Count
Definition EnvelopeAndLfoParameters.h:83
FloatModel m_lfoPredelayModel
Definition EnvelopeAndLfoParameters.h:184
const FloatModel & getReleaseModel() const
Definition EnvelopeAndLfoParameters.h:133
FloatModel m_releaseModel
Definition EnvelopeAndLfoParameters.h:169
EnvelopeAndLfoParameters(float _value_for_zero_amount, Model *_parent)
Definition EnvelopeAndLfoParameters.cpp:94
f_cnt_t m_rBufSize
Definition EnvelopeAndLfoParameters.h:181
f_cnt_t releaseFrames() const
Definition EnvelopeAndLfoParameters.h:122
TempoSyncKnobModel m_lfoSpeedModel
Definition EnvelopeAndLfoParameters.h:186
bool isUsed() const
Definition EnvelopeAndLfoParameters.h:104
float m_sustainLevel
Definition EnvelopeAndLfoParameters.h:172
Definition AutomatableModel.h:463
Definition AutomatableModel.h:481
JournallingObject()
Definition JournallingObject.cpp:36
Model(Model *parent, QString displayName=QString(), bool defaultConstructed=false)
Definition Model.cpp:30
static auto emptyBuffer() -> std::shared_ptr< const SampleBuffer >
Definition SampleBuffer.cpp:67
Definition TempoSyncKnobModel.h:45
Definition EnvelopeAndLfoView.h:52
Definition AudioPortAudio.cpp:223
Definition AudioAlsa.cpp:35
float sample_t
Definition LmmsTypes.h:39
@ Count
Definition Sfxr.h:43
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43