24 changes: 4 additions & 20 deletions plugins/PowerJuice/PowerJuiceUI.hpp
Expand Up @@ -20,10 +20,7 @@

#include "DistrhoUI.hpp"

#include "ImageAboutWindow.hpp"
#include "ImageButton.hpp"
#include "ImageKnob.hpp"
#include "ImageSlider.hpp"
#include "ImageWidgets.hpp"

#include "PowerJuiceArtwork.hpp"
#include "PowerJuicePlugin.hpp"
Expand All @@ -47,29 +44,16 @@ class PowerJuiceUI : public UI,
PowerJuiceUI();

protected:
// -------------------------------------------------------------------
// Information

uint d_getWidth() const noexcept override
{
return PowerJuiceArtwork::backgroundWidth;
}

uint d_getHeight() const noexcept override
{
return PowerJuiceArtwork::backgroundHeight;
}

// -------------------------------------------------------------------
// DSP Callbacks

void d_parameterChanged(uint32_t index, float value) override;
void d_programChanged(uint32_t index) override;
void parameterChanged(uint32_t index, float value) override;
void programLoaded(uint32_t index) override;

// -------------------------------------------------------------------
// UI Callbacks

void d_uiIdle() override;
void uiIdle() override;

// -------------------------------------------------------------------
// Widget Callbacks
Expand Down
48 changes: 24 additions & 24 deletions plugins/PowerJuiceX2/PowerJuiceX2Plugin.cpp
Expand Up @@ -27,10 +27,10 @@ PowerJuiceX2Plugin::PowerJuiceX2Plugin()
: Plugin(paramCount, 1, 0) // 1 program, 0 states
{
// set default values
d_setProgram(0);
loadProgram(0);

// reset
d_deactivate();
deactivate();
}

PowerJuiceX2Plugin::~PowerJuiceX2Plugin()
Expand All @@ -42,12 +42,12 @@ PowerJuiceX2Plugin::~PowerJuiceX2Plugin()
// -----------------------------------------------------------------------
// Init

void PowerJuiceX2Plugin::d_initParameter(uint32_t index, Parameter& parameter)
void PowerJuiceX2Plugin::initParameter(uint32_t index, Parameter& parameter)
{
switch (index)
{
case paramAttack:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Attack";
parameter.symbol = "att";
parameter.unit = "ms";
Expand All @@ -56,7 +56,7 @@ void PowerJuiceX2Plugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 1000.0f;
break;
case paramRelease:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Release";
parameter.symbol = "rel";
parameter.unit = "ms";
Expand All @@ -65,7 +65,7 @@ void PowerJuiceX2Plugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 1000.0f;
break;
case paramThreshold:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Threshold";
parameter.symbol = "thr";
parameter.unit = "dB";
Expand All @@ -74,7 +74,7 @@ void PowerJuiceX2Plugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 0.0f;
break;
case paramRatio:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Ratio";
parameter.symbol = "rat";
parameter.unit = "";
Expand All @@ -83,7 +83,7 @@ void PowerJuiceX2Plugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 10.0f;
break;
case paramMakeup:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Make-Up";
parameter.symbol = "mak";
parameter.unit = "";
Expand All @@ -92,7 +92,7 @@ void PowerJuiceX2Plugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 20.0f;
break;
case paramMix:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Mix";
parameter.symbol = "Mix";
parameter.unit = "";
Expand All @@ -104,7 +104,7 @@ void PowerJuiceX2Plugin::d_initParameter(uint32_t index, Parameter& parameter)
}
}

void PowerJuiceX2Plugin::d_initProgramName(uint32_t index, d_string& programName)
void PowerJuiceX2Plugin::initProgramName(uint32_t index, String& programName)
{
if (index != 0)
return;
Expand All @@ -115,7 +115,7 @@ void PowerJuiceX2Plugin::d_initProgramName(uint32_t index, d_string& programName
// -----------------------------------------------------------------------
// Internal data

float PowerJuiceX2Plugin::d_getParameterValue(uint32_t index) const
float PowerJuiceX2Plugin::getParameterValue(uint32_t index) const
{
switch (index)
{
Expand All @@ -136,17 +136,17 @@ float PowerJuiceX2Plugin::d_getParameterValue(uint32_t index) const
}
}

void PowerJuiceX2Plugin::d_setParameterValue(uint32_t index, float value)
void PowerJuiceX2Plugin::setParameterValue(uint32_t index, float value)
{
switch (index)
{
case paramAttack:
attack = value;
attackSamples = d_getSampleRate()*(attack/1000.0f);
attackSamples = getSampleRate()*(attack/1000.0f);
break;
case paramRelease:
release = value;
releaseSamples = d_getSampleRate()*(release/1000.0f);
releaseSamples = getSampleRate()*(release/1000.0f);
break;
case paramThreshold:
threshold = value;
Expand All @@ -164,7 +164,7 @@ void PowerJuiceX2Plugin::d_setParameterValue(uint32_t index, float value)
}
}

void PowerJuiceX2Plugin::d_setProgram(uint32_t index)
void PowerJuiceX2Plugin::loadProgram(uint32_t index)
{
if (index != 0)
return;
Expand All @@ -178,8 +178,8 @@ void PowerJuiceX2Plugin::d_setProgram(uint32_t index)
mix = 1.0f;

makeupFloat = fromDB(makeup);
attackSamples = d_getSampleRate()*(attack/1000.0f);
releaseSamples = d_getSampleRate()*(release/1000.0f);
attackSamples = getSampleRate()*(attack/1000.0f);
releaseSamples = getSampleRate()*(release/1000.0f);



Expand Down Expand Up @@ -207,13 +207,13 @@ void PowerJuiceX2Plugin::d_setProgram(uint32_t index)
repaintSkip = 0;


kFloatRMSStackCount = 400.0f/44100.0f*d_getSampleRate();
kFloatRMSStackCount = 400.0f/44100.0f*getSampleRate();
RMSStack.data = (float*) calloc(kFloatRMSStackCount, sizeof(float));

kFloatLookaheadStackCount = 800.0f/44100.0f*d_getSampleRate();
kFloatLookaheadStackCount = 800.0f/44100.0f*getSampleRate();
lookaheadStack.data = (float*) calloc(kFloatLookaheadStackCount, sizeof(float));

refreshSkip= 300.0f/44100.0f*d_getSampleRate();
refreshSkip= 300.0f/44100.0f*getSampleRate();

std::memset(rms.data, 0, sizeof(float)*kFloatStackCount);
std::memset(gainReduction.data, 0, sizeof(float)*kFloatStackCount);
Expand All @@ -225,7 +225,7 @@ void PowerJuiceX2Plugin::d_setProgram(uint32_t index)
for (int j=0; j < kFloatStackCount; ++j)
history.gainReduction[j] = h +y;

d_activate();
activate();

}

Expand All @@ -248,16 +248,16 @@ float PowerJuiceX2Plugin::getGainReductionHistory(int n) {
// -----------------------------------------------------------------------
// Process

void PowerJuiceX2Plugin::d_activate()
void PowerJuiceX2Plugin::activate()
{
}

void PowerJuiceX2Plugin::d_deactivate()
void PowerJuiceX2Plugin::deactivate()
{
// all values to zero
}

void PowerJuiceX2Plugin::d_run(const float** inputs, float** outputs, uint32_t frames)
void PowerJuiceX2Plugin::run(const float** inputs, float** outputs, uint32_t frames)
{
const float* in1 = inputs[0];
const float* in2 = inputs[1];
Expand Down
26 changes: 13 additions & 13 deletions plugins/PowerJuiceX2/PowerJuiceX2Plugin.hpp
Expand Up @@ -70,50 +70,50 @@ class PowerJuiceX2Plugin : public Plugin
// -------------------------------------------------------------------
// Information

const char* d_getLabel() const noexcept override
const char* getLabel() const noexcept override
{
return "PowerJuiceX2";
}

const char* d_getMaker() const noexcept override
const char* getMaker() const noexcept override
{
return "Andre Sklenar";
}

const char* d_getLicense() const noexcept override
const char* getLicense() const noexcept override
{
return "GPL v2+";
}

uint32_t d_getVersion() const noexcept override
uint32_t getVersion() const noexcept override
{
return 0x1000;
}

long d_getUniqueId() const noexcept override
long getUniqueId() const noexcept override
{
return d_cconst('P', 'w', 'J', 'X');
}

// -------------------------------------------------------------------
// Init

void d_initParameter(uint32_t index, Parameter& parameter) override;
void d_initProgramName(uint32_t index, d_string& programName) override;
void initParameter(uint32_t index, Parameter& parameter) override;
void initProgramName(uint32_t index, String& programName) override;

// -------------------------------------------------------------------
// Internal data

float d_getParameterValue(uint32_t index) const override;
void d_setParameterValue(uint32_t index, float value) override;
void d_setProgram(uint32_t index) override;
float getParameterValue(uint32_t index) const override;
void setParameterValue(uint32_t index, float value) override;
void loadProgram(uint32_t index) override;

// -------------------------------------------------------------------
// Process

void d_activate() override;
void d_deactivate() override;
void d_run(const float** inputs, float** outputs, uint32_t frames) override;
void activate() override;
void deactivate() override;
void run(const float** inputs, float** outputs, uint32_t frames) override;

// -------------------------------------------------------------------

Expand Down
48 changes: 24 additions & 24 deletions plugins/PowerJuiceX2/PowerJuiceX2UI.cpp
Expand Up @@ -27,9 +27,9 @@ START_NAMESPACE_DISTRHO
// -----------------------------------------------------------------------

PowerJuiceX2UI::PowerJuiceX2UI()
: UI(),
: UI(PowerJuiceX2Artwork::backgroundWidth, PowerJuiceX2Artwork::backgroundHeight),
fAboutWindow(this),
dsp((PowerJuiceX2Plugin*)d_getPluginInstancePointer())
dsp((PowerJuiceX2Plugin*)getPluginInstancePointer())
{
DISTRHO_SAFE_ASSERT(dsp != nullptr);

Expand Down Expand Up @@ -100,13 +100,13 @@ PowerJuiceX2UI::PowerJuiceX2UI()
fButtonAbout->setCallback(this);

// set default values
d_programChanged(0);
programLoaded(0);
}

// -----------------------------------------------------------------------
// DSP Callbacks

void PowerJuiceX2UI::d_parameterChanged(uint32_t index, float value)
void PowerJuiceX2UI::parameterChanged(uint32_t index, float value)
{
switch (index)
{
Expand All @@ -131,7 +131,7 @@ void PowerJuiceX2UI::d_parameterChanged(uint32_t index, float value)
}
}

void PowerJuiceX2UI::d_programChanged(uint32_t index)
void PowerJuiceX2UI::programLoaded(uint32_t index)
{
if (index != 0)
return;
Expand Down Expand Up @@ -159,53 +159,53 @@ void PowerJuiceX2UI::imageButtonClicked(ImageButton* button, int)
void PowerJuiceX2UI::imageKnobDragStarted(ImageKnob* knob)
{
if (knob == fKnobAttack)
d_editParameter(PowerJuiceX2Plugin::paramAttack, true);
editParameter(PowerJuiceX2Plugin::paramAttack, true);
else if (knob == fKnobRelease)
d_editParameter(PowerJuiceX2Plugin::paramRelease, true);
editParameter(PowerJuiceX2Plugin::paramRelease, true);
else if (knob == fKnobThreshold)
d_editParameter(PowerJuiceX2Plugin::paramThreshold, true);
editParameter(PowerJuiceX2Plugin::paramThreshold, true);
else if (knob == fKnobRatio)
d_editParameter(PowerJuiceX2Plugin::paramRatio, true);
editParameter(PowerJuiceX2Plugin::paramRatio, true);
else if (knob == fKnobMakeup)
d_editParameter(PowerJuiceX2Plugin::paramMakeup, true);
editParameter(PowerJuiceX2Plugin::paramMakeup, true);
else if (knob == fKnobMix)
d_editParameter(PowerJuiceX2Plugin::paramMix, true);
editParameter(PowerJuiceX2Plugin::paramMix, true);
}

void PowerJuiceX2UI::imageKnobDragFinished(ImageKnob* knob)
{
if (knob == fKnobAttack)
d_editParameter(PowerJuiceX2Plugin::paramAttack, false);
editParameter(PowerJuiceX2Plugin::paramAttack, false);
else if (knob == fKnobRelease)
d_editParameter(PowerJuiceX2Plugin::paramRelease, false);
editParameter(PowerJuiceX2Plugin::paramRelease, false);
else if (knob == fKnobThreshold)
d_editParameter(PowerJuiceX2Plugin::paramThreshold, false);
editParameter(PowerJuiceX2Plugin::paramThreshold, false);
else if (knob == fKnobRatio)
d_editParameter(PowerJuiceX2Plugin::paramRatio, false);
editParameter(PowerJuiceX2Plugin::paramRatio, false);
else if (knob == fKnobMakeup)
d_editParameter(PowerJuiceX2Plugin::paramMakeup, false);
editParameter(PowerJuiceX2Plugin::paramMakeup, false);
else if (knob == fKnobMix)
d_editParameter(PowerJuiceX2Plugin::paramMix, false);
editParameter(PowerJuiceX2Plugin::paramMix, false);
}

void PowerJuiceX2UI::imageKnobValueChanged(ImageKnob* knob, float value)
{
if (knob == fKnobAttack)
d_setParameterValue(PowerJuiceX2Plugin::paramAttack, value);
setParameterValue(PowerJuiceX2Plugin::paramAttack, value);
else if (knob == fKnobRelease)
d_setParameterValue(PowerJuiceX2Plugin::paramRelease, value);
setParameterValue(PowerJuiceX2Plugin::paramRelease, value);
else if (knob == fKnobThreshold)
d_setParameterValue(PowerJuiceX2Plugin::paramThreshold, value);
setParameterValue(PowerJuiceX2Plugin::paramThreshold, value);
else if (knob == fKnobRatio)
d_setParameterValue(PowerJuiceX2Plugin::paramRatio, value);
setParameterValue(PowerJuiceX2Plugin::paramRatio, value);
else if (knob == fKnobMakeup)
d_setParameterValue(PowerJuiceX2Plugin::paramMakeup, value);
setParameterValue(PowerJuiceX2Plugin::paramMakeup, value);
else if (knob == fKnobMix)
d_setParameterValue(PowerJuiceX2Plugin::paramMix, value);
setParameterValue(PowerJuiceX2Plugin::paramMix, value);

}

void PowerJuiceX2UI::d_uiIdle()
void PowerJuiceX2UI::uiIdle()
{
if (dsp != nullptr && dsp->repaintNeeded())
repaint();
Expand Down
28 changes: 6 additions & 22 deletions plugins/PowerJuiceX2/PowerJuiceX2UI.hpp
Expand Up @@ -20,10 +20,7 @@

#include "DistrhoUI.hpp"

#include "ImageAboutWindow.hpp"
#include "ImageButton.hpp"
#include "ImageKnob.hpp"
#include "ImageSlider.hpp"
#include "ImageWidgets.hpp"

#include "PowerJuiceX2Artwork.hpp"
#include "PowerJuiceX2Plugin.hpp"
Expand All @@ -40,36 +37,23 @@ START_NAMESPACE_DISTRHO
// -----------------------------------------------------------------------

class PowerJuiceX2UI : public UI,
public ImageButton::Callback,
public ImageKnob::Callback
public ImageButton::Callback,
public ImageKnob::Callback
{
public:
PowerJuiceX2UI();

protected:
// -------------------------------------------------------------------
// Information

uint d_getWidth() const noexcept override
{
return PowerJuiceX2Artwork::backgroundWidth;
}

uint d_getHeight() const noexcept override
{
return PowerJuiceX2Artwork::backgroundHeight;
}

// -------------------------------------------------------------------
// DSP Callbacks

void d_parameterChanged(uint32_t index, float value) override;
void d_programChanged(uint32_t index) override;
void parameterChanged(uint32_t index, float value) override;
void programLoaded(uint32_t index) override;

// -------------------------------------------------------------------
// UI Callbacks

void d_uiIdle() override;
void uiIdle() override;

// -------------------------------------------------------------------
// Widget Callbacks
Expand Down
37 changes: 20 additions & 17 deletions plugins/StutterJuice/StutterJuicePlugin.cpp
Expand Up @@ -31,29 +31,29 @@ StutterJuicePlugin::StutterJuicePlugin()
{

// set default values
d_setProgram(0);
loadProgram(0);

// reset
d_deactivate();
deactivate();
}


// -----------------------------------------------------------------------
// Init

void StutterJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
void StutterJuicePlugin::initParameter(uint32_t index, Parameter& parameter)
{

if (index<26) {
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "";
parameter.symbol = "";
parameter.unit = "";
parameter.ranges.def = 0.0f;
parameter.ranges.min = 0.0f;
parameter.ranges.max = 1.0f;
} else {
parameter.hints = PARAMETER_IS_OUTPUT;
parameter.hints = kParameterIsOutput;
parameter.name = "";
parameter.symbol = "";
parameter.unit = "";
Expand All @@ -63,7 +63,7 @@ void StutterJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
}
}

void StutterJuicePlugin::d_initProgramName(uint32_t index, d_string& programName)
void StutterJuicePlugin::initProgramName(uint32_t index, String& programName)
{
if (index != 0)
return;
Expand All @@ -74,7 +74,7 @@ void StutterJuicePlugin::d_initProgramName(uint32_t index, d_string& programName
// -----------------------------------------------------------------------
// Internal data

float StutterJuicePlugin::d_getParameterValue(uint32_t index) const
float StutterJuicePlugin::getParameterValue(uint32_t index) const
{
if (index<26) {
int module = index/3;
Expand All @@ -85,7 +85,7 @@ float StutterJuicePlugin::d_getParameterValue(uint32_t index) const
}
}

void StutterJuicePlugin::d_setParameterValue(uint32_t index, float value)
void StutterJuicePlugin::setParameterValue(uint32_t index, float value)
{
int module = index/3;
int param = index%3;
Expand All @@ -96,7 +96,7 @@ void StutterJuicePlugin::d_setParameterValue(uint32_t index, float value)
}
}

void StutterJuicePlugin::d_setProgram(uint32_t index)
void StutterJuicePlugin::loadProgram(uint32_t index)
{

if (index != 0)
Expand All @@ -118,27 +118,27 @@ void StutterJuicePlugin::d_setProgram(uint32_t index)
modules[5] = new CFilter();

for (int module=0; module<6; module++) {
modules[module]->setSampleRate(d_getSampleRate());
modules[module]->setSampleRate(getSampleRate());
modules[module]->initBuffers();
}

d_activate();
activate();

}

// -----------------------------------------------------------------------
// Process

void StutterJuicePlugin::d_activate()
void StutterJuicePlugin::activate()
{

}

void StutterJuicePlugin::d_deactivate()
void StutterJuicePlugin::deactivate()
{
}

void StutterJuicePlugin::d_run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount)
void StutterJuicePlugin::run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount)
{


Expand Down Expand Up @@ -167,9 +167,12 @@ void StutterJuicePlugin::d_run(const float** inputs, float** outputs, uint32_t f
int userNote = 48;//TODO
int range=6;

int mType = midiEvents[i].buf[0] & 0xF0;
int mChan = midiEvents[i].buf[0] & 0x0F;
int mNum = midiEvents[i].buf[1];
if (midiEvents[i].size > MidiEvent::kDataSize)
continue;

int mType = midiEvents[i].data[0] & 0xF0;
int mChan = midiEvents[i].data[0] & 0x0F;
int mNum = midiEvents[i].data[1];

if (mNum>=userNote && mNum<userNote+range) {
int module = mNum-userNote;
Expand Down
30 changes: 15 additions & 15 deletions plugins/StutterJuice/StutterJuicePlugin.hpp
Expand Up @@ -60,8 +60,8 @@ class StutterJuicePlugin : public Plugin
//if (i==4)
//printf("divider: %i\n", tempoDivider);
/* sample count for one bar */
const TimePos& time = d_getTimePos();
bar = ((120.0/(time.bbt.valid ? time.bbt.beatsPerMinute : 120.0))*(d_getSampleRate())); //ONE, two, three, four
const TimePosition& time(getTimePosition());
bar = ((120.0/(time.bbt.valid ? time.bbt.beatsPerMinute : 120.0))*(getSampleRate())); //ONE, two, three, four
tick = bar/(std::round(params[i][0]*16+2))*tempoDivider; //size of one target wob
//if (time.bbt.valid) printf("hell yeah!\n");
if (time.playing)
Expand Down Expand Up @@ -104,50 +104,50 @@ class StutterJuicePlugin : public Plugin
// -------------------------------------------------------------------
// Information

const char* d_getLabel() const noexcept override
const char* getLabel() const noexcept override
{
return "StutterJuice";
}

const char* d_getMaker() const noexcept override
const char* getMaker() const noexcept override
{
return "Andre Sklenar";
}

const char* d_getLicense() const noexcept override
const char* getLicense() const noexcept override
{
return "GPL v2+";
}

uint32_t d_getVersion() const noexcept override
uint32_t getVersion() const noexcept override
{
return 0x1000;
}

long d_getUniqueId() const noexcept override
long getUniqueId() const noexcept override
{
return d_cconst('S', 't', 't', 'J');
}

// -------------------------------------------------------------------
// Init

void d_initParameter(uint32_t index, Parameter& parameter) override;
void d_initProgramName(uint32_t index, d_string& programName) override;
void initParameter(uint32_t index, Parameter& parameter) override;
void initProgramName(uint32_t index, String& programName) override;

// -------------------------------------------------------------------
// Internal data

float d_getParameterValue(uint32_t index) const override;
void d_setParameterValue(uint32_t index, float value) override;
void d_setProgram(uint32_t index) override;
float getParameterValue(uint32_t index) const override;
void setParameterValue(uint32_t index, float value) override;
void loadProgram(uint32_t index) override;

// -------------------------------------------------------------------
// Process

void d_activate() override;
void d_deactivate() override;
void d_run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override;
void activate() override;
void deactivate() override;
void run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override;

// -------------------------------------------------------------------

Expand Down
35 changes: 10 additions & 25 deletions plugins/StutterJuice/StutterJuiceUI.cpp
Expand Up @@ -17,14 +17,16 @@

#include "StutterJuiceUI.hpp"

#include "StutterJuiceArtwork.hpp"

using DGL::Point;

START_NAMESPACE_DISTRHO

// -----------------------------------------------------------------------

StutterJuiceUI::StutterJuiceUI()
: UI(),
: UI(StutterJuiceArtwork::backgroundWidth, StutterJuiceArtwork::backgroundHeight),
fAboutWindow(this)
{
// background
Expand Down Expand Up @@ -69,6 +71,7 @@ StutterJuiceUI::StutterJuiceUI()
fSliders[module][param]->setRange(0.0f, 1.0f);
fSliders[module][param]->setValue(0.0f);
fSliders[module][param]->setStep(0.125f);
fSliders[module][param]->setId(module*3+param);
fSliders[module][param]->setCallback(this);

}
Expand All @@ -77,13 +80,13 @@ StutterJuiceUI::StutterJuiceUI()
}

// set default values
d_programChanged(0);
programLoaded(0);
}

// -----------------------------------------------------------------------
// DSP Callbacks

void StutterJuiceUI::d_parameterChanged(uint32_t index, float value)
void StutterJuiceUI::parameterChanged(uint32_t index, float value)
{
if (index<26) {
int module = index/3;
Expand All @@ -95,7 +98,7 @@ void StutterJuiceUI::d_parameterChanged(uint32_t index, float value)
}
}

void StutterJuiceUI::d_programChanged(uint32_t index)
void StutterJuiceUI::programLoaded(uint32_t index)
{
if (index != 0)
return;
Expand All @@ -114,35 +117,17 @@ void StutterJuiceUI::imageButtonClicked(ImageButton* button, int)

void StutterJuiceUI::imageSliderDragStarted(ImageSlider* slider)
{
for (int module=0; module<9; module++) {
for (int param=0; param<3; param++) {
if (slider == fSliders[module][param]) {
d_editParameter(module*3+param, true);
}
}
}
editParameter(slider->getId(), true);
}

void StutterJuiceUI::imageSliderDragFinished(ImageSlider* slider)
{
for (int module=0; module<9; module++) {
for (int param=0; param<3; param++) {
if (slider == fSliders[module][param]) {
d_editParameter(module*3+param, false);
}
}
}
editParameter(slider->getId(), false);
}

void StutterJuiceUI::imageSliderValueChanged(ImageSlider* slider, float value)
{
for (int module=0; module<9; module++) {
for (int param=0; param<3; param++) {
if (slider == fSliders[module][param]) {
d_setParameterValue(module*3+param, value);
}
}
}
setParameterValue(slider->getId(), value);
}

void StutterJuiceUI::onDisplay()
Expand Down
26 changes: 3 additions & 23 deletions plugins/StutterJuice/StutterJuiceUI.hpp
Expand Up @@ -20,14 +20,7 @@

#include "DistrhoUI.hpp"

#include "Geometry.hpp"
#include "ImageAboutWindow.hpp"
#include "ImageButton.hpp"
#include "ImageKnob.hpp"
#include "ImageSlider.hpp"

#include "StutterJuiceArtwork.hpp"
#include "StutterJuicePlugin.hpp"
#include "ImageWidgets.hpp"

using DGL::Image;
using DGL::ImageAboutWindow;
Expand All @@ -48,24 +41,11 @@ class StutterJuiceUI : public UI,
StutterJuiceUI();

protected:
// -------------------------------------------------------------------
// Information

uint d_getWidth() const noexcept override
{
return StutterJuiceArtwork::backgroundWidth;
}

uint d_getHeight() const noexcept override
{
return StutterJuiceArtwork::backgroundHeight;
}

// -------------------------------------------------------------------
// DSP Callbacks

void d_parameterChanged(uint32_t index, float value) override;
void d_programChanged(uint32_t index) override;
void parameterChanged(uint32_t index, float value) override;
void programLoaded(uint32_t index) override;

// -------------------------------------------------------------------
// Widget Callbacks
Expand Down
51 changes: 27 additions & 24 deletions plugins/TriggerJuice/TriggerJuicePlugin.cpp
Expand Up @@ -30,10 +30,10 @@ TriggerJuicePlugin::TriggerJuicePlugin()
: Plugin(paramCount, 1, 0) // 1 program, 0 states
{
// set default values
d_setProgram(0);
loadProgram(0);

// reset
d_deactivate();
deactivate();
}

TriggerJuicePlugin::~TriggerJuicePlugin()
Expand All @@ -44,12 +44,12 @@ TriggerJuicePlugin::~TriggerJuicePlugin()
// -----------------------------------------------------------------------
// Init

void TriggerJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
void TriggerJuicePlugin::initParameter(uint32_t index, Parameter& parameter)
{
switch (index)
{
case paramAttack:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Attack";
parameter.symbol = "att";
parameter.unit = "seconds";
Expand All @@ -59,7 +59,7 @@ void TriggerJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramRelease:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Release";
parameter.symbol = "rel";
parameter.unit = "seconds";
Expand All @@ -69,7 +69,7 @@ void TriggerJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramRev:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Reverse";
parameter.symbol = "rev";
parameter.unit = "";
Expand All @@ -79,7 +79,7 @@ void TriggerJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramSplit:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Split";
parameter.symbol = "spl";
parameter.unit = "";
Expand All @@ -89,7 +89,7 @@ void TriggerJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramMS:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "M/S";
parameter.symbol = "ms";
parameter.unit = "";
Expand All @@ -103,7 +103,7 @@ void TriggerJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)

}

void TriggerJuicePlugin::d_initProgramName(uint32_t index, d_string& programName)
void TriggerJuicePlugin::initProgramName(uint32_t index, String& programName)
{
if (index != 0)
return;
Expand All @@ -114,7 +114,7 @@ void TriggerJuicePlugin::d_initProgramName(uint32_t index, d_string& programName
// -----------------------------------------------------------------------
// Internal data

float TriggerJuicePlugin::d_getParameterValue(uint32_t index) const
float TriggerJuicePlugin::getParameterValue(uint32_t index) const
{
switch (index)
{
Expand All @@ -133,7 +133,7 @@ float TriggerJuicePlugin::d_getParameterValue(uint32_t index) const
}
}

void TriggerJuicePlugin::d_setParameterValue(uint32_t index, float value)
void TriggerJuicePlugin::setParameterValue(uint32_t index, float value)
{
switch (index)
{
Expand All @@ -143,9 +143,9 @@ void TriggerJuicePlugin::d_setParameterValue(uint32_t index, float value)
case paramRev:
rev = value;
if (rev<0.5) {
left.close(d_getSampleRate()/10); right.close(d_getSampleRate()/10);
left.close(getSampleRate()/10); right.close(getSampleRate()/10);
} else {
left.open(d_getSampleRate()/10); right.open(d_getSampleRate()/10);
left.open(getSampleRate()/10); right.open(getSampleRate()/10);
}
break;
case paramAttack:
Expand All @@ -160,7 +160,7 @@ void TriggerJuicePlugin::d_setParameterValue(uint32_t index, float value)
}
}

void TriggerJuicePlugin::d_setProgram(uint32_t index)
void TriggerJuicePlugin::loadProgram(uint32_t index)
{
if (index != 0)
return;
Expand All @@ -176,8 +176,8 @@ void TriggerJuicePlugin::d_setProgram(uint32_t index)
attack=release=0;
rev=split=MS=0;

left.setSr(d_getSampleRate());
right.setSr(d_getSampleRate());
left.setSr(getSampleRate());
right.setSr(getSampleRate());

//parameter smoothing
for (int i=0; i<2; i++) {
Expand All @@ -187,23 +187,23 @@ void TriggerJuicePlugin::d_setProgram(uint32_t index)
}

/* reset filter values */
d_activate();
activate();
}

// -----------------------------------------------------------------------
// Process

void TriggerJuicePlugin::d_activate()
void TriggerJuicePlugin::activate()
{
//sinePos = 0;
}

void TriggerJuicePlugin::d_deactivate()
void TriggerJuicePlugin::deactivate()
{
// all values to zero
}

void TriggerJuicePlugin::d_run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount)
void TriggerJuicePlugin::run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount)
{

for (uint32_t i; i<frames; i++) {
Expand Down Expand Up @@ -239,14 +239,17 @@ void TriggerJuicePlugin::d_run(const float** inputs, float** outputs, uint32_t f

for (uint32_t i; i<midiEventCount; i++) {

int mType = midiEvents[i].buf[0] & 0xF0;
int mChan = midiEvents[i].buf[0] & 0x0F;
int mNum = midiEvents[i].buf[1];
if (midiEvents[i].size > MidiEvent::kDataSize)
continue;

int mType = midiEvents[i].data[0] & 0xF0;
int mChan = midiEvents[i].data[0] & 0x0F;
int mNum = midiEvents[i].data[1];
if (mType == 0x90) {
//NOTE ON

std::cout << mNum << std::endl;
int mVelo = midiEvents[i].buf[2];
int mVelo = midiEvents[i].data[2];
if (mNum == userNote) {
if (rev<0.5) {
if (split<0.5) {
Expand Down
26 changes: 13 additions & 13 deletions plugins/TriggerJuice/TriggerJuicePlugin.hpp
Expand Up @@ -52,50 +52,50 @@ class TriggerJuicePlugin : public Plugin
// -------------------------------------------------------------------
// Information

const char* d_getLabel() const noexcept override
const char* getLabel() const noexcept override
{
return "TriggerJuice";
}

const char* d_getMaker() const noexcept override
const char* getMaker() const noexcept override
{
return "Andre Sklenar";
}

const char* d_getLicense() const noexcept override
const char* getLicense() const noexcept override
{
return "GPL v2+";
}

uint32_t d_getVersion() const noexcept override
uint32_t getVersion() const noexcept override
{
return 0x1000;
}

long d_getUniqueId() const noexcept override
long getUniqueId() const noexcept override
{
return d_cconst('T', 'r', 'g', 'J');
}

// -------------------------------------------------------------------
// Init

void d_initParameter(uint32_t index, Parameter& parameter) override;
void d_initProgramName(uint32_t index, d_string& programName) override;
void initParameter(uint32_t index, Parameter& parameter) override;
void initProgramName(uint32_t index, String& programName) override;

// -------------------------------------------------------------------
// Internal data

float d_getParameterValue(uint32_t index) const override;
void d_setParameterValue(uint32_t index, float value) override;
void d_setProgram(uint32_t index) override;
float getParameterValue(uint32_t index) const override;
void setParameterValue(uint32_t index, float value) override;
void loadProgram(uint32_t index) override;

// -------------------------------------------------------------------
// Process

void d_activate() override;
void d_deactivate() override;
void d_run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override;
void activate() override;
void deactivate() override;
void run(const float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override;

// -------------------------------------------------------------------

Expand Down
41 changes: 22 additions & 19 deletions plugins/TriggerJuice/TriggerJuiceUI.cpp
Expand Up @@ -16,6 +16,9 @@
*/

#include "TriggerJuiceUI.hpp"
#include "TriggerJuicePlugin.hpp"

#include "TriggerJuiceArtwork.hpp"

using DGL::Point;

Expand All @@ -24,7 +27,7 @@ START_NAMESPACE_DISTRHO
// -----------------------------------------------------------------------

TriggerJuiceUI::TriggerJuiceUI()
: UI(),
: UI(TriggerJuiceArtwork::backgroundWidth, TriggerJuiceArtwork::backgroundHeight),
fAboutWindow(this)
{
// background
Expand Down Expand Up @@ -94,13 +97,13 @@ TriggerJuiceUI::TriggerJuiceUI()
fSliderMS->setCallback(this);

// set default values
d_programChanged(0);
programLoaded(0);
}

// -----------------------------------------------------------------------
// DSP Callbacks

void TriggerJuiceUI::d_parameterChanged(uint32_t index, float value)
void TriggerJuiceUI::parameterChanged(uint32_t index, float value)
{
switch (index)
{
Expand All @@ -122,7 +125,7 @@ void TriggerJuiceUI::d_parameterChanged(uint32_t index, float value)
}
}

void TriggerJuiceUI::d_programChanged(uint32_t index)
void TriggerJuiceUI::programLoaded(uint32_t index)
{
if (index != 0)
return;
Expand All @@ -149,55 +152,55 @@ void TriggerJuiceUI::imageButtonClicked(ImageButton* button, int)
void TriggerJuiceUI::imageKnobDragStarted(ImageKnob* knob)
{
if (knob == fKnobAttack)
d_editParameter(TriggerJuicePlugin::paramAttack, true);
editParameter(TriggerJuicePlugin::paramAttack, true);
else if (knob == fKnobRelease)
d_editParameter(TriggerJuicePlugin::paramRelease, true);
editParameter(TriggerJuicePlugin::paramRelease, true);
}

void TriggerJuiceUI::imageKnobDragFinished(ImageKnob* knob)
{
if (knob == fKnobAttack)
d_editParameter(TriggerJuicePlugin::paramAttack, false);
editParameter(TriggerJuicePlugin::paramAttack, false);
else if (knob == fKnobRelease)
d_editParameter(TriggerJuicePlugin::paramRelease, false);
editParameter(TriggerJuicePlugin::paramRelease, false);
}

void TriggerJuiceUI::imageKnobValueChanged(ImageKnob* knob, float value)
{
if (knob == fKnobAttack)
d_setParameterValue(TriggerJuicePlugin::paramAttack, value);
setParameterValue(TriggerJuicePlugin::paramAttack, value);
else if (knob == fKnobRelease)
d_setParameterValue(TriggerJuicePlugin::paramRelease, value);
setParameterValue(TriggerJuicePlugin::paramRelease, value);
}

void TriggerJuiceUI::imageSliderDragStarted(ImageSlider* slider)
{
if (slider == fSliderRev)
d_editParameter(TriggerJuicePlugin::paramRev, true);
editParameter(TriggerJuicePlugin::paramRev, true);
else if (slider == fSliderSplit)
d_editParameter(TriggerJuicePlugin::paramSplit, true);
editParameter(TriggerJuicePlugin::paramSplit, true);
else if (slider == fSliderMS)
d_editParameter(TriggerJuicePlugin::paramMS, true);
editParameter(TriggerJuicePlugin::paramMS, true);
}

void TriggerJuiceUI::imageSliderDragFinished(ImageSlider* slider)
{
if (slider == fSliderRev)
d_editParameter(TriggerJuicePlugin::paramRev, false);
editParameter(TriggerJuicePlugin::paramRev, false);
else if (slider == fSliderSplit)
d_editParameter(TriggerJuicePlugin::paramSplit, false);
editParameter(TriggerJuicePlugin::paramSplit, false);
else if (slider == fSliderMS)
d_editParameter(TriggerJuicePlugin::paramMS, false);
editParameter(TriggerJuicePlugin::paramMS, false);
}

void TriggerJuiceUI::imageSliderValueChanged(ImageSlider* slider, float value)
{
if (slider == fSliderRev)
d_setParameterValue(TriggerJuicePlugin::paramRev, value);
setParameterValue(TriggerJuicePlugin::paramRev, value);
else if (slider == fSliderSplit)
d_setParameterValue(TriggerJuicePlugin::paramSplit, value);
setParameterValue(TriggerJuicePlugin::paramSplit, value);
else if (slider == fSliderMS)
d_setParameterValue(TriggerJuicePlugin::paramMS, value);
setParameterValue(TriggerJuicePlugin::paramMS, value);
}

void TriggerJuiceUI::onDisplay()
Expand Down
26 changes: 3 additions & 23 deletions plugins/TriggerJuice/TriggerJuiceUI.hpp
Expand Up @@ -20,14 +20,7 @@

#include "DistrhoUI.hpp"

#include "Geometry.hpp"
#include "ImageAboutWindow.hpp"
#include "ImageButton.hpp"
#include "ImageKnob.hpp"
#include "ImageSlider.hpp"

#include "TriggerJuiceArtwork.hpp"
#include "TriggerJuicePlugin.hpp"
#include "ImageWidgets.hpp"

using DGL::Image;
using DGL::ImageAboutWindow;
Expand All @@ -49,24 +42,11 @@ class TriggerJuiceUI : public UI,
TriggerJuiceUI();

protected:
// -------------------------------------------------------------------
// Information

uint d_getWidth() const noexcept override
{
return TriggerJuiceArtwork::backgroundWidth;
}

uint d_getHeight() const noexcept override
{
return TriggerJuiceArtwork::backgroundHeight;
}

// -------------------------------------------------------------------
// DSP Callbacks

void d_parameterChanged(uint32_t index, float value) override;
void d_programChanged(uint32_t index) override;
void parameterChanged(uint32_t index, float value) override;
void programLoaded(uint32_t index) override;

// -------------------------------------------------------------------
// Widget Callbacks
Expand Down
52 changes: 26 additions & 26 deletions plugins/VectorJuice/VectorJuicePlugin.cpp
Expand Up @@ -25,18 +25,18 @@ VectorJuicePlugin::VectorJuicePlugin()
: Plugin(paramCount, 1, 0) // 1 program, 0 states
{
// set default values
d_setProgram(0);
loadProgram(0);
}

// -----------------------------------------------------------------------
// Init

void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
void VectorJuicePlugin::initParameter(uint32_t index, Parameter& parameter)
{
switch (index)
{
case paramX:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "X";
parameter.symbol = "x";
parameter.ranges.def = 0.5f;
Expand All @@ -45,7 +45,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramY:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Y";
parameter.symbol = "y";
parameter.ranges.def = 0.5f;
Expand All @@ -54,7 +54,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitSizeX:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Orbit Size X";
parameter.symbol = "sizex";
parameter.ranges.def = 0.5f;
Expand All @@ -63,7 +63,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitSizeY:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Orbit Size Y";
parameter.symbol = "sizey";
parameter.ranges.def = 0.5f;
Expand All @@ -72,7 +72,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitSpeedX:
parameter.hints = PARAMETER_IS_AUTOMABLE|PARAMETER_IS_INTEGER;
parameter.hints = kParameterIsAutomable|kParameterIsInteger;
parameter.name = "Orbit Speed X";
parameter.symbol = "speedx";
parameter.ranges.def = 4.0f;
Expand All @@ -81,7 +81,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitSpeedY:
parameter.hints = PARAMETER_IS_AUTOMABLE|PARAMETER_IS_INTEGER;
parameter.hints = kParameterIsAutomable|kParameterIsInteger;
parameter.name = "Orbit Speed Y";
parameter.symbol = "speedy";
parameter.ranges.def = 4.0f;
Expand All @@ -90,7 +90,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramSubOrbitSize:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "SubOrbit Size";
parameter.symbol = "subsize";
parameter.ranges.def = 0.5f;
Expand All @@ -99,7 +99,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramSubOrbitSpeed:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "SubOrbit Speed";
parameter.symbol = "subspeed";
parameter.ranges.def = 32.0f;
Expand All @@ -108,7 +108,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramSubOrbitSmooth:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "SubOrbit Wave";
parameter.symbol = "subwave";
parameter.ranges.def = 0.5f;
Expand All @@ -117,7 +117,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitWaveX:
parameter.hints = PARAMETER_IS_AUTOMABLE|PARAMETER_IS_INTEGER;
parameter.hints = kParameterIsAutomable|kParameterIsInteger;
parameter.name = "Orbit Wave X";
parameter.symbol = "wavex";
parameter.ranges.def = 3.0f;
Expand All @@ -126,7 +126,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitWaveY:
parameter.hints = PARAMETER_IS_AUTOMABLE|PARAMETER_IS_INTEGER;
parameter.hints = kParameterIsAutomable|kParameterIsInteger;
parameter.name = "Orbit Wave Y";
parameter.symbol = "wavey";
parameter.ranges.def = 3.0f;
Expand All @@ -135,7 +135,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitPhaseX:
parameter.hints = PARAMETER_IS_AUTOMABLE|PARAMETER_IS_INTEGER;
parameter.hints = kParameterIsAutomable|kParameterIsInteger;
parameter.name = "Orbit Phase X";
parameter.symbol = "phasex";
parameter.ranges.def = 1.0f;
Expand All @@ -144,7 +144,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitPhaseY:
parameter.hints = PARAMETER_IS_AUTOMABLE|PARAMETER_IS_INTEGER;
parameter.hints = kParameterIsAutomable|kParameterIsInteger;
parameter.name = "Orbit Phase Y";
parameter.symbol = "phasey";
parameter.ranges.def = 1.0f;
Expand All @@ -153,7 +153,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitOutX:
parameter.hints = PARAMETER_IS_OUTPUT;
parameter.hints = kParameterIsOutput;
parameter.name = "Orbit X";
parameter.symbol = "orx";
parameter.ranges.def = 0.5f;
Expand All @@ -162,7 +162,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramOrbitOutY:
parameter.hints = PARAMETER_IS_OUTPUT;
parameter.hints = kParameterIsOutput;
parameter.name = "Orbit Y";
parameter.symbol = "ory";
parameter.ranges.def = 0.5f;
Expand All @@ -171,7 +171,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramSubOrbitOutX:
parameter.hints = PARAMETER_IS_OUTPUT;
parameter.hints = kParameterIsOutput;
parameter.name = "SubOrbit X";
parameter.symbol = "sorx";
parameter.ranges.def = 0.5f;
Expand All @@ -180,7 +180,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
break;

case paramSubOrbitOutY:
parameter.hints = PARAMETER_IS_OUTPUT;
parameter.hints = kParameterIsOutput;
parameter.name = "SubOrbit Y";
parameter.symbol = "sory";
parameter.ranges.def = 0.5f;
Expand All @@ -190,7 +190,7 @@ void VectorJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
}
}

void VectorJuicePlugin::d_initProgramName(uint32_t index, d_string& programName)
void VectorJuicePlugin::initProgramName(uint32_t index, String& programName)
{
if (index != 0)
return;
Expand All @@ -201,7 +201,7 @@ void VectorJuicePlugin::d_initProgramName(uint32_t index, d_string& programName)
// -----------------------------------------------------------------------
// Internal data

float VectorJuicePlugin::d_getParameterValue(uint32_t index) const
float VectorJuicePlugin::getParameterValue(uint32_t index) const
{
switch (index)
{
Expand Down Expand Up @@ -244,7 +244,7 @@ float VectorJuicePlugin::d_getParameterValue(uint32_t index) const
}
}

void VectorJuicePlugin::d_setParameterValue(uint32_t index, float value)
void VectorJuicePlugin::setParameterValue(uint32_t index, float value)
{
bool resetPhase = false;

Expand Down Expand Up @@ -304,7 +304,7 @@ void VectorJuicePlugin::d_setParameterValue(uint32_t index, float value)
}
}

void VectorJuicePlugin::d_setProgram(uint32_t index)
void VectorJuicePlugin::loadProgram(uint32_t index)
{
if (index != 0)
return;
Expand All @@ -325,13 +325,13 @@ void VectorJuicePlugin::d_setProgram(uint32_t index)
orbitPhaseY = 1.0f;

/* reset filter values */
d_activate();
activate();
}

// -----------------------------------------------------------------------
// Process

void VectorJuicePlugin::d_activate()
void VectorJuicePlugin::activate()
{
/* Default variable values */
orbitX=orbitY=orbitTX=orbitTY=0.5;
Expand All @@ -349,7 +349,7 @@ void VectorJuicePlugin::d_activate()
}
}

void VectorJuicePlugin::d_run(const float** inputs, float** outputs, uint32_t frames)
void VectorJuicePlugin::run(const float** inputs, float** outputs, uint32_t frames)
{
float out1, out2, tX, tY;

Expand Down
28 changes: 14 additions & 14 deletions plugins/VectorJuice/VectorJuicePlugin.hpp
Expand Up @@ -97,8 +97,8 @@ class VectorJuicePlugin : public Plugin
void animate()
{
//sync orbit with frame, bpm
const TimePos& time = d_getTimePos();
bar = ((120.0/(time.bbt.valid ? time.bbt.beatsPerMinute : 120.0))*(d_getSampleRate()));
const TimePosition& time(getTimePosition());
bar = ((120.0/(time.bbt.valid ? time.bbt.beatsPerMinute : 120.0))*(getSampleRate()));

int multiplier = 16;//2000*4;
tickX = bar/(std::round(orbitSpeedX))*multiplier;
Expand Down Expand Up @@ -163,49 +163,49 @@ class VectorJuicePlugin : public Plugin
// -------------------------------------------------------------------
// Information

const char* d_getLabel() const noexcept override
const char* getLabel() const noexcept override
{
return "VectorJuice";
}

const char* d_getMaker() const noexcept override
const char* getMaker() const noexcept override
{
return "Andre Sklenar";
}

const char* d_getLicense() const noexcept override
const char* getLicense() const noexcept override
{
return "GPL v2+";
}

uint32_t d_getVersion() const noexcept override
uint32_t getVersion() const noexcept override
{
return 0x1000;
}

long d_getUniqueId() const noexcept override
int64_t getUniqueId() const noexcept override
{
return d_cconst('V', 'e', 'c', 'J');
}

// -------------------------------------------------------------------
// Init

void d_initParameter(uint32_t index, Parameter& parameter) override;
void d_initProgramName(uint32_t index, d_string& programName) override;
void initParameter(uint32_t index, Parameter& parameter) override;
void initProgramName(uint32_t index, String& programName) override;

// -------------------------------------------------------------------
// Internal data

float d_getParameterValue(uint32_t index) const override;
void d_setParameterValue(uint32_t index, float value) override;
void d_setProgram(uint32_t index) override;
float getParameterValue(uint32_t index) const override;
void setParameterValue(uint32_t index, float value) override;
void loadProgram(uint32_t index) override;

// -------------------------------------------------------------------
// Process

void d_activate() override;
void d_run(const float** inputs, float** outputs, uint32_t frames) override;
void activate() override;
void run(const float** inputs, float** outputs, uint32_t frames) override;

// -------------------------------------------------------------------

Expand Down
61 changes: 38 additions & 23 deletions plugins/VectorJuice/VectorJuiceUI.cpp
Expand Up @@ -18,7 +18,9 @@
#include "VectorJuicePlugin.hpp"
#include "VectorJuiceUI.hpp"

using DGL::Point;
#include "VectorJuiceArtwork.hpp"

using DGL_NAMESPACE::Point;

START_NAMESPACE_DISTRHO

Expand All @@ -28,6 +30,8 @@ VectorJuiceUI::VectorJuiceUI()
: UI(),
fAboutWindow(this)
{
setSize(VectorJuiceArtwork::backgroundWidth, VectorJuiceArtwork::backgroundHeight);

// xy params
paramX = paramY = 0.5f;

Expand Down Expand Up @@ -68,23 +72,26 @@ VectorJuiceUI::VectorJuiceUI()
Image knobImage(VectorJuiceArtwork::knobData, VectorJuiceArtwork::knobWidth, VectorJuiceArtwork::knobHeight);

// knob KnobOrbitSizeX
fKnobOrbitSizeX = new ImageKnob(this, knobImage, ImageKnob::Vertical, VectorJuicePlugin::paramOrbitSizeX);
fKnobOrbitSizeX = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobOrbitSizeX->setId(VectorJuicePlugin::paramOrbitSizeX);
fKnobOrbitSizeX->setAbsolutePos(423, 73);
fKnobOrbitSizeX->setRotationAngle(270);
fKnobOrbitSizeX->setRange(0.0f, 1.0f);
fKnobOrbitSizeX->setDefault(0.5f);
fKnobOrbitSizeX->setCallback(this);

// knob KnobOrbitSizeY
fKnobOrbitSizeY = new ImageKnob(this, knobImage, ImageKnob::Vertical, VectorJuicePlugin::paramOrbitSizeY);
fKnobOrbitSizeY = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobOrbitSizeY->setId(VectorJuicePlugin::paramOrbitSizeY);
fKnobOrbitSizeY->setAbsolutePos(516, 73);
fKnobOrbitSizeY->setRotationAngle(270);
fKnobOrbitSizeY->setRange(0.0f, 1.0f);
fKnobOrbitSizeY->setDefault(0.5f);
fKnobOrbitSizeY->setCallback(this);

// knob KnobOrbitSpeedX
fKnobOrbitSpeedX = new ImageKnob(this, knobImage, ImageKnob::Vertical, VectorJuicePlugin::paramOrbitSpeedX);
fKnobOrbitSpeedX = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobOrbitSpeedX->setId(VectorJuicePlugin::paramOrbitSpeedX);
fKnobOrbitSpeedX->setAbsolutePos(423, 185);
fKnobOrbitSpeedX->setRotationAngle(270);
fKnobOrbitSpeedX->setStep(1.0f);
Expand All @@ -93,7 +100,8 @@ VectorJuiceUI::VectorJuiceUI()
fKnobOrbitSpeedX->setCallback(this);

// knob KnobOrbitSpeedY
fKnobOrbitSpeedY = new ImageKnob(this, knobImage, ImageKnob::Vertical, VectorJuicePlugin::paramOrbitSpeedY);
fKnobOrbitSpeedY = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobOrbitSpeedY->setId(VectorJuicePlugin::paramOrbitSpeedY);
fKnobOrbitSpeedY->setAbsolutePos(516, 185);
fKnobOrbitSpeedY->setRotationAngle(270);
fKnobOrbitSpeedY->setStep(1.0f);
Expand All @@ -102,15 +110,17 @@ VectorJuiceUI::VectorJuiceUI()
fKnobOrbitSpeedY->setCallback(this);

// knob KnobSubOrbitSize
fKnobSubOrbitSize = new ImageKnob(this, knobImage, ImageKnob::Vertical, VectorJuicePlugin::paramSubOrbitSize);
fKnobSubOrbitSize = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobSubOrbitSize->setId(VectorJuicePlugin::paramSubOrbitSize);
fKnobSubOrbitSize->setAbsolutePos(620, 73);
fKnobSubOrbitSize->setRange(0.0f, 1.0f);
fKnobSubOrbitSize->setRotationAngle(270);
fKnobSubOrbitSize->setDefault(0.5f);
fKnobSubOrbitSize->setCallback(this);

// knob KnobSubOrbitSpeed
fKnobSubOrbitSpeed = new ImageKnob(this, knobImage, ImageKnob::Vertical, VectorJuicePlugin::paramSubOrbitSpeed);
fKnobSubOrbitSpeed = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobSubOrbitSpeed->setId(VectorJuicePlugin::paramSubOrbitSpeed);
fKnobSubOrbitSpeed->setAbsolutePos(620, 185);
fKnobSubOrbitSpeed->setRotationAngle(270);
fKnobSubOrbitSpeed->setStep(1.0f);
Expand All @@ -119,7 +129,8 @@ VectorJuiceUI::VectorJuiceUI()
fKnobSubOrbitSpeed->setCallback(this);

// knob KnobSubOrbitSmooth
fKnobSubOrbitSmooth = new ImageKnob(this, knobImage, ImageKnob::Vertical, VectorJuicePlugin::paramSubOrbitSmooth);
fKnobSubOrbitSmooth = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobSubOrbitSmooth->setId(VectorJuicePlugin::paramSubOrbitSmooth);
fKnobSubOrbitSmooth->setAbsolutePos(620, 297);
fKnobSubOrbitSmooth->setRotationAngle(270);
fKnobSubOrbitSmooth->setRange(0.0f, 1.0f);
Expand All @@ -132,7 +143,8 @@ VectorJuiceUI::VectorJuiceUI()
Point<int> sliderPosEnd(410+48, 284);

// slider OrbitWaveX
fSliderOrbitWaveX = new ImageSlider(this, sliderImage, VectorJuicePlugin::paramOrbitWaveX);
fSliderOrbitWaveX = new ImageSlider(this, sliderImage);
fSliderOrbitWaveX->setId(VectorJuicePlugin::paramOrbitWaveX);
fSliderOrbitWaveX->setStartPos(sliderPosStart);
fSliderOrbitWaveX->setEndPos(sliderPosEnd);
fSliderOrbitWaveX->setRange(1.0f, 4.0f);
Expand All @@ -142,7 +154,8 @@ VectorJuiceUI::VectorJuiceUI()
// slider OrbitWaveY
sliderPosStart.setX(503);
sliderPosEnd.setX(503+48);
fSliderOrbitWaveY = new ImageSlider(this, sliderImage, VectorJuicePlugin::paramOrbitWaveY);
fSliderOrbitWaveY = new ImageSlider(this, sliderImage);
fSliderOrbitWaveY->setId(VectorJuicePlugin::paramOrbitWaveY);
fSliderOrbitWaveY->setStartPos(sliderPosStart);
fSliderOrbitWaveY->setEndPos(sliderPosEnd);
fSliderOrbitWaveY->setRange(1.0f, 4.0f);
Expand All @@ -154,7 +167,8 @@ VectorJuiceUI::VectorJuiceUI()
sliderPosStart.setY(345);
sliderPosEnd.setX(410+48);
sliderPosEnd.setY(345);
fSliderOrbitPhaseX = new ImageSlider(this, sliderImage, VectorJuicePlugin::paramOrbitPhaseX);
fSliderOrbitPhaseX = new ImageSlider(this, sliderImage);
fSliderOrbitPhaseX->setId(VectorJuicePlugin::paramOrbitPhaseX);
fSliderOrbitPhaseX->setStartPos(sliderPosStart);
fSliderOrbitPhaseX->setEndPos(sliderPosEnd);
fSliderOrbitPhaseX->setRange(1.0f, 4.0f);
Expand All @@ -164,21 +178,22 @@ VectorJuiceUI::VectorJuiceUI()
// slider OrbitPhaseY
sliderPosStart.setX(503);
sliderPosEnd.setX(503+48);
fSliderOrbitPhaseY = new ImageSlider(this, sliderImage, VectorJuicePlugin::paramOrbitPhaseY);
fSliderOrbitPhaseY = new ImageSlider(this, sliderImage);
fSliderOrbitPhaseY->setId(VectorJuicePlugin::paramOrbitPhaseY);
fSliderOrbitPhaseY->setStartPos(sliderPosStart);
fSliderOrbitPhaseY->setEndPos(sliderPosEnd);
fSliderOrbitPhaseY->setRange(1.0f, 4.0f);
fSliderOrbitPhaseY->setStep(1.0f);
fSliderOrbitPhaseY->setCallback(this);

// set default values
d_programChanged(0);
programLoaded(0);
}

// -----------------------------------------------------------------------
// DSP Callbacks

void VectorJuiceUI::d_parameterChanged(uint32_t index, float value)
void VectorJuiceUI::parameterChanged(uint32_t index, float value)
{
switch (index)
{
Expand Down Expand Up @@ -262,7 +277,7 @@ void VectorJuiceUI::d_parameterChanged(uint32_t index, float value)
}
}

void VectorJuiceUI::d_programChanged(uint32_t index)
void VectorJuiceUI::programLoaded(uint32_t index)
{
if (index != 0)
return;
Expand Down Expand Up @@ -295,32 +310,32 @@ void VectorJuiceUI::imageButtonClicked(ImageButton* button, int)

void VectorJuiceUI::imageKnobDragStarted(ImageKnob* knob)
{
d_editParameter(knob->getId(), true);
editParameter(knob->getId(), true);
}

void VectorJuiceUI::imageKnobDragFinished(ImageKnob* knob)
{
d_editParameter(knob->getId(), false);
editParameter(knob->getId(), false);
}

void VectorJuiceUI::imageKnobValueChanged(ImageKnob* knob, float value)
{
d_setParameterValue(knob->getId(), value);
setParameterValue(knob->getId(), value);
}

void VectorJuiceUI::imageSliderDragStarted(ImageSlider* slider)
{
d_editParameter(slider->getId(), true);
editParameter(slider->getId(), true);
}

void VectorJuiceUI::imageSliderDragFinished(ImageSlider* slider)
{
d_editParameter(slider->getId(), false);
editParameter(slider->getId(), false);
}

void VectorJuiceUI::imageSliderValueChanged(ImageSlider* slider, float value)
{
d_setParameterValue(slider->getId(), value);
setParameterValue(slider->getId(), value);
}

void VectorJuiceUI::onDisplay()
Expand Down Expand Up @@ -422,14 +437,14 @@ bool VectorJuiceUI::onMotion(const MotionEvent& ev)
if (newX != paramX)
{
paramX = newX;
d_setParameterValue(VectorJuicePlugin::paramX, paramX);
setParameterValue(VectorJuicePlugin::paramX, paramX);
repaint();
}

if (newY != paramY)
{
paramY = newY;
d_setParameterValue(VectorJuicePlugin::paramY, paramY);
setParameterValue(VectorJuicePlugin::paramY, paramY);
repaint();
}

Expand Down
36 changes: 9 additions & 27 deletions plugins/VectorJuice/VectorJuiceUI.hpp
Expand Up @@ -20,18 +20,13 @@

#include "DistrhoUI.hpp"

#include "ImageAboutWindow.hpp"
#include "ImageButton.hpp"
#include "ImageKnob.hpp"
#include "ImageSlider.hpp"
#include "ImageWidgets.hpp"

#include "VectorJuiceArtwork.hpp"

using DGL::Image;
using DGL::ImageAboutWindow;
using DGL::ImageButton;
using DGL::ImageKnob;
using DGL::ImageSlider;
using DGL_NAMESPACE::Image;
using DGL_NAMESPACE::ImageAboutWindow;
using DGL_NAMESPACE::ImageButton;
using DGL_NAMESPACE::ImageKnob;
using DGL_NAMESPACE::ImageSlider;

START_NAMESPACE_DISTRHO

Expand All @@ -46,24 +41,11 @@ class VectorJuiceUI : public UI,
VectorJuiceUI();

protected:
// -------------------------------------------------------------------
// Information

uint d_getWidth() const noexcept override
{
return VectorJuiceArtwork::backgroundWidth;
}

uint d_getHeight() const noexcept override
{
return VectorJuiceArtwork::backgroundHeight;
}

// -------------------------------------------------------------------
// DSP Callbacks

void d_parameterChanged(uint32_t index, float value) override;
void d_programChanged(uint32_t index) override;
void parameterChanged(uint32_t index, float value) override;
void programLoaded(uint32_t index) override;

// -------------------------------------------------------------------
// Widget Callbacks
Expand Down Expand Up @@ -104,7 +86,7 @@ class VectorJuiceUI : public UI,
bool fDragValid;
int fLastX;
int fLastY;
DGL::Rectangle<int> fCanvasArea;
DGL_NAMESPACE::Rectangle<int> fCanvasArea;
float orbitX, orbitY, subOrbitX, subOrbitY;
};

Expand Down
38 changes: 19 additions & 19 deletions plugins/WobbleJuice/WobbleJuicePlugin.cpp
Expand Up @@ -25,18 +25,18 @@ WobbleJuicePlugin::WobbleJuicePlugin()
: Plugin(paramCount, 1, 0) // 1 program, 0 states
{
// set default values
d_setProgram(0);
loadProgram(0);
}

// -----------------------------------------------------------------------
// Init

void WobbleJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
void WobbleJuicePlugin::initParameter(uint32_t index, Parameter& parameter)
{
switch (index)
{
case paramDivision:
parameter.hints = PARAMETER_IS_AUTOMABLE|PARAMETER_IS_INTEGER;
parameter.hints = kParameterIsAutomable|kParameterIsInteger;
parameter.name = "Division";
parameter.symbol = "div";
parameter.unit = "x";
Expand All @@ -45,7 +45,7 @@ void WobbleJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 16.0f;
break;
case paramReso:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Resonance";
parameter.symbol = "reso";
parameter.unit = "";
Expand All @@ -54,7 +54,7 @@ void WobbleJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 0.2f;
break;
case paramRange:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Range";
parameter.symbol = "rng";
parameter.unit = "Hz";
Expand All @@ -63,7 +63,7 @@ void WobbleJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 16000.0f;
break;
case paramPhase:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Phase";
parameter.symbol = "phs";
parameter.unit = "Deg";
Expand All @@ -72,7 +72,7 @@ void WobbleJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 1.0f;
break;
case paramWave:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Wave";
parameter.symbol = "wav";
parameter.unit = "";
Expand All @@ -81,7 +81,7 @@ void WobbleJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
parameter.ranges.max = 4.0f;
break;
case paramDrive:
parameter.hints = PARAMETER_IS_AUTOMABLE;
parameter.hints = kParameterIsAutomable;
parameter.name = "Drive";
parameter.symbol = "drv";
parameter.unit = "";
Expand All @@ -92,7 +92,7 @@ void WobbleJuicePlugin::d_initParameter(uint32_t index, Parameter& parameter)
}
}

void WobbleJuicePlugin::d_initProgramName(uint32_t index, d_string& programName)
void WobbleJuicePlugin::initProgramName(uint32_t index, String& programName)
{
if (index != 0)
return;
Expand All @@ -103,7 +103,7 @@ void WobbleJuicePlugin::d_initProgramName(uint32_t index, d_string& programName)
// -----------------------------------------------------------------------
// Internal data

float WobbleJuicePlugin::d_getParameterValue(uint32_t index) const
float WobbleJuicePlugin::getParameterValue(uint32_t index) const
{
switch (index)
{
Expand All @@ -124,7 +124,7 @@ float WobbleJuicePlugin::d_getParameterValue(uint32_t index) const
}
}

void WobbleJuicePlugin::d_setParameterValue(uint32_t index, float value)
void WobbleJuicePlugin::setParameterValue(uint32_t index, float value)
{
switch (index)
{
Expand All @@ -149,7 +149,7 @@ void WobbleJuicePlugin::d_setParameterValue(uint32_t index, float value)
}
}

void WobbleJuicePlugin::d_setProgram(uint32_t index)
void WobbleJuicePlugin::loadProgram(uint32_t index)
{
if (index != 0)
return;
Expand All @@ -168,24 +168,24 @@ void WobbleJuicePlugin::d_setProgram(uint32_t index)
waveType=2.0f;

/* reset filter values */
d_activate();
activate();
}

// -----------------------------------------------------------------------
// Process

void WobbleJuicePlugin::d_activate()
void WobbleJuicePlugin::activate()
{
sinePos = 0.0;
}

void WobbleJuicePlugin::d_run(const float** inputs, float** outputs, uint32_t frames)
void WobbleJuicePlugin::run(const float** inputs, float** outputs, uint32_t frames)
{
//fetch the timepos struct from host;
const TimePos& time(d_getTimePos());
const TimePosition& time(getTimePosition());

/* sample count for one bar */
bar = ((120.0/(time.bbt.valid ? time.bbt.beatsPerMinute : 120.0))*(d_getSampleRate())); //ONE, two, three, four
bar = ((120.0/(time.bbt.valid ? time.bbt.beatsPerMinute : 120.0))*(getSampleRate())); //ONE, two, three, four
tick = bar/(std::round(division)); //size of one target wob
phaseOffset = phase*M_PI; //2pi = 1 whole cycle

Expand Down Expand Up @@ -225,8 +225,8 @@ void WobbleJuicePlugin::d_run(const float** inputs, float** outputs, uint32_t fr
cutoffR = std::exp((std::log(range)-std::log(500))*currentPhaseR+std::log(500));

//output filtered signal
filterL.recalc(cutoffL, reso*4, d_getSampleRate(), drive);
filterR.recalc(cutoffR, reso*4, d_getSampleRate(), drive);
filterL.recalc(cutoffL, reso*4, getSampleRate(), drive);
filterR.recalc(cutoffR, reso*4, getSampleRate(), drive);
filterL.process(frames, inputs[0], outputs[0]);
filterR.process(frames, inputs[1], outputs[1]);
}
Expand Down
24 changes: 12 additions & 12 deletions plugins/WobbleJuice/WobbleJuicePlugin.hpp
Expand Up @@ -79,49 +79,49 @@ class WobbleJuicePlugin : public Plugin
// -------------------------------------------------------------------
// Information

const char* d_getLabel() const noexcept override
const char* getLabel() const noexcept override
{
return "WobbleJuice";
}

const char* d_getMaker() const noexcept override
const char* getMaker() const noexcept override
{
return "Andre Sklenar";
}

const char* d_getLicense() const noexcept override
const char* getLicense() const noexcept override
{
return "GPL v2+";
}

uint32_t d_getVersion() const noexcept override
uint32_t getVersion() const noexcept override
{
return 0x1000;
}

long d_getUniqueId() const noexcept override
int64_t getUniqueId() const noexcept override
{
return d_cconst('W', 'b', 'l', 'J');
}

// -------------------------------------------------------------------
// Init

void d_initParameter(uint32_t index, Parameter& parameter) override;
void d_initProgramName(uint32_t index, d_string& programName) override;
void initParameter(uint32_t index, Parameter& parameter) override;
void initProgramName(uint32_t index, String& programName) override;

// -------------------------------------------------------------------
// Internal data

float d_getParameterValue(uint32_t index) const override;
void d_setParameterValue(uint32_t index, float value) override;
void d_setProgram(uint32_t index) override;
float getParameterValue(uint32_t index) const override;
void setParameterValue(uint32_t index, float value) override;
void loadProgram(uint32_t index) override;

// -------------------------------------------------------------------
// Process

void d_activate() override;
void d_run(const float** inputs, float** outputs, uint32_t frames) override;
void activate() override;
void run(const float** inputs, float** outputs, uint32_t frames) override;

// -------------------------------------------------------------------

Expand Down
32 changes: 20 additions & 12 deletions plugins/WobbleJuice/WobbleJuiceUI.cpp
Expand Up @@ -26,6 +26,8 @@ WobbleJuiceUI::WobbleJuiceUI()
: UI(),
fAboutWindow(this)
{
setSize(WobbleJuiceArtwork::backgroundWidth, WobbleJuiceArtwork::backgroundHeight);

// background
fImgBackground = Image(WobbleJuiceArtwork::backgroundData, WobbleJuiceArtwork::backgroundWidth, WobbleJuiceArtwork::backgroundHeight, GL_BGR);

Expand All @@ -37,7 +39,8 @@ WobbleJuiceUI::WobbleJuiceUI()
Image knobImage(WobbleJuiceArtwork::knobData, WobbleJuiceArtwork::knobWidth, WobbleJuiceArtwork::knobHeight);

// knob Division
fKnobDivision = new ImageKnob(this, knobImage, ImageKnob::Vertical, WobbleJuicePlugin::paramDivision);
fKnobDivision = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobDivision->setId(WobbleJuicePlugin::paramDivision);
fKnobDivision->setAbsolutePos(222, 74);
fKnobDivision->setRotationAngle(270);
fKnobDivision->setRange(1.0f, 16.0f);
Expand All @@ -46,39 +49,44 @@ WobbleJuiceUI::WobbleJuiceUI()
fKnobDivision->setCallback(this);

// knob Resonance
fKnobResonance = new ImageKnob(this, knobImage, ImageKnob::Vertical, WobbleJuicePlugin::paramReso);
fKnobResonance = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobResonance->setId(WobbleJuicePlugin::paramReso);
fKnobResonance->setAbsolutePos(222, 199);
fKnobResonance->setRotationAngle(270);
fKnobResonance->setRange(0.0f, 0.2f);
fKnobResonance->setDefault(0.1f);
fKnobResonance->setCallback(this);

// knob Range
fKnobRange = new ImageKnob(this, knobImage, ImageKnob::Vertical, WobbleJuicePlugin::paramRange);
fKnobRange = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobRange->setId(WobbleJuicePlugin::paramRange);
fKnobRange->setAbsolutePos(77, 199);
fKnobRange->setRotationAngle(270);
fKnobRange->setRange(500.0f, 16000.0f);
fKnobRange->setDefault(16000.0f);
fKnobRange->setCallback(this);

// knob Phase
fKnobPhase = new ImageKnob(this, knobImage, ImageKnob::Vertical, WobbleJuicePlugin::paramPhase);
fKnobPhase = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobPhase->setId(WobbleJuicePlugin::paramPhase);
fKnobPhase->setAbsolutePos(362, 74);
fKnobPhase->setRotationAngle(270);
fKnobPhase->setRange(-1.0f, 1.0f);
fKnobPhase->setDefault(0.0f);
fKnobPhase->setCallback(this);

// knob Wave
fKnobWave = new ImageKnob(this, knobImage, ImageKnob::Vertical, WobbleJuicePlugin::paramWave);
fKnobWave = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobWave->setId(WobbleJuicePlugin::paramWave);
fKnobWave->setAbsolutePos(77, 74);
fKnobWave->setRotationAngle(270);
fKnobWave->setRange(1.0f, 4.0f);
fKnobWave->setDefault(2.0f);
fKnobWave->setCallback(this);

// knob Drive
fKnobDrive = new ImageKnob(this, knobImage, ImageKnob::Vertical, WobbleJuicePlugin::paramDrive);
fKnobDrive = new ImageKnob(this, knobImage, ImageKnob::Vertical);
fKnobDrive->setId(WobbleJuicePlugin::paramDrive);
fKnobDrive->setAbsolutePos(362, 199);
fKnobDrive->setRotationAngle(270);
fKnobDrive->setRange(0.0f, 1.0f);
Expand All @@ -93,13 +101,13 @@ WobbleJuiceUI::WobbleJuiceUI()
fButtonAbout->setCallback(this);

// set default values
d_programChanged(0);
programLoaded(0);
}

// -----------------------------------------------------------------------
// DSP Callbacks

void WobbleJuiceUI::d_parameterChanged(uint32_t index, float value)
void WobbleJuiceUI::parameterChanged(uint32_t index, float value)
{
switch (index)
{
Expand All @@ -124,7 +132,7 @@ void WobbleJuiceUI::d_parameterChanged(uint32_t index, float value)
}
}

void WobbleJuiceUI::d_programChanged(uint32_t index)
void WobbleJuiceUI::programLoaded(uint32_t index)
{
if (index != 0)
return;
Expand All @@ -151,17 +159,17 @@ void WobbleJuiceUI::imageButtonClicked(ImageButton* button, int)

void WobbleJuiceUI::imageKnobDragStarted(ImageKnob* knob)
{
d_editParameter(knob->getId(), true);
editParameter(knob->getId(), true);
}

void WobbleJuiceUI::imageKnobDragFinished(ImageKnob* knob)
{
d_editParameter(knob->getId(), false);
editParameter(knob->getId(), false);
}

void WobbleJuiceUI::imageKnobValueChanged(ImageKnob* knob, float value)
{
d_setParameterValue(knob->getId(), value);
setParameterValue(knob->getId(), value);
}

void WobbleJuiceUI::onDisplay()
Expand Down
29 changes: 7 additions & 22 deletions plugins/WobbleJuice/WobbleJuiceUI.hpp
Expand Up @@ -20,16 +20,14 @@

#include "DistrhoUI.hpp"

#include "ImageAboutWindow.hpp"
#include "ImageButton.hpp"
#include "ImageKnob.hpp"
#include "ImageWidgets.hpp"

#include "WobbleJuiceArtwork.hpp"

using DGL::Image;
using DGL::ImageAboutWindow;
using DGL::ImageButton;
using DGL::ImageKnob;
using DGL_NAMESPACE::Image;
using DGL_NAMESPACE::ImageAboutWindow;
using DGL_NAMESPACE::ImageButton;
using DGL_NAMESPACE::ImageKnob;

START_NAMESPACE_DISTRHO

Expand All @@ -43,24 +41,11 @@ class WobbleJuiceUI : public UI,
WobbleJuiceUI();

protected:
// -------------------------------------------------------------------
// Information

uint d_getWidth() const noexcept override
{
return WobbleJuiceArtwork::backgroundWidth;
}

uint d_getHeight() const noexcept override
{
return WobbleJuiceArtwork::backgroundHeight;
}

// -------------------------------------------------------------------
// DSP Callbacks

void d_parameterChanged(uint32_t index, float value) override;
void d_programChanged(uint32_t index) override;
void parameterChanged(uint32_t index, float value) override;
void programLoaded(uint32_t index) override;

// -------------------------------------------------------------------
// Widget Callbacks
Expand Down