summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2017-11-26 13:33:08 +1100
committerDamien Zammit <damien@zamaudio.com>2017-11-26 13:33:08 +1100
commite8868b75437ee83d7f012581cc72de0ae4261c2e (patch)
tree5156bb3d011bd90cbbc01cbe0874e0727a1546a6
parent3afa5877a81252b6039cfd563e61dd66a3d4449e (diff)
ZamSFZ: Fix filepath state loading with presets && knob with label
-rw-r--r--plugins/ZamSFZ/ZamSFZPlugin.cpp16
-rw-r--r--plugins/ZamSFZ/ZamSFZUI.cpp9
-rw-r--r--plugins/ZamSFZ/ZamSFZUI.hpp13
3 files changed, 26 insertions, 12 deletions
diff --git a/plugins/ZamSFZ/ZamSFZPlugin.cpp b/plugins/ZamSFZ/ZamSFZPlugin.cpp
index db28e28..1cd026c 100644
--- a/plugins/ZamSFZ/ZamSFZPlugin.cpp
+++ b/plugins/ZamSFZ/ZamSFZPlugin.cpp
@@ -115,14 +115,26 @@ void ZamSFZPlugin::setState(const char* key, const char* value)
String ZamSFZPlugin::getState(const char*) const
{
- return String("filepath");
+ char fullpath[1024];
+ if ((path.size() == 0) || (filename.size() == 0)) {
+ return String("");
+ } else {
+ snprintf(fullpath, 1024, "%s/%s", path.c_str(), filename.c_str());
+ return String(fullpath);
+ }
}
void ZamSFZPlugin::initState(unsigned int key, String& val, String& def)
{
+ char fullpath[1024];
if (key == 0) {
val = String("filepath");
- def = String("");
+ if ((path.size() == 0) || (filename.size() == 0)) {
+ def = String("");
+ } else {
+ snprintf(fullpath, 1024, "%s/%s", path.c_str(), filename.c_str());
+ def = String(fullpath);
+ }
}
}
diff --git a/plugins/ZamSFZ/ZamSFZUI.cpp b/plugins/ZamSFZ/ZamSFZUI.cpp
index ed55008..889e8f8 100644
--- a/plugins/ZamSFZ/ZamSFZUI.cpp
+++ b/plugins/ZamSFZ/ZamSFZUI.cpp
@@ -43,10 +43,11 @@ ZamSFZUI::ZamSFZUI()
// knob
- fKnobGain = new ImageKnob(this, knobImage);
+ fKnobGain = new ZamKnob(this, knobImage);
fKnobGain->setAbsolutePos(189, 24);
fKnobGain->setRange(-30.f, 30.0f);
fKnobGain->setDefault(0.0f);
+ fKnobGain->setLabel(true);
fKnobGain->setRotationAngle(240);
fKnobGain->setCallback(this);
@@ -104,19 +105,19 @@ void ZamSFZUI::uiFileBrowserSelected(const char* filename)
// -----------------------------------------------------------------------
// Widget Callbacks
-void ZamSFZUI::imageKnobDragStarted(ImageKnob* knob)
+void ZamSFZUI::imageKnobDragStarted(ZamKnob* knob)
{
if (knob == fKnobGain)
editParameter(ZamSFZPlugin::paramGain, true);
}
-void ZamSFZUI::imageKnobDragFinished(ImageKnob* knob)
+void ZamSFZUI::imageKnobDragFinished(ZamKnob* knob)
{
if (knob == fKnobGain)
editParameter(ZamSFZPlugin::paramGain, false);
}
-void ZamSFZUI::imageKnobValueChanged(ImageKnob* knob, float value)
+void ZamSFZUI::imageKnobValueChanged(ZamKnob* knob, float value)
{
if (knob == fKnobGain)
setParameterValue(ZamSFZPlugin::paramGain, value);
diff --git a/plugins/ZamSFZ/ZamSFZUI.hpp b/plugins/ZamSFZ/ZamSFZUI.hpp
index ffb9977..67ed56d 100644
--- a/plugins/ZamSFZ/ZamSFZUI.hpp
+++ b/plugins/ZamSFZ/ZamSFZUI.hpp
@@ -21,9 +21,10 @@
#include "DistrhoUI.hpp"
#include "ImageWidgets.hpp"
#include "ZamSFZArtwork.hpp"
+#include "../../widgets/ZamWidgets.hpp"
using DGL::Image;
-using DGL::ImageKnob;
+using DGL::ZamKnob;
using DGL::ImageButton;
using DGL::ImageSwitch;
@@ -32,7 +33,7 @@ START_NAMESPACE_DISTRHO
// -----------------------------------------------------------------------
class ZamSFZUI : public UI,
- public ImageKnob::Callback,
+ public ZamKnob::Callback,
public ImageButton::Callback,
public ImageSwitch::Callback
{
@@ -52,9 +53,9 @@ protected:
// -------------------------------------------------------------------
// Widget Callbacks
- void imageKnobDragStarted(ImageKnob* knob) override;
- void imageKnobDragFinished(ImageKnob* knob) override;
- void imageKnobValueChanged(ImageKnob* knob, float value) override;
+ void imageKnobDragStarted(ZamKnob* knob) override;
+ void imageKnobDragFinished(ZamKnob* knob) override;
+ void imageKnobValueChanged(ZamKnob* knob, float value) override;
void imageButtonClicked(ImageButton*, int) override;
void imageSwitchClicked(ImageSwitch*, bool) override;
@@ -62,7 +63,7 @@ protected:
private:
Image fImgBackground;
- ScopedPointer<ImageKnob> fKnobGain;
+ ScopedPointer<ZamKnob> fKnobGain;
ScopedPointer<ImageButton> fButtonLoad;
ScopedPointer<ImageSwitch> fLoading;
char* filepath;