guionly/plugin/ui.hpp

72 lines
1.6 KiB
C++

#ifndef _UI_HPP
#define _UI_HPP
#include "DistrhoUI.hpp"
#include "ImageWidgets.hpp"
#include "peacock.hpp"
START_NAMESPACE_DISTRHO
class DistrhoUIchassis : public UI,
public ImageSlider::Callback,
public ImageButton::Callback {
public:
DistrhoUIchassis();
~DistrhoUIchassis() override;
protected:
void parameterChanged(uint32_t index, float value) override;
void programLoaded(uint32_t index) override;
void onDisplay() override;
void imageSliderDragStarted(ImageSlider* slider) override;
void imageSliderDragFinished(ImageSlider* slider) override;
void imageSliderValueChanged(ImageSlider* slider, float value) override;
void imageButtonClicked(ImageButton *imageButton, int button) override;
void prepSlider( uint id, int x, int y);
enum {
sLfoRate,
sLfoDelay,
sLfoDepth,
sPwmDepth,
sSubLevel,
sNoiseLevel,
sCutoff,
sRes,
sEnv,
sLfo,
sKyb,
sVcaLevel,
sAtk,
sDcy,
sStn,
sRls,
sHpf
};
private:
Image fImgBackground;
Image fImgLedOn;
ScopedPointer<ImageSlider> slider[17];
/*
xSliderLFORate, xSliderLFODelay,
xSliderLFODepth, xSliderPWMDepth, xSliderSubLevel, xSliderNoiseLevel,
xSliderHPF, xSliderCutoff, xSliderRes, xSliderEnv, xSliderLfo, xSliderKyb,
xSliderVCALevel, xSliderAtk, xSliderDcy, xSliderStn, xSliderRls;
*/
ScopedPointer<ImageButton> xBtn16ft, xBtn8ft, xBtn4ft;
uint8_t sw1 = 0, sw2 = 0;
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DistrhoUIchassis)
// ImageAboutWindow fAboutWindow;
};
END_NAMESPACE_DISTRHO
#endif