@@ -28,5 +28,6 @@ | |||||
# undef far | # undef far | ||||
# undef near | # undef near | ||||
# define ABC ABC_ | # define ABC ABC_ | ||||
# define Chord Chord_ | |||||
# define VOID VOID_ | # define VOID VOID_ | ||||
#endif | #endif |
@@ -24,7 +24,7 @@ PLUGIN_FILES = plugins.cpp | |||||
PLUGIN_FILES += $(filter-out AmalgamatedHarmonics/src/AH.cpp,$(wildcard AmalgamatedHarmonics/src/*.cpp)) | PLUGIN_FILES += $(filter-out AmalgamatedHarmonics/src/AH.cpp,$(wildcard AmalgamatedHarmonics/src/*.cpp)) | ||||
# modules/types which are present in other plugins | # modules/types which are present in other plugins | ||||
AMALGAMATEDHARMONICS_CUSTOM = BasePinkNoiseGenerator LowFrequencyOscillator Pattern PinkNoiseGenerator RedNoiseGenerator | |||||
AMALGAMATEDHARMONICS_CUSTOM = BasePinkNoiseGenerator EvenVCO LowFrequencyOscillator Pattern PinkNoiseGenerator RedNoiseGenerator | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# AnimatedCircuits | # AnimatedCircuits | ||||
@@ -38,7 +38,7 @@ PLUGIN_FILES += $(filter-out AS/src/AS.cpp,$(wildcard AS/src/*.cpp)) | |||||
PLUGIN_FILES += AS/freeverb/revmodel.cpp | PLUGIN_FILES += AS/freeverb/revmodel.cpp | ||||
# modules/types which are present in other plugins | # modules/types which are present in other plugins | ||||
AS_CUSTOM = ADSR LabelDisplayWidget LowFrequencyOscillator Param VCA allpass comb revmodel | |||||
AS_CUSTOM = ADSR LabelDisplayWidget LowFrequencyOscillator VCA allpass comb revmodel | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# AudibleInstruments | # AudibleInstruments | ||||
@@ -145,9 +145,6 @@ PLUGIN_FILES += AudibleInstruments/eurorack/streams/compressor.cc | |||||
PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp,$(wildcard Befaco/src/*.cpp)) | PLUGIN_FILES += $(filter-out Befaco/src/plugin.cpp,$(wildcard Befaco/src/*.cpp)) | ||||
PLUGIN_BINARIES += Befaco/src/SpringReverbIR.pcm | PLUGIN_BINARIES += Befaco/src/SpringReverbIR.pcm | ||||
# modules/types which are present in other plugins | |||||
BEFACO_CUSTOM = EvenVCO | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# Bidoo | # Bidoo | ||||
@@ -34,7 +34,12 @@ GLFWAPI int glfwGetKeyScancode(int key) { return 0; } | |||||
namespace rack { | namespace rack { | ||||
namespace window { | namespace window { | ||||
DISTRHO_NAMESPACE::UI* lastUI = nullptr; | |||||
struct Window::Internal { | |||||
int mods; | |||||
DISTRHO_NAMESPACE::UI* ui; | |||||
// more stuff below | |||||
}; | |||||
void WindowInit(Window* window, DISTRHO_NAMESPACE::UI* ui); | |||||
} | } | ||||
} | } | ||||
@@ -77,11 +82,8 @@ public: | |||||
fContext->scene = new rack::app::Scene; | fContext->scene = new rack::app::Scene; | ||||
fContext->event->rootWidget = fContext->scene; | fContext->event->rootWidget = fContext->scene; | ||||
// Initialize context | |||||
d_stdout("UI context ptr %p", NanoVG::getContext()); | |||||
rack::window::lastUI = this; | |||||
fContext->window = new rack::window::Window; | fContext->window = new rack::window::Window; | ||||
rack::window::lastUI = nullptr; | |||||
rack::window::WindowInit(fContext->window, this); | |||||
// Hide non-wanted menu entries | // Hide non-wanted menu entries | ||||
typedef rack::ui::Button rButton; | typedef rack::ui::Button rButton; | ||||
@@ -23,7 +23,6 @@ | |||||
namespace rack { | namespace rack { | ||||
namespace window { | namespace window { | ||||
extern DISTRHO_NAMESPACE::UI* lastUI; | |||||
static const math::Vec minWindowSize = math::Vec(640, 480); | static const math::Vec minWindowSize = math::Vec(640, 480); | ||||
@@ -69,8 +68,9 @@ std::shared_ptr<Image> Image::load(const std::string& filename) { | |||||
struct Window::Internal { | struct Window::Internal { | ||||
DISTRHO_NAMESPACE::UI* ui; | |||||
math::Vec size; | |||||
int mods = 0; | |||||
DISTRHO_NAMESPACE::UI* ui = nullptr; | |||||
math::Vec size = minWindowSize; | |||||
std::string lastWindowTitle; | std::string lastWindowTitle; | ||||
@@ -88,24 +88,22 @@ struct Window::Internal { | |||||
Window::Window() { | Window::Window() { | ||||
internal = new Internal; | internal = new Internal; | ||||
internal->ui = lastUI; | |||||
internal->size = minWindowSize; | |||||
int err; | |||||
} | |||||
void WindowInit(Window* const window, DISTRHO_NAMESPACE::UI* const ui) | |||||
{ | |||||
const GLubyte* vendor = glGetString(GL_VENDOR); | const GLubyte* vendor = glGetString(GL_VENDOR); | ||||
const GLubyte* renderer = glGetString(GL_RENDERER); | const GLubyte* renderer = glGetString(GL_RENDERER); | ||||
const GLubyte* version = glGetString(GL_VERSION); | const GLubyte* version = glGetString(GL_VERSION); | ||||
INFO("Renderer: %s %s", vendor, renderer); | INFO("Renderer: %s %s", vendor, renderer); | ||||
INFO("OpenGL: %s", version); | INFO("OpenGL: %s", version); | ||||
INFO("UI pointer: %p", lastUI); | |||||
vg = lastUI->getContext(); | |||||
fbVg = nvgCreateSharedGL2(vg, NVG_ANTIALIAS); | |||||
window->vg = ui->getContext(); | |||||
window->fbVg = nvgCreateSharedGL2(window->vg, NVG_ANTIALIAS); | |||||
// Load default Blendish font | // Load default Blendish font | ||||
uiFont = loadFont(asset::system("res/fonts/DejaVuSans.ttf")); | |||||
bndSetFont(uiFont->handle); | |||||
window->uiFont = window->loadFont(asset::system("res/fonts/DejaVuSans.ttf")); | |||||
bndSetFont(window->uiFont->handle); | |||||
if (APP->scene) { | if (APP->scene) { | ||||
widget::Widget::ContextCreateEvent e; | widget::Widget::ContextCreateEvent e; | ||||
@@ -113,7 +111,6 @@ Window::Window() { | |||||
} | } | ||||
} | } | ||||
Window::~Window() { | Window::~Window() { | ||||
if (APP->scene) { | if (APP->scene) { | ||||
widget::Widget::ContextDestroyEvent e; | widget::Widget::ContextDestroyEvent e; | ||||
@@ -326,28 +323,5 @@ bool& Window::fbDirtyOnSubpixelChange() { | |||||
} | } | ||||
void mouseButtonCallback(Context* ctx, int button, int action, int mods) { | |||||
} | |||||
void cursorPosCallback(Context* ctx, double xpos, double ypos) { | |||||
} | |||||
void cursorEnterCallback(Context* ctx, int entered) { | |||||
if (!entered) { | |||||
ctx->event->handleLeave(); | |||||
} | |||||
} | |||||
void scrollCallback(Context* ctx, double x, double y) { | |||||
} | |||||
void charCallback(Context* ctx, unsigned int codepoint) { | |||||
} | |||||
void keyCallback(Context* ctx, int key, int scancode, int action, int mods) { | |||||
} | |||||
} // namespace window | } // namespace window | ||||
} // namespace rack | } // namespace rack |