diff options
author | Damien Zammit <damien@zamaudio.com> | 2017-11-26 13:33:08 +1100 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2017-11-26 13:33:08 +1100 |
commit | e8868b75437ee83d7f012581cc72de0ae4261c2e (patch) | |
tree | 5156bb3d011bd90cbbc01cbe0874e0727a1546a6 | |
parent | 3afa5877a81252b6039cfd563e61dd66a3d4449e (diff) |
ZamSFZ: Fix filepath state loading with presets && knob with label
-rw-r--r-- | plugins/ZamSFZ/ZamSFZPlugin.cpp | 16 | ||||
-rw-r--r-- | plugins/ZamSFZ/ZamSFZUI.cpp | 9 | ||||
-rw-r--r-- | plugins/ZamSFZ/ZamSFZUI.hpp | 13 |
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; |