35#include <samplerate.h>
69class AutomatableButtonGroup;
78 float * _B1wave,
float * _B2wave,
134 QDomElement & _this )
override;
135 void loadSettings(
const QDomElement & _this )
override;
165 inline float leftCh(
float _vol,
float _pan )
167 return ( _pan <= 0 ? 1.0 : 1.0 - ( _pan / 100.0 ) ) * _vol / 100.0;
170 inline float rightCh(
float _vol,
float _pan )
172 return ( _pan >= 0 ? 1.0 : 1.0 + ( _pan / 100.0 ) ) * _vol / 100.0;
176 inline void srccpy(
float* _dst,
float* _src)
191 dstIndex +=
result.outputFramesGenerated;
313 template<
class T = Knob>
315 const QString& objName) -> T*
320 knob->setObjectName(objName);
321 knob->setFixedSize(19, 19);
A utility class for resampling interleaved audio buffers using various resampling algorithms.
Definition AudioResampler.h:41
@ SincFastest
Fastest sinc-based resampling.
Definition AudioResampler.h:51
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 InstrumentTrack.h:62
Definition AutomatableModel.h:481
Definition AudioBufferView.h:291
Definition NotePlayHandle.h:48
Definition SampleFrame.h:41
Definition TempoSyncKnobModel.h:45
graphModel b2_graph
Definition Watsyn.h:256
FloatModel m_abmix
Definition Watsyn.h:258
void updateFreqB2()
Definition Watsyn.cpp:635
FloatModel a1_rtune
Definition Watsyn.h:248
void deleteNotePluginData(NotePlayHandle *_n) override
Definition Watsyn.cpp:466
graphModel a2_graph
Definition Watsyn.h:254
FloatModel b1_mult
Definition Watsyn.h:240
FloatModel a2_mult
Definition Watsyn.h:239
FloatModel b2_mult
Definition Watsyn.h:241
void updateFreqB1()
Definition Watsyn.cpp:627
IntModel m_selectedGraph
Definition Watsyn.h:271
WatsynInstrument(InstrumentTrack *_instrument_track)
Definition Watsyn.cpp:250
TempoSyncKnobModel m_envDec
Definition Watsyn.h:264
void updateVolumes()
Definition Watsyn.cpp:595
float B2_wave[WAVELEN]
Definition Watsyn.h:276
FloatModel a2_vol
Definition Watsyn.h:229
FloatModel a2_ltune
Definition Watsyn.h:244
void srccpy(float *_dst, float *_src)
Definition Watsyn.h:176
FloatModel b1_ltune
Definition Watsyn.h:245
FloatModel b1_vol
Definition Watsyn.h:230
~WatsynInstrument() override=default
float m_rfreq[NUM_OSCS]
Definition Watsyn.h:162
void updateWaveB2()
Definition Watsyn.cpp:664
float desiredReleaseTimeMs() const override
Definition Watsyn.h:139
FloatModel b1_rtune
Definition Watsyn.h:250
gui::PluginView * instantiateView(QWidget *_parent) override
Create a view for the model.
Definition Watsyn.cpp:589
FloatModel a2_pan
Definition Watsyn.h:234
void playNote(NotePlayHandle *_n, SampleFrame *_working_buffer) override
Definition Watsyn.cpp:344
FloatModel a1_vol
Definition Watsyn.h:228
FloatModel b2_pan
Definition Watsyn.h:236
float m_lfreq[NUM_OSCS]
Definition Watsyn.h:161
graphModel a1_graph
Definition Watsyn.h:253
void updateFreqA2()
Definition Watsyn.cpp:619
FloatModel b2_vol
Definition Watsyn.h:231
FloatModel m_envAmt
Definition Watsyn.h:260
void saveSettings(QDomDocument &_doc, QDomElement &_this) override
Definition Watsyn.cpp:472
FloatModel a1_ltune
Definition Watsyn.h:243
FloatModel b1_pan
Definition Watsyn.h:235
graphModel b1_graph
Definition Watsyn.h:255
float m_lvol[NUM_OSCS]
Definition Watsyn.h:158
FloatModel a1_pan
Definition Watsyn.h:233
float rightCh(float _vol, float _pan)
Definition Watsyn.h:170
float leftCh(float _vol, float _pan)
Definition Watsyn.h:165
void updateWaveA2()
Definition Watsyn.cpp:650
float B1_wave[WAVELEN]
Definition Watsyn.h:275
float m_rvol[NUM_OSCS]
Definition Watsyn.h:159
FloatModel b2_rtune
Definition Watsyn.h:251
float A2_wave[WAVELEN]
Definition Watsyn.h:274
FloatModel a1_mult
Definition Watsyn.h:238
void updateWaveB1()
Definition Watsyn.cpp:657
void loadSettings(const QDomElement &_this) override
Definition Watsyn.cpp:526
void updateWaveA1()
Definition Watsyn.cpp:643
IntModel m_amod
Definition Watsyn.h:268
TempoSyncKnobModel m_envHold
Definition Watsyn.h:263
QString nodeName() const override
Definition Watsyn.cpp:583
FloatModel m_xtalk
Definition Watsyn.h:266
FloatModel b2_ltune
Definition Watsyn.h:246
friend class WatsynObject
Definition Watsyn.h:278
FloatModel a2_rtune
Definition Watsyn.h:249
void updateFreqA1()
Definition Watsyn.cpp:611
TempoSyncKnobModel m_envAtt
Definition Watsyn.h:262
float A1_wave[WAVELEN]
Definition Watsyn.h:273
AudioResampler m_resampler
Definition Watsyn.h:226
IntModel m_bmod
Definition Watsyn.h:269
SampleFrame * abuf() const
Definition Watsyn.h:85
float m_B1wave[WAVELEN]
Definition Watsyn.h:117
float m_A1wave[WAVELEN]
Definition Watsyn.h:115
float m_B2wave[WAVELEN]
Definition Watsyn.h:118
f_cnt_t m_fpp
Definition Watsyn.h:105
SampleFrame * bbuf() const
Definition Watsyn.h:89
NotePlayHandle * m_nph
Definition Watsyn.h:103
int m_amod
Definition Watsyn.h:99
int m_bmod
Definition Watsyn.h:100
WatsynObject(float *_A1wave, float *_A2wave, float *_B1wave, float *_B2wave, int _amod, int _bmod, const sample_rate_t _samplerate, NotePlayHandle *_nph, f_cnt_t _frames, WatsynInstrument *_w)
Definition Watsyn.cpp:65
virtual ~WatsynObject()
Definition Watsyn.cpp:99
WatsynInstrument * m_parent
Definition Watsyn.h:107
void renderOutput(f_cnt_t _frames)
Definition Watsyn.cpp:106
SampleFrame * m_abuf
Definition Watsyn.h:109
float m_A2wave[WAVELEN]
Definition Watsyn.h:116
float m_lphase[NUM_OSCS]
Definition Watsyn.h:112
float m_rphase[NUM_OSCS]
Definition Watsyn.h:113
const sample_rate_t m_samplerate
Definition Watsyn.h:102
sample_rate_t samplerate() const
Definition Watsyn.h:93
SampleFrame * m_bbuf
Definition Watsyn.h:110
2 dimensional function plot
Definition Graph.h:134
Instrument view with fixed LMMS-default size.
Definition InstrumentView.h:66
Definition PluginView.h:36
Definition TempoSyncKnob.h:41
Graph * b1_graph
Definition Watsyn.h:367
Knob * m_xtalkKnob
Definition Watsyn.h:359
Knob * b1_rtuneKnob
Definition Watsyn.h:348
AutomatableButtonGroup * m_selectedGraphGroup
Definition Watsyn.h:361
Knob * b1_ltuneKnob
Definition Watsyn.h:343
Knob * b2_multKnob
Definition Watsyn.h:339
Knob * a2_volKnob
Definition Watsyn.h:327
Knob * a1_rtuneKnob
Definition Watsyn.h:346
PixmapButton * m_sawWaveButton
Definition Watsyn.h:372
Knob * m_abmixKnob
Definition Watsyn.h:351
Graph * b2_graph
Definition Watsyn.h:368
void sqrWaveClicked()
Definition Watsyn.cpp:1051
Knob * a1_panKnob
Definition Watsyn.h:331
void sinWaveClicked()
Definition Watsyn.cpp:979
void sawWaveClicked()
Definition Watsyn.cpp:1027
PixmapButton * m_invertButton
Definition Watsyn.h:375
TempoSyncKnob * m_envHoldKnob
Definition Watsyn.h:356
Knob * b1_panKnob
Definition Watsyn.h:333
Graph * a1_graph
Definition Watsyn.h:365
PixmapButton * m_phaseRightButton
Definition Watsyn.h:378
Knob * a1_multKnob
Definition Watsyn.h:336
TempoSyncKnob * m_envDecKnob
Definition Watsyn.h:357
Knob * m_envAmtKnob
Definition Watsyn.h:353
Knob * b2_ltuneKnob
Definition Watsyn.h:344
void normalizeClicked()
Definition Watsyn.cpp:1075
Knob * b1_volKnob
Definition Watsyn.h:328
Knob * a1_volKnob
Definition Watsyn.h:326
AutomatableButtonGroup * m_aModGroup
Definition Watsyn.h:362
PixmapButton * m_loadButton
Definition Watsyn.h:379
void invertClicked()
Definition Watsyn.cpp:1099
PixmapButton * m_triWaveButton
Definition Watsyn.h:371
auto makeKnob(int x, int y, const QString &hint, const QString &unit, const QString &objName) -> T *
Definition Watsyn.h:314
Knob * a2_ltuneKnob
Definition Watsyn.h:342
void smoothClicked()
Definition Watsyn.cpp:1123
Knob * a1_ltuneKnob
Definition Watsyn.h:341
PixmapButton * m_sinWaveButton
Definition Watsyn.h:370
PixmapButton * m_normalizeButton
Definition Watsyn.h:374
void updateLayout()
Definition Watsyn.cpp:946
void triWaveClicked()
Definition Watsyn.cpp:1003
void modelChanged() override
Definition Watsyn.cpp:1220
Knob * a2_multKnob
Definition Watsyn.h:337
void phaseRightClicked()
Definition Watsyn.cpp:1171
Knob * b1_multKnob
Definition Watsyn.h:338
WatsynView(Instrument *_instrument, QWidget *_parent)
Definition Watsyn.cpp:675
PixmapButton * m_phaseLeftButton
Definition Watsyn.h:377
Knob * a2_panKnob
Definition Watsyn.h:332
PixmapButton * m_sqrWaveButton
Definition Watsyn.h:373
Knob * b2_panKnob
Definition Watsyn.h:334
AutomatableButtonGroup * m_bModGroup
Definition Watsyn.h:363
Knob * b2_volKnob
Definition Watsyn.h:329
void phaseLeftClicked()
Definition Watsyn.cpp:1147
Knob * b2_rtuneKnob
Definition Watsyn.h:349
PixmapButton * m_smoothButton
Definition Watsyn.h:376
~WatsynView() override=default
Knob * a2_rtuneKnob
Definition Watsyn.h:347
Graph * a2_graph
Definition Watsyn.h:366
TempoSyncKnob * m_envAttKnob
Definition Watsyn.h:355
void loadClicked()
Definition Watsyn.cpp:1195
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
static PuglViewHint hint
Definition pugl.h:1707
Definition AudioPortAudio.cpp:209
@ Styled
Definition Knob.h:40
Definition AudioAlsa.cpp:35
const int WAVERATIO
Definition Watsyn.h:48
const int MOD_MIX
Definition Monstro.h:121
const int B2_OSC
Definition Watsyn.h:62
std::uint32_t sample_rate_t
Definition LmmsTypes.h:42
const int B1_OSC
Definition Watsyn.h:61
const int WAVELEN
Definition Watsyn.h:50
const int MOD_RM
Definition Watsyn.h:55
const int GRAPHLEN
Definition Watsyn.h:46
const int PMOD_AMT
Definition Watsyn.h:51
const int NUM_MODS
Definition Monstro.h:125
const int A2_OSC
Definition Watsyn.h:60
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
const int MOD_AM
Definition Monstro.h:122
const int NUM_OSCS
Definition Watsyn.h:63
const int MOD_PM
Definition Monstro.h:124
const int A1_OSC
Definition Watsyn.h:59
png_const_structrp png_const_inforp int * unit
Definition png.h:2161
int result
Definition process.c:1455