@@ -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 | |||
# -------------------------------------------------------------- |