175 return ph < 0.0f ? ph - (
static_cast<int>( ph ) - 1.0f ) : ph;
205 else if( ph < 0.5 )
return 1.0f;
298#define setwavemodel( name ) \
299 name .addItem( tr( "Sine wave" ), std::make_unique<PluginPixmapLoader>( "sin" ) ); \
300 name .addItem( tr( "Bandlimited Triangle wave" ), std::make_unique<PluginPixmapLoader>( "tri" ) ); \
301 name .addItem( tr( "Bandlimited Saw wave" ), std::make_unique<PluginPixmapLoader>( "saw" ) ); \
302 name .addItem( tr( "Bandlimited Ramp wave" ), std::make_unique<PluginPixmapLoader>( "ramp" ) ); \
303 name .addItem( tr( "Bandlimited Square wave" ), std::make_unique<PluginPixmapLoader>( "sqr" ) ); \
304 name .addItem( tr( "Bandlimited Moog saw wave" ), std::make_unique<PluginPixmapLoader>( "moog" ) ); \
305 name .addItem( tr( "Soft square wave" ), std::make_unique<PluginPixmapLoader>( "sqrsoft" ) ); \
306 name .addItem( tr( "Absolute sine wave" ), std::make_unique<PluginPixmapLoader>( "sinabs" ) ); \
307 name .addItem( tr( "Exponential wave" ), std::make_unique<PluginPixmapLoader>( "exp" ) ); \
308 name .addItem( tr( "White noise" ), std::make_unique<PluginPixmapLoader>( "noise" ) ); \
309 name .addItem( tr( "Digital Triangle wave" ), std::make_unique<PluginPixmapLoader>( "tri" ) ); \
310 name .addItem( tr( "Digital Saw wave" ), std::make_unique<PluginPixmapLoader>( "saw" ) ); \
311 name .addItem( tr( "Digital Ramp wave" ), std::make_unique<PluginPixmapLoader>( "ramp" ) ); \
312 name .addItem( tr( "Digital Square wave" ), std::make_unique<PluginPixmapLoader>( "sqr" ) ); \
313 name .addItem( tr( "Digital Moog saw wave" ), std::make_unique<PluginPixmapLoader>( "moog" ) );
316#define setlfowavemodel( name ) \
317 name .addItem( tr( "Sine wave" ), std::make_unique<PluginPixmapLoader>( "sin" ) ); \
318 name .addItem( tr( "Triangle wave" ), std::make_unique<PluginPixmapLoader>( "tri" ) ); \
319 name .addItem( tr( "Saw wave" ), std::make_unique<PluginPixmapLoader>( "saw" ) ); \
320 name .addItem( tr( "Ramp wave" ), std::make_unique<PluginPixmapLoader>( "ramp" ) ); \
321 name .addItem( tr( "Square wave" ), std::make_unique<PluginPixmapLoader>( "sqr" ) ); \
322 name .addItem( tr( "Moog saw wave" ), std::make_unique<PluginPixmapLoader>( "moog" ) ); \
323 name .addItem( tr( "Soft square wave" ), std::make_unique<PluginPixmapLoader>( "sqrsoft" ) ); \
324 name .addItem( tr( "Abs. sine wave" ), std::make_unique<PluginPixmapLoader>( "sinabs" ) ); \
325 name .addItem( tr( "Exponential wave" ), std::make_unique<PluginPixmapLoader>( "exp" ) ); \
326 name .addItem( tr( "Random" ), std::make_unique<PluginPixmapLoader>( "rand" ) ); \
327 name .addItem( tr( "Random smooth" ), std::make_unique<PluginPixmapLoader>( "rand" ) );
338 QDomElement & _this )
override;
339 void loadSettings(
const QDomElement & _this )
override;
416 inline float leftCh(
float _vol,
float _pan )
418 return ( _pan <= 0 ? 1.0 : 1.0 - ( _pan / 100.0 ) ) * _vol / 100.0;
421 inline float rightCh(
float _vol,
float _pan )
423 return ( _pan >= 0 ? 1.0 : 1.0 + ( _pan / 100.0 ) ) * _vol / 100.0;
581 template<
class T = Knob>
583 const QString&
unit,
const QString& objName) -> T*
588 knob->setObjectName(objName);
589 knob->setFixedSize(20, 20);
static sample_t oscillate(float _ph, float _wavelen, Waveform _wave)
This method provides interpolated samples of bandlimited waveforms.
Definition BandLimitedWave.h:131
@ BLSquare
Definition BandLimitedWave.h:95
@ BLTriangle
Definition BandLimitedWave.h:96
@ BLSaw
Definition BandLimitedWave.h:94
@ BLMoog
Definition BandLimitedWave.h:97
Definition AutomatableModel.h:497
Definition ComboBoxModel.h:39
Definition AutomatableModel.h:463
Definition Instrument.h:52
Instrument(InstrumentTrack *_instrument_track, const Descriptor *_descriptor, const Descriptor::SubPluginFeatures::Key *key=nullptr, Flags flags=Flag::NoFlags)
Definition Instrument.cpp:38
Definition AutomatableModel.h:481
float m_osc2l_vol
Definition Monstro.h:367
f_cnt_t m_lfo1_att
Definition Monstro.h:405
FloatModel m_osc2Crs
Definition Monstro.h:444
TempoSyncKnobModel m_env2Pre
Definition Monstro.h:480
IntModel m_o23Mod
Definition Monstro.h:488
BoolModel m_osc3SyncR
Definition Monstro.h:460
float m_env1_pre
Definition Monstro.h:385
float m_osc1l_vol
Definition Monstro.h:365
FloatModel m_pit2env1
Definition Monstro.h:533
TempoSyncKnobModel m_env1Pre
Definition Monstro.h:472
BoolModel m_osc2SyncR
Definition Monstro.h:450
void deleteNotePluginData(NotePlayHandle *_n) override
Definition Monstro.cpp:1079
TempoSyncKnobModel m_env1Dec
Definition Monstro.h:475
FloatModel m_vol2lfo2
Definition Monstro.h:506
FloatModel m_osc3Vol
Definition Monstro.h:452
FloatModel m_osc1Crs
Definition Monstro.h:434
void updatePO3()
Definition Monstro.cpp:1397
float desiredReleaseTimeMs() const override
Definition Monstro.cpp:1326
FloatModel m_osc3Sub
Definition Monstro.h:456
FloatModel m_sub3lfo2
Definition Monstro.h:551
FloatModel m_vol1lfo1
Definition Monstro.h:500
float m_osc1l_freq
Definition Monstro.h:372
FloatModel m_vol1env2
Definition Monstro.h:499
float m_env2_rel
Definition Monstro.h:395
FloatModel m_env1Slope
Definition Monstro.h:478
void saveSettings(QDomDocument &_doc, QDomElement &_this) override
Definition Monstro.cpp:1085
BoolModel m_osc2SyncH
Definition Monstro.h:449
FloatModel m_phs1env1
Definition Monstro.h:513
BoolModel m_osc1SSR
Definition Monstro.h:439
float m_osc1l_po
Definition Monstro.h:378
f_cnt_t m_fpp
Definition Monstro.h:409
void loadSettings(const QDomElement &_this) override
Definition Monstro.cpp:1203
TempoSyncKnobModel m_env2Dec
Definition Monstro.h:483
f_cnt_t m_env1_relF
Definition Monstro.h:400
FloatModel m_osc3Spo
Definition Monstro.h:455
FloatModel m_pw1lfo2
Definition Monstro.h:546
void updatePO2()
Definition Monstro.cpp:1390
f_cnt_t m_env1_len
Definition Monstro.h:397
FloatModel m_sub3env2
Definition Monstro.h:549
FloatModel m_osc1Vol
Definition Monstro.h:432
FloatModel m_osc2Pan
Definition Monstro.h:443
TempoSyncKnobModel m_lfo1Att
Definition Monstro.h:463
void updateFreq2()
Definition Monstro.cpp:1368
FloatModel m_vol3env2
Definition Monstro.h:509
ComboBoxModel m_osc2Wave
Definition Monstro.h:448
void updateVolume2()
Definition Monstro.cpp:1345
FloatModel m_phs3lfo1
Definition Monstro.h:525
FloatModel m_osc2Ftr
Definition Monstro.h:446
FloatModel m_vol3env1
Definition Monstro.h:508
FloatModel m_pit3env2
Definition Monstro.h:539
FloatModel m_osc2Spo
Definition Monstro.h:447
void updateEnvelope2()
Definition Monstro.cpp:1420
FloatModel m_osc1Ftl
Definition Monstro.h:435
void updateVolume3()
Definition Monstro.cpp:1352
float m_env2_pre
Definition Monstro.h:391
FloatModel m_pit3env1
Definition Monstro.h:538
~MonstroInstrument() override=default
FloatModel m_lfo2Phs
Definition Monstro.h:470
FloatModel m_sub3lfo1
Definition Monstro.h:550
FloatModel m_osc1Pw
Definition Monstro.h:438
void playNote(NotePlayHandle *_n, SampleFrame *_working_buffer) override
Definition Monstro.cpp:1061
FloatModel m_env1Sus
Definition Monstro.h:476
FloatModel m_phs1lfo1
Definition Monstro.h:515
float m_osc1r_po
Definition Monstro.h:379
float m_osc3_freq
Definition Monstro.h:376
void updateFreq1()
Definition Monstro.cpp:1359
FloatModel m_phs2env2
Definition Monstro.h:519
FloatModel m_vol1env1
Definition Monstro.h:498
FloatModel m_pit1lfo2
Definition Monstro.h:531
FloatModel m_phs2lfo2
Definition Monstro.h:521
FloatModel m_pw1env2
Definition Monstro.h:544
TempoSyncKnobModel m_env1Hold
Definition Monstro.h:474
FloatModel m_env2Slope
Definition Monstro.h:486
float m_env1_hold
Definition Monstro.h:387
f_cnt_t m_env2_len
Definition Monstro.h:398
FloatModel m_pit3lfo1
Definition Monstro.h:540
void updateSlope1()
Definition Monstro.cpp:1459
FloatModel m_osc2Ftl
Definition Monstro.h:445
float m_osc2l_po
Definition Monstro.h:380
void updatePO1()
Definition Monstro.cpp:1383
TempoSyncKnobModel m_env2Rel
Definition Monstro.h:485
float leftCh(float _vol, float _pan)
Definition Monstro.h:416
float m_fmCorrection
Definition Monstro.h:412
int m_counterMax
Definition Monstro.h:413
float m_osc3l_vol
Definition Monstro.h:369
float m_osc2r_po
Definition Monstro.h:381
TempoSyncKnobModel m_lfo2Att
Definition Monstro.h:468
void updateEnvelope1()
Definition Monstro.cpp:1404
FloatModel m_phs2env1
Definition Monstro.h:518
void updateVolume1()
Definition Monstro.cpp:1338
FloatModel m_pit2lfo1
Definition Monstro.h:535
float m_osc1r_freq
Definition Monstro.h:373
ComboBoxModel m_osc3Wave1
Definition Monstro.h:457
float m_osc3l_po
Definition Monstro.h:382
float m_env1_att
Definition Monstro.h:386
float m_env2_dec
Definition Monstro.h:394
float m_osc3r_po
Definition Monstro.h:383
FloatModel m_phs3lfo2
Definition Monstro.h:526
FloatModel m_pit1lfo1
Definition Monstro.h:530
float m_env2_att
Definition Monstro.h:392
float m_integrator
Definition Monstro.h:411
FloatModel m_phs1env2
Definition Monstro.h:514
IntModel m_selectedView
Definition Monstro.h:490
TempoSyncKnobModel m_lfo2Rate
Definition Monstro.h:469
QString nodeName() const override
Definition Monstro.cpp:1321
TempoSyncKnobModel m_env2Hold
Definition Monstro.h:482
FloatModel m_pit2env2
Definition Monstro.h:534
ComboBoxModel m_lfo2Wave
Definition Monstro.h:467
float m_osc2r_vol
Definition Monstro.h:368
FloatModel m_osc3Pan
Definition Monstro.h:453
sample_rate_t m_samplerate
Definition Monstro.h:408
float m_slope[2]
Definition Monstro.h:403
float m_env1_dec
Definition Monstro.h:388
FloatModel m_osc2Vol
Definition Monstro.h:442
FloatModel m_osc1Pan
Definition Monstro.h:433
FloatModel m_phs3env2
Definition Monstro.h:524
FloatModel m_pw1env1
Definition Monstro.h:543
FloatModel m_vol3lfo1
Definition Monstro.h:510
FloatModel m_osc3Crs
Definition Monstro.h:454
FloatModel m_vol1lfo2
Definition Monstro.h:501
FloatModel m_pit2lfo2
Definition Monstro.h:536
TempoSyncKnobModel m_lfo1Rate
Definition Monstro.h:464
float m_osc2l_freq
Definition Monstro.h:374
float m_env2_hold
Definition Monstro.h:393
FloatModel m_vol3lfo2
Definition Monstro.h:511
void updateSamplerate()
Definition Monstro.cpp:1445
f_cnt_t m_env2_relF
Definition Monstro.h:401
BoolModel m_osc1SSF
Definition Monstro.h:440
FloatModel m_phs3env1
Definition Monstro.h:523
float m_osc3r_vol
Definition Monstro.h:370
gui::PluginView * instantiateView(QWidget *_parent) override
Create a view for the model.
Definition Monstro.cpp:1332
friend class MonstroSynth
Definition Monstro.h:553
FloatModel m_pit3lfo2
Definition Monstro.h:541
float rightCh(float _vol, float _pan)
Definition Monstro.h:421
FloatModel m_pit1env1
Definition Monstro.h:528
FloatModel m_lfo1Phs
Definition Monstro.h:465
void updateFreq3()
Definition Monstro.cpp:1377
FloatModel m_sub3env1
Definition Monstro.h:548
FloatModel m_pit1env2
Definition Monstro.h:529
ComboBoxModel m_lfo1Wave
Definition Monstro.h:462
FloatModel m_env2Sus
Definition Monstro.h:484
MonstroInstrument(InstrumentTrack *_instrument_track)
Definition Monstro.cpp:862
FloatModel m_pw1lfo1
Definition Monstro.h:545
FloatModel m_vol2env1
Definition Monstro.h:503
FloatModel m_osc1Ftr
Definition Monstro.h:436
FloatModel m_phs1lfo2
Definition Monstro.h:516
FloatModel m_osc1Spo
Definition Monstro.h:437
FloatModel m_vol2lfo1
Definition Monstro.h:505
float m_osc1r_vol
Definition Monstro.h:366
void updateSlope2()
Definition Monstro.cpp:1466
f_cnt_t m_lfo2_att
Definition Monstro.h:406
BoolModel m_osc3SyncH
Definition Monstro.h:459
float m_env1_rel
Definition Monstro.h:389
float m_osc2r_freq
Definition Monstro.h:375
TempoSyncKnobModel m_env1Rel
Definition Monstro.h:477
ComboBoxModel m_osc3Wave2
Definition Monstro.h:458
TempoSyncKnobModel m_env2Att
Definition Monstro.h:481
FloatModel m_vol2env2
Definition Monstro.h:504
FloatModel m_phs2lfo1
Definition Monstro.h:520
void updateLFOAtts()
Definition Monstro.cpp:1438
TempoSyncKnobModel m_env1Att
Definition Monstro.h:473
sample_t m_osc1r_last
Definition Monstro.h:269
int m_counter3l
Definition Monstro.h:287
sample_t oscillate(int _wave, const float _ph, float _wavelen)
Definition Monstro.h:178
float m_osc2l_phase
Definition Monstro.h:247
int m_counter2l
Definition Monstro.h:285
float m_env_att[2]
Definition Monstro.h:263
bool m_invert2l
Definition Monstro.h:280
void updateModulators(float *env1, float *env2, float *lfo1, float *lfo2, f_cnt_t frames)
Definition Monstro.cpp:685
int m_lfoatt[2]
Definition Monstro.h:261
int m_counter3r
Definition Monstro.h:288
float m_ph2l_last
Definition Monstro.h:274
float m_env_pre[2]
Definition Monstro.h:262
std::vector< float > m_lfo[2]
Definition Monstro.h:290
sample_t m_lfo_next[2]
Definition Monstro.h:255
sample_t m_env_phase[2]
Definition Monstro.h:252
float lowBoundCheck(float ph)
Definition Monstro.h:173
NotePlayHandle * m_nph
Definition Monstro.h:159
MonstroInstrument * m_parent
Definition Monstro.h:158
float m_osc1l_phase
Definition Monstro.h:245
virtual ~MonstroSynth()=default
sample_t m_r_last
Definition Monstro.h:272
float m_osc3l_phase
Definition Monstro.h:249
float m_osc3r_phase
Definition Monstro.h:250
bool m_invert3r
Definition Monstro.h:283
float m_env_hold[2]
Definition Monstro.h:264
sample_t m_osc1l_last
Definition Monstro.h:268
float m_osc1r_phase
Definition Monstro.h:246
sample_t m_l_last
Definition Monstro.h:271
float m_env_sus[2]
Definition Monstro.h:258
int m_lfovalue[2]
Definition Monstro.h:260
float m_osc2r_phase
Definition Monstro.h:248
bool m_invert3l
Definition Monstro.h:281
void renderOutput(f_cnt_t _frames, SampleFrame *_buf)
Definition Monstro.cpp:110
float m_ph2r_last
Definition Monstro.h:275
std::vector< float > m_env[2]
Definition Monstro.h:291
float m_ph3r_last
Definition Monstro.h:278
float m_env_dec[2]
Definition Monstro.h:265
int m_counter2r
Definition Monstro.h:286
float m_lfo_rate[2]
Definition Monstro.h:257
float m_lfo_inc[2]
Definition Monstro.h:256
float m_lfo_phase[2]
Definition Monstro.h:253
bool m_invert2r
Definition Monstro.h:282
float m_env_rel[2]
Definition Monstro.h:266
float m_ph3l_last
Definition Monstro.h:277
sample_t m_lfo_last[2]
Definition Monstro.h:254
MonstroSynth(MonstroInstrument *_i, NotePlayHandle *_nph)
Definition Monstro.cpp:63
sample_t calcSlope(int slope, sample_t s)
Definition Monstro.cpp:854
Definition NotePlayHandle.h:48
static sample_t squareSample(const float _sample)
Definition Oscillator.h:138
static sample_t expSample(const float _sample)
Definition Oscillator.h:153
static sample_t sawSample(const float _sample)
Definition Oscillator.h:133
static sample_t noiseSample(const float)
Definition Oscillator.h:163
static sample_t triangleSample(const float _sample)
Definition Oscillator.h:119
static sample_t sinSample(const float _sample)
Definition Oscillator.h:114
static sample_t moogSawSample(const float _sample)
Definition Oscillator.h:143
Definition SampleFrame.h:41
Definition TempoSyncKnobModel.h:45
Instrument view with fixed LMMS-default size.
Definition InstrumentView.h:66
void setWidgetBackground(QWidget *_widget, const QString &_pic)
Definition Monstro.cpp:1651
Knob * m_phs3env2Knob
Definition Monstro.h:694
TempoSyncKnob * m_env1DecKnob
Definition Monstro.h:642
TempoSyncKnob * m_env1AttKnob
Definition Monstro.h:640
void updateLayout()
Definition Monstro.cpp:1514
void modelChanged() override
Definition Monstro.cpp:1530
TempoSyncKnob * m_lfo1AttKnob
Definition Monstro.h:630
Knob * m_phs2lfo2Knob
Definition Monstro.h:691
Knob * m_phs3lfo2Knob
Definition Monstro.h:696
Knob * m_pit2env1Knob
Definition Monstro.h:703
Knob * m_pit1lfo1Knob
Definition Monstro.h:700
Knob * m_osc2SpoKnob
Definition Monstro.h:614
Knob * m_osc2PanKnob
Definition Monstro.h:610
Knob * m_osc1CrsKnob
Definition Monstro.h:601
Knob * m_osc1SpoKnob
Definition Monstro.h:604
TempoSyncKnob * m_env2AttKnob
Definition Monstro.h:648
Knob * m_vol2env1Knob
Definition Monstro.h:673
Knob * m_phs3env1Knob
Definition Monstro.h:693
MonstroView(Instrument *_instrument, QWidget *_parent)
Definition Monstro.cpp:1477
Knob * m_phs2lfo1Knob
Definition Monstro.h:690
Knob * m_pit3lfo1Knob
Definition Monstro.h:710
Knob * m_vol1lfo2Knob
Definition Monstro.h:671
Knob * m_phs2env1Knob
Definition Monstro.h:688
Knob * m_phs1lfo2Knob
Definition Monstro.h:686
Knob * m_vol1env1Knob
Definition Monstro.h:668
PixmapButton * m_osc2SyncRButton
Definition Monstro.h:617
TempoSyncKnob * m_lfo2AttKnob
Definition Monstro.h:635
Knob * m_osc1FtlKnob
Definition Monstro.h:602
Knob * m_osc2VolKnob
Definition Monstro.h:609
Knob * m_vol1env2Knob
Definition Monstro.h:669
Knob * m_lfo2PhsKnob
Definition Monstro.h:637
Knob * m_osc3VolKnob
Definition Monstro.h:619
PixmapButton * m_osc1SSRButton
Definition Monstro.h:606
Knob * m_osc3PanKnob
Definition Monstro.h:620
Knob * m_vol3env1Knob
Definition Monstro.h:678
Knob * m_pit3env2Knob
Definition Monstro.h:709
TempoSyncKnob * m_env1RelKnob
Definition Monstro.h:644
AutomatableButtonGroup * m_selectedViewGroup
Definition Monstro.h:657
ComboBox * m_osc3Wave1Box
Definition Monstro.h:624
AutomatableButtonGroup * m_o23ModGroup
Definition Monstro.h:655
Knob * m_vol2lfo2Knob
Definition Monstro.h:676
Knob * m_env2SusKnob
Definition Monstro.h:651
Knob * m_osc3SpoKnob
Definition Monstro.h:622
Knob * m_pit2env2Knob
Definition Monstro.h:704
Knob * m_phs1env2Knob
Definition Monstro.h:684
Knob * m_sub3env2Knob
Definition Monstro.h:719
Knob * m_osc1PwKnob
Definition Monstro.h:605
ComboBox * m_osc2WaveBox
Definition Monstro.h:615
Knob * m_osc3CrsKnob
Definition Monstro.h:621
ComboBox * m_lfo1WaveBox
Definition Monstro.h:629
Knob * m_osc1VolKnob
Definition Monstro.h:599
Knob * m_pit3lfo2Knob
Definition Monstro.h:711
Knob * m_pw1lfo1Knob
Definition Monstro.h:715
Knob * m_phs3lfo1Knob
Definition Monstro.h:695
Knob * m_vol3lfo2Knob
Definition Monstro.h:681
Knob * m_sub3lfo2Knob
Definition Monstro.h:721
Knob * m_pw1lfo2Knob
Definition Monstro.h:716
TempoSyncKnob * m_env1HoldKnob
Definition Monstro.h:641
Knob * m_env1SlopeKnob
Definition Monstro.h:645
Knob * m_pw1env2Knob
Definition Monstro.h:714
Knob * m_osc2FtrKnob
Definition Monstro.h:613
Knob * m_lfo1PhsKnob
Definition Monstro.h:632
Knob * m_env1SusKnob
Definition Monstro.h:643
Knob * m_vol2lfo1Knob
Definition Monstro.h:675
Knob * m_pit1env1Knob
Definition Monstro.h:698
Knob * m_vol3lfo1Knob
Definition Monstro.h:680
Knob * m_pw1env1Knob
Definition Monstro.h:713
Knob * m_osc1PanKnob
Definition Monstro.h:600
QWidget * setupMatrixView(QWidget *_parent)
Definition Monstro.cpp:1785
TempoSyncKnob * m_env2RelKnob
Definition Monstro.h:652
PixmapButton * m_osc3SyncHButton
Definition Monstro.h:626
Knob * m_phs1env1Knob
Definition Monstro.h:683
Knob * m_env2SlopeKnob
Definition Monstro.h:653
TempoSyncKnob * m_lfo2RateKnob
Definition Monstro.h:636
Knob * m_osc3SubKnob
Definition Monstro.h:623
PixmapButton * m_osc2SyncHButton
Definition Monstro.h:616
Knob * m_pit2lfo1Knob
Definition Monstro.h:705
Knob * m_phs1lfo1Knob
Definition Monstro.h:685
ComboBox * m_osc3Wave2Box
Definition Monstro.h:625
Knob * m_osc2FtlKnob
Definition Monstro.h:612
TempoSyncKnob * m_env1PreKnob
Definition Monstro.h:639
ComboBox * m_lfo2WaveBox
Definition Monstro.h:634
Knob * m_pit1lfo2Knob
Definition Monstro.h:701
Knob * m_sub3env1Knob
Definition Monstro.h:718
PixmapButton * m_osc3SyncRButton
Definition Monstro.h:627
Knob * m_pit3env1Knob
Definition Monstro.h:708
Knob * m_vol2env2Knob
Definition Monstro.h:674
QWidget * m_matrixView
Definition Monstro.h:660
PixmapButton * m_osc1SSFButton
Definition Monstro.h:607
QWidget * setupOperatorsView(QWidget *_parent)
Definition Monstro.cpp:1661
TempoSyncKnob * m_env2HoldKnob
Definition Monstro.h:649
auto makeKnob(QWidget *view, int x, int y, const QString &hint, const QString &unit, const QString &objName) -> T *
Definition Monstro.h:582
Knob * m_osc2CrsKnob
Definition Monstro.h:611
QWidget * m_operatorsView
Definition Monstro.h:659
Knob * m_pit2lfo2Knob
Definition Monstro.h:706
TempoSyncKnob * m_env2DecKnob
Definition Monstro.h:650
Knob * m_vol1lfo1Knob
Definition Monstro.h:670
TempoSyncKnob * m_env2PreKnob
Definition Monstro.h:647
~MonstroView() override=default
Knob * m_sub3lfo1Knob
Definition Monstro.h:720
Knob * m_vol3env2Knob
Definition Monstro.h:679
Knob * m_pit1env2Knob
Definition Monstro.h:699
Knob * m_phs2env2Knob
Definition Monstro.h:689
Knob * m_osc1FtrKnob
Definition Monstro.h:603
TempoSyncKnob * m_lfo1RateKnob
Definition Monstro.h:631
Definition PluginView.h:36
Definition TempoSyncKnob.h:41
int y
Definition inflate.c:1588
unsigned s
Definition inflate.c:1555
unsigned x[BMAX+1]
Definition inflate.c:1586
static PuglViewHint hint
Definition pugl.h:1707
Definition AudioPortAudio.cpp:209
const int MATCOL7
Definition Monstro.h:78
const int E2ROW
Definition Monstro.h:55
const int KNOBCOL1
Definition Monstro.h:57
const int KNOBCOL7
Definition Monstro.h:63
const int MATCOL6
Definition Monstro.h:77
const int MATROW6
Definition Monstro.h:86
const int KNOBCOL5
Definition Monstro.h:61
const int OPVIEW
Definition Monstro.h:88
const int MATROW2
Definition Monstro.h:82
const int MATROW4
Definition Monstro.h:84
const int MATCOL8
Definition Monstro.h:79
const int E1ROW
Definition Monstro.h:54
const int LFOCOL6
Definition Monstro.h:70
const int LFOCOL1
Definition Monstro.h:65
const int O3ROW
Definition Monstro.h:52
const int O1ROW
Definition Monstro.h:50
const int MATROW5
Definition Monstro.h:85
const int LFOCOL2
Definition Monstro.h:66
const int KNOBCOL6
Definition Monstro.h:62
const int MATROW3
Definition Monstro.h:83
const int KNOBCOL4
Definition Monstro.h:60
const int KNOBCOL3
Definition Monstro.h:59
const int LFOROW
Definition Monstro.h:53
const int LFOCOL4
Definition Monstro.h:68
@ Styled
Definition Knob.h:40
const int KNOBCOL2
Definition Monstro.h:58
const int MATVIEW
Definition Monstro.h:89
const int MATCOL5
Definition Monstro.h:76
const int MATROW1
Definition Monstro.h:81
const int MATCOL4
Definition Monstro.h:75
const int MATCOL3
Definition Monstro.h:74
const int O2ROW
Definition Monstro.h:51
const int LFOCOL3
Definition Monstro.h:67
const int MATCOL1
Definition Monstro.h:72
const int LFOCOL5
Definition Monstro.h:69
const int MATCOL2
Definition Monstro.h:73
Definition AudioAlsa.cpp:35
const int MOD_FM
Definition Monstro.h:123
const int MOD_MIX
Definition Monstro.h:121
const int NUM_LFO_WAVES
Definition Monstro.h:118
const int WAVE_RAMP
Definition Monstro.h:98
const int WAVE_SQRSOFT
Definition Monstro.h:102
const int WAVE_SINABS
Definition Monstro.h:103
const float PW_MIN
Definition Monstro.h:136
const int WAVE_SQR_D
Definition Monstro.h:110
const float PW_MAX
Definition Monstro.h:137
std::uint32_t sample_rate_t
Definition LmmsTypes.h:42
float sample_t
Definition LmmsTypes.h:39
const int WAVE_RANDOM
Definition Monstro.h:116
const float MAX_FREQ
Definition Monstro.h:130
const int WAVE_SQR
Definition Monstro.h:99
const int NUM_WAVES
Definition Monstro.h:113
const float FM_AMOUNT
Definition Monstro.h:134
const int NUM_MODS
Definition Monstro.h:125
const int WAVE_EXP
Definition Monstro.h:104
const int WAVE_SAW_D
Definition Monstro.h:108
const float MIN_FREQ
Definition Monstro.h:129
const int WAVE_RAMP_D
Definition Monstro.h:109
const float MODCLIP
Definition Monstro.h:127
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
const int WAVE_SINE
Definition Monstro.h:95
const float INTEGRATOR
Definition Monstro.h:132
const int MOD_AM
Definition Monstro.h:122
const int WAVE_RANDOM_SMOOTH
Definition Monstro.h:117
const int MOD_PM
Definition Monstro.h:124
auto fraction(std::floating_point auto x) noexcept
Returns the fractional part of a float, a value between -1.0f and 1.0f.
Definition lmms_math.h:63
const int WAVE_TRI
Definition Monstro.h:96
const int WAVE_MOOG
Definition Monstro.h:100
const int WAVE_TRI_D
Definition Monstro.h:107
const int WAVE_MOOG_D
Definition Monstro.h:111
const int WAVE_NOISE
Definition Monstro.h:105
const int WAVE_SAW
Definition Monstro.h:97
png_const_structrp png_const_inforp int * unit
Definition png.h:2161