From e9b7c3b2cae8acb9643e8cc0b48f3c1fba8a3bc8 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 17 Jul 2011 11:30:50 +0100 Subject: [PATCH] New Class to handle UI --- .../audio/plugin_client/LV2/juce_LV2_Wrapper.cpp | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/juce/source/src/audio/plugin_client/LV2/juce_LV2_Wrapper.cpp b/juce/source/src/audio/plugin_client/LV2/juce_LV2_Wrapper.cpp index 17bf00f..8ef5841 100644 --- a/juce/source/src/audio/plugin_client/LV2/juce_LV2_Wrapper.cpp +++ b/juce/source/src/audio/plugin_client/LV2/juce_LV2_Wrapper.cpp @@ -401,6 +401,30 @@ private: }; //============================================================================== +// Create a new JUCE Editor +class JuceLv2Editor : public Component +{ +public: + JuceLv2Editor (JuceLV2Wrapper* const wrapper_, const LV2UI_Descriptor* ui_descriptor_, LV2UI_Write_Function write_function_, LV2UI_Controller controller_, LV2UI_Widget* widget_, const LV2_Feature* const* features) : + wrapper(wrapper_), + ui_descriptor(ui_descriptor_), + write_function(write_function_), + controller(controller_), + widget(widget_) + { + } + +private: + JuceLV2Wrapper* wrapper; + const LV2UI_Descriptor* ui_descriptor; + LV2UI_Write_Function write_function; + LV2UI_Controller controller; + LV2UI_Widget* widget; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JuceLv2Editor); +}; + +//============================================================================== // LV2 descriptor functions LV2_Handle juce_lv2_instantiate(const LV2_Descriptor* descriptor, double sample_rate, const char* bundle_path, const LV2_Feature* const* features) { @@ -461,7 +485,8 @@ LV2UI_Handle juce_lv2ui_instantiate(const LV2UI_Descriptor* descriptor, const ch { if (strcmp(features[i]->URI, LV2_INSTANCE_ACCESS_URI) == 0 && features[i]->data) { JuceLV2Wrapper* wrapper = (JuceLV2Wrapper*)features[i]->data; - // TODO + JuceLv2Editor* editor = new JuceLv2Editor(wrapper, descriptor, write_function, controller, widget, features); + return editor; } i++; } -- 2.11.4.GIT