| @@ -0,0 +1,6 @@ | |||
| [submodule "dpf"] | |||
| path = dpf | |||
| url = https://github.com/DISTRHO/DPF.git | |||
| [submodule "dpf-widgets"] | |||
| path = dpf-widgets | |||
| url = https://github.com/DISTRHO/DPF-Widgets.git | |||
| @@ -0,0 +1,42 @@ | |||
| #!/usr/bin/make -f | |||
| # Makefile for DISTRHO Plugins # | |||
| # ---------------------------- # | |||
| # Created by falkTX | |||
| # | |||
| include dpf/Makefile.base.mk | |||
| all: dgl plugins gen | |||
| # -------------------------------------------------------------- | |||
| dgl: | |||
| $(MAKE) -C dpf/dgl opengl | |||
| plugins: dgl | |||
| $(MAKE) all -C plugins/FX | |||
| ifneq ($(CROSS_COMPILING),true) | |||
| gen: plugins dpf/utils/lv2_ttl_generator | |||
| @$(CURDIR)/dpf/utils/generate-ttl.sh | |||
| ifeq ($(MACOS),true) | |||
| @$(CURDIR)/dpf/utils/generate-vst-bundles.sh | |||
| endif | |||
| dpf/utils/lv2_ttl_generator: | |||
| $(MAKE) -C dpf/utils/lv2-ttl-generator | |||
| else | |||
| gen: | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| clean: | |||
| $(MAKE) clean -C dpf/dgl | |||
| $(MAKE) clean -C dpf/utils/lv2-ttl-generator | |||
| $(MAKE) clean -C plugins/FX | |||
| rm -rf bin build | |||
| # -------------------------------------------------------------- | |||
| .PHONY: plugins | |||
| @@ -0,0 +1,29 @@ | |||
| # DISTRHO Ildaeil | |||
| DISTRHO Ildaeil is mini-plugin host working as a plugin, allowing one-to-one plugin format reusage. | |||
| Load a VST2 plugin inside a LV2 host, or an LV2 plugin on a VST3 host, etc. | |||
| The current formats Ildaeil can work as are: | |||
| - JACK/Standalone | |||
| - LV2 | |||
| - VST2 | |||
| - VST3 | |||
| And it can load the following plugin formats: | |||
| - JACK (applications as plugins, Linux only) | |||
| - LADSPA | |||
| - DSSI | |||
| - LV2 | |||
| - VST2 | |||
| - VST3 | |||
| - AU (macOS only) | |||
| Additionally the following files can be loaded: | |||
| - Audio files (synced to host transport) | |||
| - MIDI files (aligned to real/wall-clock time, synced to host transport) | |||
| - SF2/3 files (through internal FluidSynth) | |||
| - SFZ files (through internal SFZero) | |||
| Ildaeil basically works as a mini-wrapper around Carla, leveraging it for all its host support. | |||
| The name comes from the korean 일대일, which means "one to one". | |||
| @@ -0,0 +1 @@ | |||
| Subproject commit 1c19c75b8f2b4a83741c4c92e486c1fde873050e | |||
| @@ -0,0 +1 @@ | |||
| Subproject commit f5201d362bfa767a55139af85e9c1d9f02cfedcb | |||
| @@ -0,0 +1,146 @@ | |||
| /* | |||
| * DISTRHO Ildaeil Plugin | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * 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 3 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. | |||
| */ | |||
| #include "DistrhoPlugin.hpp" | |||
| START_NAMESPACE_DISTRHO | |||
| // ----------------------------------------------------------------------------------------------------------- | |||
| class IldaeilPlugin : public Plugin | |||
| { | |||
| public: | |||
| IldaeilPlugin() | |||
| : Plugin(0, 0, 0) | |||
| { | |||
| } | |||
| ~IldaeilPlugin() override | |||
| { | |||
| } | |||
| protected: | |||
| /* -------------------------------------------------------------------------------------------------------- | |||
| * Information */ | |||
| /** | |||
| Get the plugin label. | |||
| A plugin label follows the same rules as Parameter::symbol, with the exception that it can start with numbers. | |||
| */ | |||
| const char* getLabel() const override | |||
| { | |||
| return "Ildaeil"; | |||
| } | |||
| /** | |||
| Get an extensive comment/description about the plugin. | |||
| */ | |||
| const char* getDescription() const override | |||
| { | |||
| return "..."; | |||
| } | |||
| /** | |||
| Get the plugin author/maker. | |||
| */ | |||
| const char* getMaker() const override | |||
| { | |||
| return "DISTRHO"; | |||
| } | |||
| /** | |||
| Get the plugin homepage. | |||
| */ | |||
| const char* getHomePage() const override | |||
| { | |||
| return "https://github.com/DISTRHO/Ildaeil"; | |||
| } | |||
| /** | |||
| Get the plugin license name (a single line of text). | |||
| For commercial plugins this should return some short copyright information. | |||
| */ | |||
| const char* getLicense() const override | |||
| { | |||
| return "ISC"; | |||
| } | |||
| /** | |||
| Get the plugin version, in hexadecimal. | |||
| */ | |||
| uint32_t getVersion() const override | |||
| { | |||
| return d_version(1, 0, 0); | |||
| } | |||
| /** | |||
| Get the plugin unique Id. | |||
| This value is used by LADSPA, DSSI and VST plugin formats. | |||
| */ | |||
| int64_t getUniqueId() const override | |||
| { | |||
| #if DISTRHO_PLUGIN_IS_SYNTH | |||
| return d_cconst('d', 'I', 'l', 'S'); | |||
| #elif DISTRHO_PLUGIN_WANT_MIDI_OUTPUT | |||
| return d_cconst('d', 'I', 'l', 'M'); | |||
| #else | |||
| return d_cconst('d', 'I', 'l', 'F'); | |||
| #endif | |||
| } | |||
| /* -------------------------------------------------------------------------------------------------------- | |||
| * Init */ | |||
| /* -------------------------------------------------------------------------------------------------------- | |||
| * Internal data */ | |||
| /* -------------------------------------------------------------------------------------------------------- | |||
| * Process */ | |||
| /** | |||
| Run/process function for plugins without MIDI input. | |||
| */ | |||
| void run(const float** inputs, float** outputs, uint32_t frames) override | |||
| { | |||
| // copy inputs over outputs if needed | |||
| if (outputs[0] != inputs[0]) | |||
| std::memcpy(outputs[0], inputs[0], sizeof(float)*frames); | |||
| if (outputs[1] != inputs[1]) | |||
| std::memcpy(outputs[1], inputs[1], sizeof(float)*frames); | |||
| } | |||
| // ------------------------------------------------------------------------------------------------------- | |||
| private: | |||
| /** | |||
| Set our plugin class as non-copyable and add a leak detector just in case. | |||
| */ | |||
| DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(IldaeilPlugin) | |||
| }; | |||
| /* ------------------------------------------------------------------------------------------------------------ | |||
| * Plugin entry point, called by DPF to create a new plugin instance. */ | |||
| Plugin* createPlugin() | |||
| { | |||
| return new IldaeilPlugin(); | |||
| } | |||
| // ----------------------------------------------------------------------------------------------------------- | |||
| END_NAMESPACE_DISTRHO | |||
| @@ -0,0 +1,93 @@ | |||
| /* | |||
| * DISTRHO Ildaeil Plugin | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * 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 3 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. | |||
| */ | |||
| #include "DistrhoUI.hpp" | |||
| #include "ResizeHandle.hpp" | |||
| START_NAMESPACE_DISTRHO | |||
| // ----------------------------------------------------------------------------------------------------------- | |||
| class IldaeilUI : public UI | |||
| { | |||
| void* fContext; | |||
| ResizeHandle fResizeHandle; | |||
| public: | |||
| IldaeilUI() | |||
| : UI(1280, 720), | |||
| fContext(getPluginInstancePointer()), | |||
| fResizeHandle(this) | |||
| { | |||
| } | |||
| ~IldaeilUI() override | |||
| { | |||
| } | |||
| void onImGuiDisplay() override | |||
| { | |||
| float width = getWidth(); | |||
| float height = getHeight(); | |||
| float margin = 20.0f; | |||
| ImGui::SetNextWindowPos(ImVec2(margin, margin)); | |||
| ImGui::SetNextWindowSize(ImVec2(width - 2 * margin, height - 2 * margin)); | |||
| if (ImGui::Begin("Plugin List")) | |||
| { | |||
| } | |||
| ImGui::End(); | |||
| } | |||
| void uiIdle() override | |||
| { | |||
| } | |||
| protected: | |||
| /* -------------------------------------------------------------------------------------------------------- | |||
| * DSP/Plugin Callbacks */ | |||
| /** | |||
| A parameter has changed on the plugin side. | |||
| This is called by the host to inform the UI about parameter changes. | |||
| */ | |||
| void parameterChanged(uint32_t index, float value) override | |||
| { | |||
| } | |||
| // ------------------------------------------------------------------------------------------------------- | |||
| private: | |||
| /** | |||
| Set our UI class as non-copyable and add a leak detector just in case. | |||
| */ | |||
| DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(IldaeilUI) | |||
| }; | |||
| /* ------------------------------------------------------------------------------------------------------------ | |||
| * UI entry point, called by DPF to create a new UI instance. */ | |||
| UI* createUI() | |||
| { | |||
| return new IldaeilUI(); | |||
| } | |||
| // ----------------------------------------------------------------------------------------------------------- | |||
| END_NAMESPACE_DISTRHO | |||
| @@ -0,0 +1,185 @@ | |||
| /* | |||
| * Resize handle for DPF | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * Permission to use, copy, modify, and/or distribute this software for any purpose with | |||
| * or without fee is hereby granted, provided that the above copyright notice and this | |||
| * permission notice appear in all copies. | |||
| * | |||
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD | |||
| * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN | |||
| * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL | |||
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER | |||
| * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |||
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |||
| */ | |||
| #pragma once | |||
| #include "TopLevelWidget.hpp" | |||
| #include "../dgl/Color.hpp" | |||
| START_NAMESPACE_DGL | |||
| /** Resize handle for DPF windows, will sit on bottom-right. */ | |||
| class ResizeHandle : public TopLevelWidget | |||
| { | |||
| public: | |||
| /** Constructor for placing this handle on top of a window. */ | |||
| explicit ResizeHandle(Window& window) | |||
| : TopLevelWidget(window), | |||
| handleSize(16), | |||
| resizing(false) | |||
| { | |||
| resetArea(); | |||
| } | |||
| /** Overloaded constructor, will fetch the window from an existing top-level widget. */ | |||
| explicit ResizeHandle(TopLevelWidget* const tlw) | |||
| : TopLevelWidget(tlw->getWindow()), | |||
| handleSize(16), | |||
| resizing(false) | |||
| { | |||
| resetArea(); | |||
| } | |||
| /** Set the handle size, minimum 16. */ | |||
| void setHandleSize(const uint size) | |||
| { | |||
| handleSize = std::max(16u, size); | |||
| resetArea(); | |||
| } | |||
| protected: | |||
| void onDisplay() override | |||
| { | |||
| const GraphicsContext& context(getGraphicsContext()); | |||
| const double lineWidth = 1.0 * getScaleFactor(); | |||
| #ifdef DGL_OPENGL | |||
| // glUseProgram(0); | |||
| glMatrixMode(GL_MODELVIEW); | |||
| #endif | |||
| // draw white lines, 1px wide | |||
| Color(1.0f, 1.0f, 1.0f).setFor(context); | |||
| l1.draw(context, lineWidth); | |||
| l2.draw(context, lineWidth); | |||
| l3.draw(context, lineWidth); | |||
| // draw black lines, offset by 1px and 1px wide | |||
| Color(0.0f, 0.0f, 0.0f).setFor(context); | |||
| Line<double> l1b(l1), l2b(l2), l3b(l3); | |||
| l1b.moveBy(lineWidth, lineWidth); | |||
| l2b.moveBy(lineWidth, lineWidth); | |||
| l3b.moveBy(lineWidth, lineWidth); | |||
| l1b.draw(context, lineWidth); | |||
| l2b.draw(context, lineWidth); | |||
| l3b.draw(context, lineWidth); | |||
| } | |||
| bool onMouse(const MouseEvent& ev) override | |||
| { | |||
| if (ev.button != 1) | |||
| return false; | |||
| if (ev.press && area.contains(ev.pos)) | |||
| { | |||
| resizing = true; | |||
| resizingSize = Size<double>(getWidth(), getHeight()); | |||
| lastResizePoint = ev.pos; | |||
| return true; | |||
| } | |||
| if (resizing && ! ev.press) | |||
| { | |||
| resizing = false; | |||
| return true; | |||
| } | |||
| return false; | |||
| } | |||
| bool onMotion(const MotionEvent& ev) override | |||
| { | |||
| if (! resizing) | |||
| return false; | |||
| const Size<double> offset(ev.pos.getX() - lastResizePoint.getX(), | |||
| ev.pos.getY() - lastResizePoint.getY()); | |||
| resizingSize += offset; | |||
| lastResizePoint = ev.pos; | |||
| // TODO min width, min height | |||
| const uint minWidth = 16; | |||
| const uint minHeight = 16; | |||
| if (resizingSize.getWidth() < minWidth) | |||
| resizingSize.setWidth(minWidth); | |||
| if (resizingSize.getWidth() > 16384) | |||
| resizingSize.setWidth(16384); | |||
| if (resizingSize.getHeight() < minHeight) | |||
| resizingSize.setHeight(minHeight); | |||
| if (resizingSize.getHeight() > 16384) | |||
| resizingSize.setHeight(16384); | |||
| setSize(resizingSize.getWidth(), resizingSize.getHeight()); | |||
| return true; | |||
| } | |||
| void onResize(const ResizeEvent& ev) override | |||
| { | |||
| TopLevelWidget::onResize(ev); | |||
| resetArea(); | |||
| } | |||
| private: | |||
| Rectangle<uint> area; | |||
| Line<double> l1, l2, l3; | |||
| uint handleSize; | |||
| // event handling state | |||
| bool resizing; | |||
| Point<double> lastResizePoint; | |||
| Size<double> resizingSize; | |||
| void resetArea() | |||
| { | |||
| const double scaleFactor = getScaleFactor(); | |||
| const uint margin = 0.0 * scaleFactor; | |||
| const uint size = handleSize * scaleFactor; | |||
| area = Rectangle<uint>(getWidth() - size - margin, | |||
| getHeight() - size - margin, | |||
| size, size); | |||
| recreateLines(area.getX(), area.getY(), size); | |||
| } | |||
| void recreateLines(const uint x, const uint y, const uint size) | |||
| { | |||
| uint linesize = size; | |||
| uint offset = 0; | |||
| // 1st line, full diagonal size | |||
| l1.setStartPos(x + size, y); | |||
| l1.setEndPos(x, y + size); | |||
| // 2nd line, bit more to the right and down, cropped | |||
| offset += size / 3; | |||
| linesize -= size / 3; | |||
| l2.setStartPos(x + linesize + offset, y + offset); | |||
| l2.setEndPos(x + offset, y + linesize + offset); | |||
| // 3rd line, even more right and down | |||
| offset += size / 3; | |||
| linesize -= size / 3; | |||
| l3.setStartPos(x + linesize + offset, y + offset); | |||
| l3.setEndPos(x + offset, y + linesize + offset); | |||
| } | |||
| DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ResizeHandle) | |||
| }; | |||
| END_NAMESPACE_DGL | |||
| @@ -0,0 +1,39 @@ | |||
| /* | |||
| * DISTRHO Ildaeil Plugin | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * 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 3 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. | |||
| */ | |||
| #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| #define DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| #define DISTRHO_PLUGIN_BRAND "DISTRHO" | |||
| #define DISTRHO_PLUGIN_NAME "Ildaeil-FX" | |||
| #define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/ildaeil#fx" | |||
| #define DISTRHO_PLUGIN_HAS_UI 1 | |||
| #define DISTRHO_PLUGIN_IS_SYNTH 0 | |||
| #define DISTRHO_PLUGIN_NUM_INPUTS 2 | |||
| #define DISTRHO_PLUGIN_NUM_OUTPUTS 2 | |||
| #define DISTRHO_PLUGIN_WANT_LATENCY 1 | |||
| #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 0 | |||
| #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 0 | |||
| #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1 | |||
| #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1 | |||
| #define DISTRHO_UI_USE_CUSTOM 1 | |||
| #define DISTRHO_UI_USER_RESIZABLE 0 | |||
| #define DISTRHO_UI_CUSTOM_INCLUDE_PATH "DearImGui.hpp" | |||
| #define DISTRHO_UI_CUSTOM_WIDGET_TYPE DGL_NAMESPACE::ImGuiTopLevelWidget | |||
| #endif // DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| @@ -0,0 +1 @@ | |||
| ../Common/IldaeilPlugin.cpp | |||
| @@ -0,0 +1 @@ | |||
| ../Common/IldaeilUI.cpp | |||
| @@ -0,0 +1,35 @@ | |||
| #!/usr/bin/make -f | |||
| # Makefile for DISTRHO Plugins # | |||
| # ---------------------------- # | |||
| # Created by falkTX | |||
| # | |||
| # -------------------------------------------------------------- | |||
| # Project name, used for binaries | |||
| NAME = Ildaeil-FX | |||
| # -------------------------------------------------------------- | |||
| # Files to build (DPF stuff) | |||
| FILES_DSP = \ | |||
| IldaeilPlugin.cpp | |||
| FILES_UI = \ | |||
| IldaeilUI.cpp \ | |||
| ../../dpf-widgets/opengl/DearImGui.cpp | |||
| # -------------------------------------------------------------- | |||
| # Do some magic | |||
| include ../../dpf/Makefile.plugins.mk | |||
| BUILD_CXX_FLAGS += -I../Common | |||
| BUILD_CXX_FLAGS += -I../../dpf-widgets/opengl | |||
| # -------------------------------------------------------------- | |||
| # Enable all possible plugin types | |||
| all: jack lv2 vst2 vst3 | |||
| # -------------------------------------------------------------- | |||
| @@ -0,0 +1,39 @@ | |||
| /* | |||
| * DISTRHO Ildaeil Plugin | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * 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 3 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. | |||
| */ | |||
| #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| #define DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| #define DISTRHO_PLUGIN_BRAND "DISTRHO" | |||
| #define DISTRHO_PLUGIN_NAME "Ildaeil-MIDI" | |||
| #define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/ildaeil#midi" | |||
| #define DISTRHO_PLUGIN_HAS_UI 1 | |||
| #define DISTRHO_PLUGIN_IS_SYNTH 0 | |||
| #define DISTRHO_PLUGIN_NUM_INPUTS 0 | |||
| #define DISTRHO_PLUGIN_NUM_OUTPUTS 0 | |||
| #define DISTRHO_PLUGIN_WANT_LATENCY 1 | |||
| #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 | |||
| #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 | |||
| #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1 | |||
| #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1 | |||
| #define DISTRHO_UI_USE_CUSTOM 1 | |||
| #define DISTRHO_UI_USER_RESIZABLE 0 | |||
| #define DISTRHO_UI_CUSTOM_INCLUDE_PATH "ImGuiUI.hpp" | |||
| #define DISTRHO_UI_CUSTOM_WIDGET_TYPE DGL_NAMESPACE::ImGuiUI | |||
| #endif // DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| @@ -0,0 +1 @@ | |||
| ../Common/IldaeilPlugin.cpp | |||
| @@ -0,0 +1 @@ | |||
| ../Common/IldaeilUI.cpp | |||
| @@ -0,0 +1,31 @@ | |||
| #!/usr/bin/make -f | |||
| # Makefile for DISTRHO Plugins # | |||
| # ---------------------------- # | |||
| # Created by falkTX | |||
| # | |||
| # -------------------------------------------------------------- | |||
| # Project name, used for binaries | |||
| NAME = Ildaeil-FX | |||
| # -------------------------------------------------------------- | |||
| # Files to build (DPF stuff) | |||
| FILES_DSP = \ | |||
| IldaeilPlugin.cpp | |||
| FILES_UI = \ | |||
| IldaeilUI.cpp | |||
| # -------------------------------------------------------------- | |||
| # Do some magic | |||
| include ../../dpf/Makefile.plugins.mk | |||
| # -------------------------------------------------------------- | |||
| # Enable all possible plugin types | |||
| all: jack lv2 vst2 vst3 | |||
| # -------------------------------------------------------------- | |||
| @@ -0,0 +1,39 @@ | |||
| /* | |||
| * DISTRHO Ildaeil Plugin | |||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * 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 3 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. | |||
| */ | |||
| #ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| #define DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| #define DISTRHO_PLUGIN_BRAND "DISTRHO" | |||
| #define DISTRHO_PLUGIN_NAME "Ildaeil-Synth" | |||
| #define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/ildaeil#synth" | |||
| #define DISTRHO_PLUGIN_HAS_UI 1 | |||
| #define DISTRHO_PLUGIN_IS_SYNTH 1 | |||
| #define DISTRHO_PLUGIN_NUM_INPUTS 0 | |||
| #define DISTRHO_PLUGIN_NUM_OUTPUTS 2 | |||
| #define DISTRHO_PLUGIN_WANT_LATENCY 1 | |||
| #define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 | |||
| #define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 0 | |||
| #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1 | |||
| #define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1 | |||
| #define DISTRHO_UI_USE_CUSTOM 1 | |||
| #define DISTRHO_UI_USER_RESIZABLE 0 | |||
| #define DISTRHO_UI_CUSTOM_INCLUDE_PATH "ImGuiUI.hpp" | |||
| #define DISTRHO_UI_CUSTOM_WIDGET_TYPE DGL_NAMESPACE::ImGuiUI | |||
| #endif // DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| @@ -0,0 +1 @@ | |||
| ../Common/IldaeilPlugin.cpp | |||
| @@ -0,0 +1 @@ | |||
| ../Common/IldaeilUI.cpp | |||
| @@ -0,0 +1,31 @@ | |||
| #!/usr/bin/make -f | |||
| # Makefile for DISTRHO Plugins # | |||
| # ---------------------------- # | |||
| # Created by falkTX | |||
| # | |||
| # -------------------------------------------------------------- | |||
| # Project name, used for binaries | |||
| NAME = Ildaeil-FX | |||
| # -------------------------------------------------------------- | |||
| # Files to build (DPF stuff) | |||
| FILES_DSP = \ | |||
| IldaeilPlugin.cpp | |||
| FILES_UI = \ | |||
| IldaeilUI.cpp | |||
| # -------------------------------------------------------------- | |||
| # Do some magic | |||
| include ../../dpf/Makefile.plugins.mk | |||
| # -------------------------------------------------------------- | |||
| # Enable all possible plugin types | |||
| all: jack lv2 vst2 vst3 | |||
| # -------------------------------------------------------------- | |||