diff --git a/plugins/Common/IldaeilBasePlugin.hpp b/plugins/Common/IldaeilBasePlugin.hpp new file mode 100644 index 0000000..249750a --- /dev/null +++ b/plugins/Common/IldaeilBasePlugin.hpp @@ -0,0 +1,60 @@ +/* + * DISTRHO Ildaeil Plugin + * Copyright (C) 2021-2022 Filipe Coelho + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * For a full copy of the GNU General Public License see the LICENSE file. + */ + +#pragma once + +#include "CarlaNativePlugin.h" +#include "DistrhoPlugin.hpp" + +// generates a warning if this is defined as anything else +#define CARLA_API + +START_NAMESPACE_DISTRHO + +// -------------------------------------------------------------------------------------------------------------------- + +// static Mutex sPluginInfoLoadMutex; + +// -------------------------------------------------------------------------------------------------------------------- + +class IldaeilBasePlugin : public Plugin +{ + // SharedResourcePointer juceInitializer; + +public: + const NativePluginDescriptor* fCarlaPluginDescriptor; + NativePluginHandle fCarlaPluginHandle; + + NativeHostDescriptor fCarlaHostDescriptor; + CarlaHostHandle fCarlaHostHandle; + + void* fUI; + + IldaeilBasePlugin() + : Plugin(0, 0, 1), + fCarlaPluginDescriptor(nullptr), + fCarlaPluginHandle(nullptr), + fCarlaHostHandle(nullptr), + fUI(nullptr) + { + memset(&fCarlaHostDescriptor, 0, sizeof(fCarlaHostDescriptor)); + } +}; + +// -------------------------------------------------------------------------------------------------------------------- + +END_NAMESPACE_DISTRHO diff --git a/plugins/Common/IldaeilPlugin.cpp b/plugins/Common/IldaeilPlugin.cpp index 2ae8de0..46d8883 100644 --- a/plugins/Common/IldaeilPlugin.cpp +++ b/plugins/Common/IldaeilPlugin.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Ildaeil Plugin - * Copyright (C) 2021 Filipe Coelho + * Copyright (C) 2021-2022 Filipe Coelho * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -15,16 +15,12 @@ * For a full copy of the GNU General Public License see the LICENSE file. */ -#include "CarlaNativePlugin.h" +#include "IldaeilBasePlugin.hpp" + #include "CarlaEngine.hpp" #include "water/streams/MemoryOutputStream.h" #include "water/xml/XmlDocument.h" -#include "DistrhoPlugin.hpp" - -// generates a warning if this is defined as anything else -#define CARLA_API - START_NAMESPACE_DISTRHO // -------------------------------------------------------------------------------------------------------------------- @@ -51,30 +47,8 @@ const char* ildaeilOpenFileForUI(void* ui, bool isDir, const char* title, const // -------------------------------------------------------------------------------------------------------------------- -// static Mutex sPluginInfoLoadMutex; - -/* -struct JuceInitializer { - JuceInitializer() { carla_juce_init(); } - ~JuceInitializer() { carla_juce_cleanup(); } -}; -*/ - -// -------------------------------------------------------------------------------------------------------------------- - -class IldaeilPlugin : public Plugin +class IldaeilPlugin : public IldaeilBasePlugin { - // SharedResourcePointer juceInitializer; - -public: - const NativePluginDescriptor* fCarlaPluginDescriptor; - NativePluginHandle fCarlaPluginHandle; - - NativeHostDescriptor fCarlaHostDescriptor; - CarlaHostHandle fCarlaHostHandle; - - void* fUI; - #if DISTRHO_PLUGIN_WANT_MIDI_INPUT static constexpr const uint kMaxMidiEventCount = 512; NativeMidiEvent* fMidiEvents; @@ -87,12 +61,9 @@ public: mutable water::MemoryOutputStream fLastProjectState; uint32_t fLastLatencyValue; +public: IldaeilPlugin() - : Plugin(0, 0, 1), - fCarlaPluginDescriptor(nullptr), - fCarlaPluginHandle(nullptr), - fCarlaHostHandle(nullptr), - fUI(nullptr), + : IldaeilBasePlugin(), #if DISTRHO_PLUGIN_WANT_MIDI_INPUT fMidiEvents(nullptr), fMidiEventCount(0), @@ -103,7 +74,6 @@ public: fCarlaPluginDescriptor = carla_get_native_rack_plugin(); DISTRHO_SAFE_ASSERT_RETURN(fCarlaPluginDescriptor != nullptr,); - memset(&fCarlaHostDescriptor, 0, sizeof(fCarlaHostDescriptor)); memset(&fCarlaTimeInfo, 0, sizeof(fCarlaTimeInfo)); fCarlaHostDescriptor.handle = this; diff --git a/plugins/Common/IldaeilUI.cpp b/plugins/Common/IldaeilUI.cpp index b5bee3f..8231c61 100644 --- a/plugins/Common/IldaeilUI.cpp +++ b/plugins/Common/IldaeilUI.cpp @@ -1,6 +1,6 @@ /* * DISTRHO Ildaeil Plugin - * Copyright (C) 2021 Filipe Coelho + * Copyright (C) 2021-2022 Filipe Coelho * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -15,11 +15,10 @@ * For a full copy of the GNU General Public License see the LICENSE file. */ -#include "CarlaNativePlugin.h" -#include "CarlaBackendUtils.hpp" - +#include "IldaeilBasePlugin.hpp" #include "DistrhoUI.hpp" -#include "DistrhoPlugin.hpp" + +#include "CarlaBackendUtils.hpp" #include "PluginHostWindow.hpp" #include "extra/Thread.hpp" @@ -44,26 +43,8 @@ namespace ildaeil { } #endif -// generates a warning if this is defined as anything else -#define CARLA_API - START_NAMESPACE_DISTRHO -// -------------------------------------------------------------------------------------------------------------------- -class IldaeilPlugin : public Plugin -{ -public: - const NativePluginDescriptor* fCarlaPluginDescriptor; - NativePluginHandle fCarlaPluginHandle; - - NativeHostDescriptor fCarlaHostDescriptor; - CarlaHostHandle fCarlaHostHandle; - - void* fUI; - - // ... -}; - // -------------------------------------------------------------------------------------------------------------------- void ildaeilParameterChangeForUI(void* ui, uint32_t index, float value); @@ -72,9 +53,6 @@ const char* ildaeilOpenFileForUI(void* ui, bool isDir, const char* title, const // -------------------------------------------------------------------------------------------------------------------- using namespace CarlaBackend; -// shared resource pointer -// carla_juce_init(); - class IldaeilUI : public UI, public Thread, public PluginHostWindow::Callbacks @@ -164,7 +142,7 @@ class IldaeilUI : public UI, kIdleNothing } fIdleState = kIdleInit; - IldaeilPlugin* const fPlugin; + IldaeilBasePlugin* const fPlugin; PluginHostWindow fPluginHostWindow; PluginType fPluginType; @@ -194,7 +172,7 @@ public: Thread("IldaeilScanner"), fDrawingState(kDrawingLoading), fIdleState(kIdleInit), - fPlugin((IldaeilPlugin*)getPluginInstancePointer()), + fPlugin((IldaeilBasePlugin*)getPluginInstancePointer()), fPluginHostWindow(getWindow(), this), fPluginType(PLUGIN_LV2), fNextPluginType(fPluginType),