From c722ee7e966624be4946992ddf794cad87117856 Mon Sep 17 00:00:00 2001 From: Gordon JC Pearce Date: Thu, 12 Sep 2024 16:23:48 +0100 Subject: [PATCH] initial attempt at GUI --- plugin/DistrhoPluginInfo.h | 1 + plugin/Makefile | 11 +- plugin/back.cpp | 19800 +++++++++++++++++++++++++++++++++++ plugin/back.hpp | 9 + plugin/ui.cpp | 34 + plugin/ui.hpp | 25 + 6 files changed, 19879 insertions(+), 1 deletion(-) create mode 100644 plugin/back.cpp create mode 100644 plugin/back.hpp create mode 100644 plugin/ui.cpp create mode 100644 plugin/ui.hpp diff --git a/plugin/DistrhoPluginInfo.h b/plugin/DistrhoPluginInfo.h index b0364f9..74b5b4f 100644 --- a/plugin/DistrhoPluginInfo.h +++ b/plugin/DistrhoPluginInfo.h @@ -28,6 +28,7 @@ #define DISTRHO_PLUGIN_IS_RT_SAFE 1 #define DISTRHO_PLUGIN_WANT_PROGRAMS 1 +#define DISTRHO_PLUGIN_HAS_UI 1 enum Parameters { paramProg, diff --git a/plugin/Makefile b/plugin/Makefile index e636350..092e516 100644 --- a/plugin/Makefile +++ b/plugin/Makefile @@ -15,9 +15,18 @@ FILES_DSP = \ chassis.cpp \ voice.cpp +FILES_UI = \ + back.cpp \ + ui.cpp \ + DistrhoArtworkNekobi.cpp + +UI_TYPE = generic +USE_FILE_BROWSER = false +SKIP_NATIVE_AUDIO_FALLBACK = true + include ../dpf/Makefile.plugins.mk -TARGETS += jack lv2 +TARGETS += jack lv2_sep all: $(TARGETS) diff --git a/plugin/back.cpp b/plugin/back.cpp new file mode 100644 index 0000000..c483f72 --- /dev/null +++ b/plugin/back.cpp @@ -0,0 +1,19800 @@ +/* GIMP RGBA C-Source image dump (bg.c) */ + +// static const struct { +// guint width; +// guint height; +// guint bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */ +// guint8 pixel_data[545 * 311 * 4 + 1]; + +#include "back.hpp" + +static const char temp1[] = { + + "QSR\377OQP\377OQP\377OQP\377SUT\377QSR\377UWV\377SUT\377VXW\377PRQ\377SU" + "T\377NPO\377PRQ\377UWV\377TVU\377SUT\377OQP\377RTS\377NPO\377NPO\377TVU\377" + "PRQ\377PRQ\377OQP\377PRQ\377RTS\377VXW\377RTS\377NPO\377VXW\377OQP\377TV" + "U\377UWV\377NPO\377RTS\377TVU\377QSR\377TVU\377UWV\377NPO\377RTS\377NPO\377" + "OQP\377OQP\377PRQ\377QSR\377NPO\377TVU\377OQP\377UWV\377TVU\377VXW\377VX" + "W\377VXW\377UWV\377NPO\377UWV\377RTS\377NPO\377OQP\377NPO\377PRQ\377TVU\377" + "NPO\377VXW\377NPO\377PRQ\377UWV\377VXW\377VXW\377SUT\377NPO\377VXW\377VX" + "W\377QSR\377TVU\377NPO\377SUT\377SUT\377QSR\377RTS\377NPO\377PRQ\377TVU\377" + "SUT\377UWV\377OQP\377OQP\377RTS\377TVU\377UWV\377UWV\377SUT\377QSR\377OQ" + "P\377QSR\377UWV\377PRQ\377OQP\377SUT\377OQP\377TVU\377QSR\377PRQ\377QSR\377" + "PRQ\377TVU\377TVU\377UWV\377NPO\377SUT\377VXW\377OQP\377UWV\377VXW\377NP" + "O\377SUT\377RTS\377SUT\377SUT\377RTS\377VXW\377VXW\377VXW\377VXW\377PRQ\377" + "UWV\377TVU\377TVU\377SUT\377UWV\377RTS\377OQP\377UWV\377SUT\377QSR\377VX" + "W\377VXW\377SUT\377PRQ\377QSR\377SUT\377TVU\377RTS\377TVU\377NPO\377UWV\377" + "QSR\377OQP\377TVU\377RTS\377TVU\377VXW\377RTS\377SUT\377TVU\377TVU\377PR" + "Q\377PRQ\377SUT\377VXW\377RTS\377PRQ\377NPO\377OQP\377NPO\377RTS\377QSR\377" + "NPO\377TVU\377VXW\377OQP\377SUT\377RTS\377NPO\377UWV\377PRQ\377TVU\377VX" + "W\377SUT\377UWV\377QSR\377OQP\377TVU\377SUT\377NPO\377QSR\377VXW\377PRQ\377" + "VXW\377SUT\377RTS\377UWV\377VXW\377UWV\377UWV\377UWV\377TVU\377PRQ\377RT" + "S\377VXW\377RTS\377PRQ\377OQP\377RTS\377QSR\377PRQ\377RTS\377OQP\377PRQ\377" + "SUT\377PRQ\377QSR\377TVU\377RTS\377UWV\377PRQ\377QSR\377QSR\377OQP\377SU" + "T\377TVU\377QSR\377OQP\377VXW\377RTS\377RTS\377SUT\377UWV\377QSR\377VXW\377" + "PRQ\377RTS\377RTS\377RTS\377PRQ\377QSR\377SUT\377PRQ\377SUT\377TVU\377QS" + "R\377RTS\377SUT\377PRQ\377RTS\377SUT\377UWV\377QSR\377VXW\377SUT\377QSR\377" + "QSR\377QSR\377SUT\377NPO\377UWV\377UWV\377VXW\377VXW\377TVU\377OQP\377OQ" + "P\377TVU\377OQP\377QSR\377SUT\377TVU\377NPO\377NPO\377NPO\377OQP\377QSR\377" + "UWV\377TVU\377VXW\377VXW\377RTS\377QSR\377OQP\377RTS\377PRQ\377RTS\377RT" + "S\377QSR\377QSR\377PRQ\377QSR\377UWV\377NPO\377OQP\377SUT\377RTS\377RTS\377" + "PRQ\377NPO\377NPO\377VXW\377NPO\377UWV\377PRQ\377RTS\377VXW\377QSR\377UW" + "V\377VXW\377TVU\377SUT\377PRQ\377RTS\377QSR\377TVU\377NPO\377SUT\377TVU\377" + "QSR\377OQP\377SUT\377TVU\377PRQ\377TVU\377RTS\377UWV\377OQP\377RTS\377QS" + "R\377UWV\377NPO\377NPO\377SUT\377PRQ\377QSR\377VXW\377SUT\377RTS\377VXW\377" + "SUT\377QSR\377SUT\377RTS\377TVU\377PRQ\377QSR\377RTS\377NPO\377OQP\377UW" + "V\377UWV\377SUT\377VXW\377UWV\377PRQ\377NPO\377NPO\377NPO\377VXW\377TVU\377" + "NPO\377RTS\377VXW\377PRQ\377RTS\377UWV\377RTS\377PRQ\377OQP\377NPO\377RT" + "S\377UWV\377UWV\377RTS\377PRQ\377VXW\377UWV\377SUT\377TVU\377TVU\377QSR\377" + "SUT\377NPO\377NPO\377QSR\377SUT\377RTS\377QSR\377TVU\377NPO\377PRQ\377SU" + "T\377RTS\377VXW\377TVU\377PRQ\377RTS\377UWV\377OQP\377PRQ\377UWV\377PRQ\377" + "OQP\377TVU\377VXW\377OQP\377TVU\377PRQ\377SUT\377SUT\377UWV\377UWV\377SU" + "T\377RTS\377SUT\377TVU\377QSR\377RTS\377QSR\377TVU\377RTS\377SUT\377TVU\377" + "VXW\377QSR\377PRQ\377TVU\377TVU\377TVU\377PRQ\377OQP\377VXW\377QSR\377TV" + "U\377RTS\377PRQ\377TVU\377UWV\377UWV\377SUT\377QSR\377NPO\377QSR\377RTS\377" + "OQP\377OQP\377OQP\377RTS\377TVU\377QSR\377RTS\377RTS\377TVU\377VXW\377OQ" + "P\377VXW\377UWV\377QSR\377VXW\377PRQ\377QSR\377SUT\377RTS\377TVU\377NPO\377" + "OQP\377PRQ\377UWV\377RTS\377RTS\377OQP\377TVU\377VXW\377RTS\377QSR\377OQ" + "P\377SUT\377QSR\377OQP\377RTS\377NPO\377QSR\377PRQ\377TVU\377PRQ\377UWV\377" + "VXW\377NPO\377VXW\377OQP\377NPO\377VXW\377NPO\377NPO\377SUT\377RTS\377SU" + "T\377PRQ\377QSR\377PRQ\377TVU\377UWV\377TVU\377RTS\377VXW\377OQP\377NPO\377" + "PRQ\377TVU\377TVU\377QSR\377PRQ\377PRQ\377RTS\377SUT\377OQP\377TVU\377NP" + "O\377TVU\377RTS\377SUT\377TVU\377RTS\377UWV\377TVU\377VXW\377TVU\377SUT\377" + "TVU\377TVU\377OQP\377VXW\377VXW\377OQP\377OQP\377UWV\377UWV\377SUT\377VX" + "W\377QSR\377RTS\377NPO\377NPO\377OQP\377RTS\377RTS\377TVU\377PRQ\377NPO\377" + "TVU\377TVU\377NPO\377TVU\377OQP\377RTS\377NPO\377PRQ\377VXW\377OQP\377QS" + "R\377UWV\377UWV\377TVU\377NPO\377NPO\377QSR\377NPO\377SUT\377VXW\377SUT\377" + "QSR\377PRQ\377UWV\377RTS\377NPO\377RTS\377VXW\377OQP\377TVU\377SUT\377PR" + "Q\377OQP\377RTS\377RTS\377SUT\377SUT\377UWV\377OQP\377UWV\377PRQ\377SUT\377" + "NPO\377VXW\377QSR\377SUT\377SUT\377OQP\377NPO\377OQP\377SUT\377NPO\377UW" + "V\377QSR\377OQP\377QSR\377VXW\377TVU\377TVU\377PRQ\377NPO\377NPO\377UWV\377" + "PRQ\377SUT\377VXW\377PRQ\377PRQ\377VXW\377VXW\377TVU\377VXW\377QSR\377VX" + "W\377UWV\377NPO\377TVU\377RTS\377UWV\377OQP\377OQP\377TVU\377OQP\377RTS\377" + "UWV\377NPO\377OQP\377QSR\377VXW\377RTS\377VXW\377NPO\377PRQ\377OQP\377UW" + "V\377RTS\377SUT\377OQP\377QSR\377VXW\377OQP\377OQP\377QSR\377NPO\377PRQ\377" + "TVU\377UWV\377UWV\377TVU\377VXW\377UWV\377TVU\377SUT\377NPO\377NPO\377NP" + "O\377NPO\377SUT\377SUT\377OQP\377OQP\377QSR\377VXW\377NPO\377RTS\377PRQ\377" + "QSR\377RTS\377OQP\377NPO\377PRQ\377TVU\377UWV\377NPO\377NPO\377PRQ\377NP" + "O\377RTS\377RTS\377VXW\377SUT\377PRQ\377UWV\377VXW\377PRQ\377VXW\377QSR\377" + "TVU\377NPO\377VXW\377OQP\377RTS\377RTS\377PRQ\377NPO\377OQP\377NPO\377OQ" + "P\377RTS\377VXW\377RTS\377VXW\377UWV\377SUT\377RTS\377NPO\377PRQ\377PRQ\377" + "VXW\377SUT\377OQP\377OQP\377NPO\377UWV\377TVU\377QSR\377RTS\377UWV\377OQ" + "P\377RTS\377NPO\377PRQ\377UWV\377UWV\377VXW\377TVU\377RTS\377NPO\377PRQ\377" + "RTS\377NPO\377PRQ\377QSR\377RTS\377NPO\377TVU\377RTS\377NPO\377VXW\377SU" + "T\377RTS\377RTS\377RTS\377RTS\377VXW\377RTS\377VXW\377UWV\377UWV\377QSR\377" + "SUT\377TVU\377NPO\377QSR\377RTS\377QSR\377UWV\377NPO\377PRQ\377RTS\377NP" + "O\377RTS\377SUT\377UWV\377PRQ\377VXW\377QSR\377UWV\377SUT\377TVU\377OQP\377" + "PRQ\377NPO\377QSR\377UWV\377TVU\377NPO\377OQP\377QSR\377QSR\377PRQ\377VX" + "W\377RTS\377VXW\377PRQ\377UWV\377SUT\377TVU\377RTS\377SUT\377QSR\377VXW\377" + "UWV\377OQP\377NPO\377OQP\377TVU\377TVU\377QSR\377QSR\377RTS\377OQP\377VX" + "W\377UWV\377NPO\377UWV\377OQP\377VXW\377NPO\377QSR\377QSR\377RTS\377OQP\377" + "TVU\377UWV\377PRQ\377TVU\377RTS\377SUT\377VXW\377QSR\377SUT\377RTS\377VX" + "W\377SUT\377OQP\377QSR\377QSR\377QSR\377QSR\377OQP\377QSR\377SUT\377NPO\377" + "RTS\377TVU\377NPO\377OQP\377NPO\377NPO\377SUT\377TVU\377NPO\377VXW\377RT" + "S\377TVU\377PRQ\377TVU\377OQP\377UWV\377QSR\377UWV\377OQP\377PRQ\377UWV\377" + "VXW\377UWV\377TVU\377NPO\377VXW\377UWV\377PRQ\377VXW\377TVU\377NPO\377NP" + "O\377TVU\377PRQ\377OQP\377NPO\377RTS\377RTS\377UWV\377NPO\377RTS\377QSR\377" + "SUT\377UWV\377NPO\377RTS\377NPO\377QSR\377OQP\377UWV\377VXW\377NPO\377SU" + "T\377NPO\377OQP\377VXW\377UWV\377OQP\377VXW\377NPO\377SUT\377NPO\377VXW\377" + "OQP\377SUT\377UWV\377TVU\377PRQ\377TVU\377QSR\377RTS\377OQP\377TVU\377NP" + "O\377RTS\377SUT\377TVU\377UWV\377RTS\377RTS\377NPO\377PRQ\377PRQ\377QSR\377" + "NPO\377OQP\377OQP\377TVU\377SUT\377SUT\377RTS\377NPO\377RTS\377UWV\377NP" + "O\377VXW\377OQP\377RTS\377RTS\377OQP\377QSR\377NPO\377UWV\377TVU\377UWV\377" + "TVU\377VXW\377VXW\377VXW\377PRQ\377PRQ\377NPO\377UWV\377UWV\377VXW\377RT" + "S\377OQP\377NPO\377RTS\377NPO\377RTS\377NPO\377SUT\377OQP\377QSR\377OQP\377" + "NPO\377VXW\377NPO\377PRQ\377NPO\377VXW\377QSR\377NPO\377TVU\377VXW\377VX" + "W\377OQP\377OQP\377RTS\377OQP\377UWV\377NPO\377SUT\377UWV\377TVU\377UWV\377" + "TVU\377UWV\377RTS\377TVU\377NPO\377SUT\377NPO\377QSR\377PRQ\377UWV\377QS" + "R\377SUT\377PRQ\377TVU\377OQP\377OQP\377TVU\377PRQ\377VXW\377TVU\377SUT\377" + "RTS\377VXW\377SUT\377PRQ\377UWV\377TVU\377OQP\377UWV\377OQP\377NPO\377NP" + "O\377PRQ\377RTS\377TVU\377SUT\377RTS\377RTS\377SUT\377NPO\377QSR\377OQP\377" + "VXW\377UWV\377RTS\377VXW\377UWV\377TVU\377TVU\377NPO\377UWV\377RTS\377VX" + "W\377TVU\377SUT\377OQP\377OQP\377VXW\377NPO\377PRQ\377QSR\377OQP\377RTS\377" + "SUT\377NPO\377QSR\377TVU\377RTS\377TVU\377SUT\377PRQ\377QSR\377QSR\377QS" + "R\377NPO\377UWV\377SUT\377NPO\377TVU\377SUT\377VXW\377QSR\377SUT\377TVU\377" + "NPO\377TVU\377RTS\377OQP\377QSR\377NPO\377PRQ\377QSR\377RTS\377TVU\377PR" + "Q\377NPO\377NPO\377PRQ\377QSR\377PRQ\377NPO\377QSR\377NPO\377QSR\377QSR\377" + "VXW\377QSR\377TVU\377RTS\377NPO\377SUT\377PRQ\377OQP\377VXW\377UWV\377NP" + "O\377PRQ\377PRQ\377NPO\377VXW\377VXW\377TVU\377OQP\377RTS\377OQP\377OQP\377" + "OQP\377TVU\377VXW\377VXW\377VXW\377PRQ\377QSR\377VXW\377UWV\377NPO\377RT" + "S\377TVU\377OQP\377UWV\377VXW\377OQP\377PRQ\377RTS\377NPO\377VXW\377PRQ\377" + "OQP\377QSR\377SUT\377VXW\377TVU\377VXW\377OQP\377QSR\377QSR\377RTS\377QS" + "R\377QSR\377NPO\377VXW\377VXW\377UWV\377NPO\377NPO\377PRQ\377OQP\377TVU\377" + "VXW\377VXW\377NPO\377VXW\377OQP\377RTS\377PRQ\377TVU\377OQP\377NPO\377OQ" + "P\377UWV\377UWV\377SUT\377VXW\377NPO\377PRQ\377OQP\377OQP\377SUT\377QSR\377" + "PRQ\377RTS\377QSR\377SUT\377UWV\377TVU\377UWV\377PRQ\377VXW\377RTS\377OQ" + "P\377VXW\377UWV\377SUT\377QSR\377NPO\377VXW\377TVU\377VXW\377PRQ\377NPO\377" + "PRQ\377OQP\377QSR\377UWV\377SUT\377UWV\377TVU\377UWV\377PRQ\377PRQ\377PR" + "Q\377TVU\377QSR\377QSR\377UWV\377QSR\377UWV\377TVU\377UWV\377QSR\377RTS\377" + "OQP\377OQP\377OQP\377PRQ\377PRQ\377NPO\377UWV\377TVU\377NPO\377RTS\377QS" + "R\377UWV\377OQP\377PRQ\377TVU\377TVU\377NPO\377NPO\377TVU\377NPO\377UWV\377" + "VXW\377NPO\377TVU\377TVU\377NPO\377TVU\377OQP\377RTS\377NPO\377PRQ\377VX" + "W\377OQP\377QSR\377UWV\377UWV\377TVU\377NPO\377NPO\377QSR\377NPO\377SUT\377" + "VXW\377SUT\377QSR\377PRQ\377UWV\377RTS\377NPO\377RTS\377VXW\377OQP\377TV" + "U\377SUT\377PRQ\377OQP\377RTS\377RTS\377SUT\377SUT\377UWV\377OQP\377UWV\377" + "PRQ\377SUT\377NPO\377VXW\377QSR\377SUT\377SUT\377OQP\377NPO\377OQP\377SU" + "T\377NPO\377UWV\377QSR\377OQP\377QSR\377VXW\377TVU\377TVU\377PRQ\377NPO\377" + "NPO\377UWV\377PRQ\377SUT\377VXW\377PRQ\377PRQ\377VXW\377VXW\377TVU\377VX" + "W\377QSR\377VXW\377UWV\377NPO\377TVU\377RTS\377UWV\377OQP\377OQP\377TVU\377" + "OQP\377RTS\377UWV\377NPO\377OQP\377QSR\377VXW\377RTS\377VXW\377NPO\377PR" + "Q\377OQP\377UWV\377RTS\377SUT\377OQP\377QSR\377VXW\377OQP\377OQP\377QSR\377" + "NPO\377PRQ\377TVU\377UWV\377UWV\377TVU\377VXW\377UWV\377TVU\377SUT\377NP" + "O\377NPO\377NPO\377NPO\377SUT\377SUT\377OQP\377OQP\377QSR\377VXW\377NPO\377" + "RTS\377PRQ\377QSR\377RTS\377OQP\377NPO\377PRQ\377TVU\377UWV\377NPO\377NP" + "O\377PRQ\377NPO\377RTS\377RTS\377VXW\377SUT\377PRQ\377UWV\377VXW\377PRQ\377" + "VXW\377QSR\377TVU\377NPO\377VXW\377OQP\377RTS\377RTS\377PRQ\377NPO\377OQ" + "P\377NPO\377OQP\377RTS\377VXW\377RTS\377VXW\377UWV\377SUT\377RTS\377NPO\377" + "PRQ\377PRQ\377VXW\377SUT\377OQP\377OQP\377NPO\377UWV\377TVU\377QSR\377RT" + "S\377UWV\377OQP\377RTS\377NPO\377PRQ\377UWV\377UWV\377VXW\377TVU\377RTS\377" + "NPO\377PRQ\377RTS\377NPO\377PRQ\377QSR\377RTS\377NPO\377TVU\377RTS\377NP" + "O\377VXW\377SUT\377RTS\377RTS\377RTS\377RTS\377VXW\377RTS\377VXW\377UWV\377" + "UWV\377QSR\377SUT\377TVU\377NPO\377QSR\377RTS\377QSR\377UWV\377NPO\377PR" + "Q\377RTS\377NPO\377RTS\377SUT\377UWV\377PRQ\377VXW\377QSR\377UWV\377SUT\377" + "TVU\377OQP\377PRQ\377NPO\377QSR\377UWV\377TVU\377NPO\377OQP\377QSR\377QS" + "R\377PRQ\377VXW\377RTS\377VXW\377PRQ\377UWV\377SUT\377TVU\377RTS\377SUT\377" + "QSR\377VXW\377UWV\377OQP\377NPO\377OQP\377TVU\377TVU\377QSR\377QSR\377RT" + "S\377OQP\377VXW\377UWV\377NPO\377UWV\377OQP\377VXW\377NPO\377QSR\377QSR\377" + "RTS\377OQP\377TVU\377UWV\377PRQ\377TVU\377RTS\377SUT\377VXW\377QSR\377SU" + "T\377RTS\377VXW\377SUT\377OQP\377QSR\377QSR\377QSR\377QSR\377OQP\377QSR\377" + "SUT\377NPO\377RTS\377TVU\377NPO\377OQP\377NPO\377NPO\377SUT\377TVU\377NP" + "O\377VXW\377RTS\377TVU\377PRQ\377TVU\377OQP\377UWV\377QSR\377UWV\377OQP\377" + "PRQ\377UWV\377VXW\377UWV\377TVU\377NPO\377VXW\377UWV\377PRQ\377VXW\377TV" + "U\377NPO\377NPO\377TVU\377PRQ\377OQP\377NPO\377RTS\377RTS\377UWV\377NPO\377" + "RTS\377QSR\377SUT\377UWV\377NPO\377RTS\377NPO\377QSR\377OQP\377UWV\377VX" + "W\377NPO\377SUT\377NPO\377OQP\377VXW\377UWV\377OQP\377VXW\377NPO\377SUT\377" + "NPO\377VXW\377OQP\377SUT\377UWV\377TVU\377PRQ\377TVU\377QSR\377RTS\377OQ" + "P\377TVU\377NPO\377RTS\377SUT\377TVU\377UWV\377RTS\377RTS\377NPO\377PRQ\377" + "PRQ\377QSR\377NPO\377OQP\377OQP\377TVU\377SUT\377SUT\377RTS\377NPO\377RT" + "S\377UWV\377NPO\377VXW\377OQP\377RTS\377RTS\377OQP\377>q\232\377SUT\377R" + "TS\377QSR\377\311\071\065\377\314<\070\377\311\071\065\377\310\070\064\377\313;" + "\067\377\311\071\065\377\315=\071\377\311\071\065\377\307\067\063\377\312:\066\377" + "\310\070\064\377\310\070\064\377\311\071\065\377\310\070\064\377\311\071\065\377\314" + "<\070\377\315=\071\377\315=\071\377\314<\070\377\311\071\065\377\314<\070\377\312" + ":\066\377\311\071\065\377\313;\067\377\315=\071\377\313;\067\377\310\070\064\377" + "\315=\071\377\310\070\064\377\314<\070\377\307\067\063\377\311\071\065\377\310\070" + "\064\377\314<\070\377\314<\070\377\314<\070\377\312:\066\377\311\071\065\377\310" + "\070\064\377\310\070\064\377\311\071\065\377\307\067\063\377\310\070\064\377\311\071" + "\065\377\310\070\064\377\315=\071\377\311\071\065\377\312:\066\377\311\071\065\377" + "\313;\067\377\313;\067\377\312:\066\377\313;\067\377\312:\066\377\312:\066\377" + "\314<\070\377\312:\066\377\312:\066\377\314<\070\377\315=\071\377\314<\070\377" + "\311\071\065\377\312:\066\377\313;\067\377\313;\067\377\313;\067\377\310\070\064" + "\377\314<\070\377\311\071\065\377\311\071\065\377\313;\067\377\314<\070\377\313" + ";\067\377\307\067\063\377\311\071\065\377\314<\070\377\311\071\065\377\315=\071\377" + "\307\067\063\377\313;\067\377\312:\066\377\310\070\064\377\312:\066\377\312:\066" + "\377\313;\067\377\312:\066\377\314<\070\377\313;\067\377\311\071\065\377\307\067" + "\063\377\315=\071\377\310\070\064\377\310\070\064\377\312:\066\377\313;\067\377\310" + "\070\064\377\314<\070\377\315=\071\377\307\067\063\377\315=\071\377\307\067\063\377" + "\311\071\065\377RTS\377NPO\377VXW\377\313;\067\377\311\071\065\377\315=\071\377" + "\307\067\063\377\315=\071\377\310\070\064\377\315=\071\377\311\071\065\377\314<\070" + "\377\312:\066\377\314<\070\377\314<\070\377\313;\067\377\311\071\065\377\312:\066" + "\377\314<\070\377\311\071\065\377\314<\070\377\311\071\065\377\311\071\065\377\313" + ";\067\377\313;\067\377\307\067\063\377\312:\066\377\307\067\063\377\307\067\063\377" + "\315=\071\377\313;\067\377\307\067\063\377\307\067\063\377\307\067\063\377\307\067" + "\063\377\307\067\063\377\314<\070\377\314<\070\377\315=\071\377\315=\071\377\310" + "\070\064\377\313;\067\377\312:\066\377\311\071\065\377\313;\067\377\312:\066\377" + "\312:\066\377\310\070\064\377\315=\071\377\315=\071\377\310\070\064\377\312:\066" + "\377\315=\071\377\313;\067\377\310\070\064\377\312:\066\377\312:\066\377\314<\070" + "\377\312:\066\377\315=\071\377\307\067\063\377\310\070\064\377\310\070\064\377\310" + "\070\064\377\307\067\063\377\313;\067\377\311\071\065\377\307\067\063\377\311\071\065" + "\377\307\067\063\377\310\070\064\377\315=\071\377\310\070\064\377\315=\071\377\312" + ":\066\377\313;\067\377\313;\067\377\313;\067\377\310\070\064\377\313;\067\377\310" + "\070\064\377\310\070\064\377\307\067\063\377\310\070\064\377\310\070\064\377\313;\067" + "\377\312:\066\377\313;\067\377\312:\066\377\313;\067\377\314<\070\377\310\070\064" + "\377\313;\067\377\314<\070\377\314<\070\377\307\067\063\377\311\071\065\377\312" + ":\066\377\313;\067\377\312:\066\377\312:\066\377\315=\071\377\310\070\064\377\314" + "<\070\377\312:\066\377\312:\066\377\310\070\064\377\311\071\065\377\314<\070\377" + "\310\070\064\377\313;\067\377\307\067\063\377\310\070\064\377\314<\070\377\311\071" + "\065\377\315=\071\377\315=\071\377\311\071\065\377\314<\070\377\310\070\064\377\314" + "<\070\377\312:\066\377\307\067\063\377\313;\067\377\313;\067\377\312:\066\377\312" + ":\066\377\311\071\065\377\311\071\065\377\310\070\064\377\311\071\065\377\313;\067" + "\377\311\071\065\377\313;\067\377\314<\070\377\311\071\065\377\312:\066\377\314" + "<\070\377\310\070\064\377\307\067\063\377\312:\066\377\307\067\063\377\311\071\065" + "\377\313;\067\377\311\071\065\377\311\071\065\377\310\070\064\377\313;\067\377\311" + "\071\065\377\313;\067\377\311\071\065\377\315=\071\377\311\071\065\377\313;\067\377" + "\314<\070\377\310\070\064\377\314<\070\377\307\067\063\377\312:\066\377\312:\066" + "\377\314<\070\377\312:\066\377\310\070\064\377\311\071\065\377\314<\070\377\310" + "\070\064\377\307\067\063\377\314<\070\377\314<\070\377\311\071\065\377\315=\071\377" + "\310\070\064\377\314<\070\377\307\067\063\377\311\071\065\377\310\070\064\377\314" + "<\070\377\310\070\064\377\314<\070\377\315=\071\377\311\071\065\377\314<\070\377" + "\310\070\064\377\307\067\063\377\307\067\063\377\315=\071\377\313;\067\377\315=\071" + "\377\311\071\065\377\313;\067\377\315=\071\377\313;\067\377\307\067\063\377\310" + "\070\064\377\315=\071\377\307\067\063\377\307\067\063\377\311\071\065\377\311\071\065" + "\377\313;\067\377\307\067\063\377\312:\066\377\313;\067\377\310\070\064\377\312" + ":\066\377\312:\066\377\313;\067\377\310\070\064\377\307\067\063\377\312:\066\377" + "\313;\067\377\314<\070\377\315=\071\377\312:\066\377\310\070\064\377\314<\070\377" + "\307\067\063\377\310\070\064\377\313;\067\377\315=\071\377\311\071\065\377\310\070" + "\064\377\307\067\063\377\314<\070\377\310\070\064\377\310\070\064\377\312:\066\377" + "\312:\066\377\313;\067\377\310\070\064\377\310\070\064\377\315=\071\377\307\067\063" + "\377\314<\070\377\313;\067\377\313;\067\377\315=\071\377\314<\070\377\307\067\063" + "\377\310\070\064\377\315=\071\377\315=\071\377\312:\066\377\313;\067\377\307\067" + "\063\377\315=\071\377\310\070\064\377\310\070\064\377\312:\066\377\314<\070\377\313" + ";\067\377\313;\067\377\310\070\064\377\312:\066\377\312:\066\377\313;\067\377\307" + "\067\063\377\312:\066\377\314<\070\377\315=\071\377\312:\066\377\315=\071\377\310" + "\070\064\377\312:\066\377\311\071\065\377\311\071\065\377\314<\070\377\311\071\065" + "\377\310\070\064\377\315=\071\377\310\070\064\377\313;\067\377\313;\067\377\315" + "=\071\377\312:\066\377\310\070\064\377\310\070\064\377\311\071\065\377\310\070\064" + "\377\310\070\064\377\310\070\064\377\315=\071\377\315=\071\377\307\067\063\377\315" + "=\071\377\313;\067\377\314<\070\377\315=\071\377\310\070\064\377\314<\070\377\310" + "\070\064\377\312:\066\377\313;\067\377\315=\071\377\310\070\064\377\315=\071\377" + "\310\070\064\377\315=\071\377\312:\066\377\307\067\063\377\315=\071\377\307\067\063" + "\377\315=\071\377\314<\070\377\310\070\064\377\307\067\063\377\310\070\064\377\307" + "\067\063\377\310\070\064\377\307\067\063\377\314<\070\377\311\071\065\377\311\071\065" + "\377\313;\067\377\311\071\065\377\311\071\065\377\314<\070\377\307\067\063\377\311" + "\071\065\377\307\067\063\377\311\071\065\377\312:\066\377\311\071\065\377\312:\066" + "\377\311\071\065\377\314<\070\377\315=\071\377\314<\070\377\307\067\063\377\312" + ":\066\377\312:\066\377\314<\070\377\313;\067\377\310\070\064\377\311\071\065\377" + "\310\070\064\377\312:\066\377\312:\066\377\315=\071\377\311\071\065\377\313;\067" + "\377\314<\070\377\314<\070\377\312:\066\377\307\067\063\377\311\071\065\377\307" + "\067\063\377\313;\067\377\314<\070\377\307\067\063\377\310\070\064\377\311\071\065" + "\377\314<\070\377\310\070\064\377\312:\066\377\312:\066\377\310\070\064\377\307" + "\067\063\377\313;\067\377\315=\071\377\312:\066\377\315=\071\377\310\070\064\377" + "\307\067\063\377\312:\066\377\314<\070\377\310\070\064\377\314<\070\377\307\067\063" + "\377\310\070\064\377\310\070\064\377\310\070\064\377\310\070\064\377\311\071\065\377" + "\307\067\063\377\312:\066\377\310\070\064\377\314<\070\377\312:\066\377\314<\070" + "\377\311\071\065\377\307\067\063\377\310\070\064\377\314<\070\377TVU\377UWV\377" + "PRQ\377\311\071\065\377\315=\071\377\310\070\064\377\307\067\063\377\313;\067\377" + "\315=\071\377\314<\070\377\307\067\063\377\311\071\065\377\307\067\063\377\315=\071" + "\377\315=\071\377\313;\067\377\313;\067\377\314<\070\377\311\071\065\377\310\070" + "\064\377\307\067\063\377\312:\066\377\307\067\063\377\315=\071\377\311\071\065\377" + "\313;\067\377\315=\071\377\312:\066\377\314<\070\377\310\070\064\377\312:\066\377" + "\307\067\063\377\312:\066\377\310\070\064\377\313;\067\377\312:\066\377\312:\066" + "\377\311\071\065\377\315=\071\377\310\070\064\377\315=\071\377\311\071\065\377\310" + "\070\064\377\307\067\063\377\312:\066\377\310\070\064\377\311\071\065\377\314<\070" + "\377\311\071\065\377\315=\071\377\311\071\065\377\314<\070\377\315=\071\377\314" + "<\070\377\314<\070\377>q\232\377VXW\377VXW\377QSR\377\311\071\065\377\307\067" + "\063\377\314<\070\377\313;\067\377\311\071\065\377\314<\070\377\312:\066\377\307" + "\067\063\377\314<\070\377\310\070\064\377\313;\067\377\314<\070\377\312:\066\377" + "\315=\071\377\312:\066\377\310\070\064\377\310\070\064\377\312:\066\377\311\071\065" + "\377\314<\070\377\315=\071\377\310\070\064\377\312:\066\377\313;\067\377\313;\067" + "\377\313;\067\377\310\070\064\377\311\071\065\377\310\070\064\377\312:\066\377\312" + ":\066\377\307\067\063\377\311\071\065\377\313;\067\377\311\071\065\377\312:\066\377" + "\311\071\065\377\315=\071\377\311\071\065\377\310\070\064\377\307\067\063\377\310" + "\070\064\377\314<\070\377\313;\067\377\310\070\064\377\311\071\065\377\314<\070\377" + "\315=\071\377\310\070\064\377\307\067\063\377\313;\067\377\314<\070\377\310\070\064" + "\377\307\067\063\377\313;\067\377\313;\067\377\312:\066\377\315=\071\377\312:\066" + "\377\307\067\063\377\310\070\064\377\314<\070\377\307\067\063\377\314<\070\377\315" + "=\071\377\311\071\065\377\311\071\065\377\311\071\065\377\307\067\063\377\311\071\065" + "\377\310\070\064\377\314<\070\377\315=\071\377\311\071\065\377\314<\070\377\310" + "\070\064\377\315=\071\377\313;\067\377\314<\070\377\307\067\063\377\307\067\063\377" + "\314<\070\377\307\067\063\377\312:\066\377\307\067\063\377\313;\067\377\311\071\065" + "\377\314<\070\377\310\070\064\377\310\070\064\377\307\067\063\377\310\070\064\377" + "\312:\066\377\315=\071\377\314<\070\377\310\070\064\377\315=\071\377\315=\071\377" + "\307\067\063\377\312:\066\377\312:\066\377\311\071\065\377TVU\377PRQ\377RTS\377" + "\315=\071\377\310\070\064\377\311\071\065\377\313;\067\377\315=\071\377\314<\070" + "\377\312:\066\377\313;\067\377\307\067\063\377\313;\067\377\307\067\063\377\307" + "\067\063\377\310\070\064\377\314<\070\377\315=\071\377\307\067\063\377\307\067\063" + "\377\310\070\064\377\315=\071\377\312:\066\377\312:\066\377\311\071\065\377\310" + "\070\064\377\315=\071\377\307\067\063\377\313;\067\377\313;\067\377\310\070\064\377" + "\312:\066\377\311\071\065\377\312:\066\377\307\067\063\377\310\070\064\377\307\067" + "\063\377\315=\071\377\307\067\063\377\313;\067\377\313;\067\377\311\071\065\377\313" + ";\067\377\314<\070\377\307\067\063\377\307\067\063\377\312:\066\377\311\071\065\377" + "\314<\070\377\311\071\065\377\312:\066\377\315=\071\377\312:\066\377\314<\070\377" + "\315=\071\377\307\067\063\377\311\071\065\377\314<\070\377\307\067\063\377\310\070" + "\064\377\307\067\063\377\310\070\064\377\310\070\064\377\310\070\064\377\315=\071\377" + "\310\070\064\377\311\071\065\377\310\070\064\377\312:\066\377\307\067\063\377\315" + "=\071\377\313;\067\377\307\067\063\377\314<\070\377\313;\067\377\312:\066\377\310" + "\070\064\377\311\071\065\377\314<\070\377\314<\070\377\311\071\065\377\313;\067\377" + "\310\070\064\377\310\070\064\377\311\071\065\377\311\071\065\377\313;\067\377\313" + ";\067\377\312:\066\377\314<\070\377\313;\067\377\310\070\064\377\313;\067\377\314" + "<\070\377\307\067\063\377\307\067\063\377\311\071\065\377\311\071\065\377\312:\066" + "\377\310\070\064\377\314<\070\377\310\070\064\377\315=\071\377\307\067\063\377\313" + ";\067\377\315=\071\377\307\067\063\377\307\067\063\377\307\067\063\377\313;\067\377" + "\315=\071\377\310\070\064\377\313;\067\377\315=\071\377\314<\070\377\310\070\064" + "\377\314<\070\377\314<\070\377\307\067\063\377\312:\066\377\312:\066\377\311\071" + "\065\377\315=\071\377\310\070\064\377\310\070\064\377\310\070\064\377\313;\067\377" + "\314<\070\377\311\071\065\377\313;\067\377\310\070\064\377\307\067\063\377\307\067" + "\063\377\312:\066\377\313;\067\377\310\070\064\377\307\067\063\377\313;\067\377\312" + ":\066\377\307\067\063\377\310\070\064\377\315=\071\377\307\067\063\377\307\067\063" + "\377\307\067\063\377\315=\071\377\313;\067\377\312:\066\377\307\067\063\377\310" + "\070\064\377\310\070\064\377\310\070\064\377\313;\067\377\315=\071\377\311\071\065" + "\377\307\067\063\377\313;\067\377\310\070\064\377\314<\070\377\314<\070\377\313" + ";\067\377\314<\070\377\311\071\065\377\307\067\063\377\314<\070\377\310\070\064\377" + "\310\070\064\377\307\067\063\377\314<\070\377\314<\070\377\313;\067\377\315=\071" + "\377\313;\067\377\313;\067\377\307\067\063\377\311\071\065\377\315=\071\377\312" + ":\066\377\307\067\063\377\313;\067\377\313;\067\377\311\071\065\377\312:\066\377" + "\312:\066\377\311\071\065\377\307\067\063\377\311\071\065\377\312:\066\377\311\071" + "\065\377\307\067\063\377\312:\066\377\307\067\063\377\313;\067\377\313;\067\377\310" + "\070\064\377\315=\071\377\311\071\065\377\313;\067\377\314<\070\377\312:\066\377" + "\313;\067\377\313;\067\377\313;\067\377\314<\070\377\311\071\065\377\313;\067\377" + "\313;\067\377\314<\070\377\312:\066\377\310\070\064\377\310\070\064\377\312:\066" + "\377\310\070\064\377\310\070\064\377\312:\066\377\313;\067\377\314<\070\377\311" + "\071\065\377\313;\067\377\307\067\063\377\313;\067\377\313;\067\377\310\070\064\377" + "\313;\067\377\312:\066\377\310\070\064\377\313;\067\377\313;\067\377\311\071\065" + "\377\312:\066\377\311\071\065\377\313;\067\377\307\067\063\377\310\070\064\377\311" + "\071\065\377\315=\071\377\313;\067\377\312:\066\377\307\067\063\377\315=\071\377" + "\314<\070\377\314<\070\377\311\071\065\377\310\070\064\377\307\067\063\377\311\071" + "\065\377\307\067\063\377\307\067\063\377\307\067\063\377\314<\070\377\307\067\063\377" + "\315=\071\377\315=\071\377\315=\071\377\310\070\064\377\311\071\065\377\311\071\065" + "\377\312:\066\377\313;\067\377\311\071\065\377\307\067\063\377\307\067\063\377\307" + "\067\063\377\313;\067\377\307\067\063\377\314<\070\377\310\070\064\377\313;\067\377" + "\312:\066\377\315=\071\377\314<\070\377\310\070\064\377\313;\067\377\310\070\064" + "\377\314<\070\377\310\070\064\377\312:\066\377\313;\067\377\314<\070\377\310\070" + "\064\377\314<\070\377\312:\066\377\311\071\065\377\313;\067\377\310\070\064\377\311" + "\071\065\377\311\071\065\377\312:\066\377\310\070\064\377\313;\067\377\315=\071\377" + "\311\071\065\377\310\070\064\377\311\071\065\377\310\070\064\377\311\071\065\377\312" + ":\066\377\307\067\063\377\311\071\065\377\307\067\063\377\315=\071\377\313;\067\377" + "\311\071\065\377\307\067\063\377\313;\067\377\311\071\065\377\311\071\065\377\310" + "\070\064\377\312:\066\377\311\071\065\377\310\070\064\377\312:\066\377\310\070\064" + "\377\315=\071\377\313;\067\377\313;\067\377\315=\071\377\311\071\065\377\314<\070" + "\377\315=\071\377\310\070\064\377\315=\071\377\310\070\064\377\312:\066\377\312" + ":\066\377\307\067\063\377\311\071\065\377\310\070\064\377\311\071\065\377\310\070\064" + "\377\314<\070\377\315=\071\377\313;\067\377\311\071\065\377\312:\066\377\310\070" + "\064\377\315=\071\377\313;\067\377\312:\066\377\307\067\063\377\310\070\064\377\311" + "\071\065\377\314<\070\377\311\071\065\377\314<\070\377\313;\067\377\315=\071\377" + "\313;\067\377\315=\071\377\307\067\063\377\310\070\064\377\310\070\064\377\315=\071" + "\377\312:\066\377\311\071\065\377\310\070\064\377\314<\070\377\314<\070\377\312" + ":\066\377\315=\071\377\312:\066\377\314<\070\377\311\071\065\377\315=\071\377\312" + ":\066\377\314<\070\377\313;\067\377\312:\066\377\315=\071\377\311\071\065\377\307" + "\067\063\377\314<\070\377\307\067\063\377\307\067\063\377\315=\071\377\312:\066\377" + "\312:\066\377\315=\071\377\311\071\065\377\315=\071\377\313;\067\377\313;\067\377" + "\315=\071\377\312:\066\377NPO\377SUT\377VXW\377\307\067\063\377\307\067\063\377" + "\313;\067\377\310\070\064\377\311\071\065\377\312:\066\377\307\067\063\377\314<\070" + "\377\312:\066\377\310\070\064\377\314<\070\377\307\067\063\377\314<\070\377\315" + "=\071\377\313;\067\377\315=\071\377\313;\067\377\307\067\063\377\315=\071\377\311" + "\071\065\377\310\070\064\377\312:\066\377\315=\071\377\307\067\063\377\307\067\063" + "\377\315=\071\377\311\071\065\377\312:\066\377\311\071\065\377\313;\067\377\310" + "\070\064\377\310\070\064\377\307\067\063\377\314<\070\377\312:\066\377\307\067\063" + "\377\310\070\064\377\313;\067\377\315=\071\377\307\067\063\377\311\071\065\377\315" + "=\071\377\312:\066\377\307\067\063\377\311\071\065\377\313;\067\377\307\067\063\377" + "\312:\066\377\311\071\065\377\312:\066\377\314<\070\377\310\070\064\377 + +namespace Artwork { +extern const char *backgroundData; +const uint32_t backgroundDataSize = 677980; +const uint32_t backgroundWidth = 545; +const uint32_t backgroundHeight = 311; +} // namespace Artwork \ No newline at end of file diff --git a/plugin/ui.cpp b/plugin/ui.cpp new file mode 100644 index 0000000..6b80843 --- /dev/null +++ b/plugin/ui.cpp @@ -0,0 +1,34 @@ + +#include "ui.hpp" + +#include "DistrhoArtworkNekobi.hpp" +#include "back.hpp" + +START_NAMESPACE_DISTRHO + +namespace Art = Artwork; + +DistrhoUIchassis::DistrhoUIchassis() : UI(Art::backgroundWidth, Art::backgroundHeight, true), + // UI + fImgBackground(Art::backgroundData, Art::backgroundWidth, Art::backgroundHeight, kImageFormatRGBA) + +{ +} + +void DistrhoUIchassis::programLoaded(uint32_t index) { + printf("in programLoaded %d\n", index); +} +void DistrhoUIchassis::parameterChanged(uint32_t index, float value) { + printf("in parameterchanged %d %f\n", index, value); +} + +void DistrhoUIchassis::onDisplay() { + const GraphicsContext& context(getGraphicsContext()); + fImgBackground.draw(context); +}; + +UI* createUI() { + return new DistrhoUIchassis(); +} + +END_NAMESPACE_DISTRHO diff --git a/plugin/ui.hpp b/plugin/ui.hpp new file mode 100644 index 0000000..d873ca1 --- /dev/null +++ b/plugin/ui.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include "DistrhoUI.hpp" +#include "ImageWidgets.hpp" + +START_NAMESPACE_DISTRHO + +class DistrhoUIchassis : public UI { + public: + DistrhoUIchassis(); + + protected: + void parameterChanged(uint32_t index, float value) override; + void programLoaded(uint32_t index) override; + void onDisplay() override; + + private: + Image fImgBackground; + DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DistrhoUIchassis) +// ImageAboutWindow fAboutWindow; + +}; + +END_NAMESPACE_DISTRHO +