17 #ifndef DISTRHO_UI_HPP_INCLUDED
18 #define DISTRHO_UI_HPP_INCLUDED
20 #include "extra/LeakDetector.hpp"
21 #include "src/DistrhoPluginChecks.h"
23 #if DISTRHO_UI_USE_NANOVG
24 # include "../dgl/NanoVG.hpp"
25 typedef DGL::NanoWidget UIWidget;
27 # include "../dgl/Widget.hpp"
28 typedef DGL::Widget UIWidget;
31 START_NAMESPACE_DISTRHO
48 class UI :
public UIWidget
55 UI(uint width = 0, uint height = 0);
81 #if DISTRHO_PLUGIN_WANT_STATE
85 void setState(
const char* key,
const char* value);
88 #if DISTRHO_PLUGIN_IS_SYNTH
92 void sendNote(uint8_t channel, uint8_t note, uint8_t velocity);
95 #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
115 #if DISTRHO_PLUGIN_WANT_PROGRAMS
123 #if DISTRHO_PLUGIN_WANT_STATE
128 virtual void stateChanged(
const char* key,
const char* value) = 0;
159 virtual void uiReshape(uint width, uint height);
169 void onResize(
const ResizeEvent& ev)
override;
175 PrivateData*
const pData;
176 friend class UIExporter;
177 friend class UIExporterWindow;
180 void setAbsoluteX(
int) const noexcept {}
181 void setAbsoluteY(
int) const noexcept {}
182 void setAbsolutePos(
int,
int) const noexcept {}
183 void setAbsolutePos(
const DGL::Point<int>&) const noexcept {}
185 DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
UI)
207 END_NAMESPACE_DISTRHO
209 #endif // DISTRHO_UI_HPP_INCLUDED
void editParameter(uint32_t index, bool started)
virtual void parameterChanged(uint32_t index, float value)=0
void onResize(const ResizeEvent &ev) override
void setParameterValue(uint32_t index, float value)
void * getPluginInstancePointer() const noexcept
virtual void sampleRateChanged(double newSampleRate)
virtual void programLoaded(uint32_t index)=0
void sendNote(uint8_t channel, uint8_t note, uint8_t velocity)
UI(uint width=0, uint height=0)
virtual void stateChanged(const char *key, const char *value)=0
double getSampleRate() const noexcept
void setState(const char *key, const char *value)
virtual void uiFileBrowserSelected(const char *filename)
virtual void uiReshape(uint width, uint height)
Definition: DistrhoUI.hpp:48
virtual void uiIdle()
Definition: DistrhoUI.hpp:146