@@ -12,6 +12,7 @@ all: carla dgl plugins gen | |||
carla: | |||
$(MAKE) -C carla plugin \ | |||
CAN_GENERATE_LV2_TTL=false \ | |||
HAVE_ALSA=false \ | |||
HAVE_DGL=false \ | |||
HAVE_HYLIA=false \ | |||
@@ -23,13 +24,15 @@ carla: | |||
HAVE_QT5PKG=false \ | |||
HAVE_PULSEAUDIO=false \ | |||
USING_JUCE_AUDIO_DEVICES=false \ | |||
CAN_GENERATE_LV2_TTL=false | |||
USING_RTAUDIO=false | |||
dgl: | |||
$(MAKE) -C dpf/dgl opengl | |||
plugins: carla dgl | |||
$(MAKE) all -C plugins/FX | |||
$(MAKE) all -C plugins/MIDI | |||
$(MAKE) all -C plugins/Synth | |||
ifneq ($(CROSS_COMPILING),true) | |||
gen: plugins dpf/utils/lv2_ttl_generator | |||
@@ -51,7 +54,11 @@ clean: | |||
$(MAKE) clean -C dpf/dgl | |||
$(MAKE) clean -C dpf/utils/lv2-ttl-generator | |||
$(MAKE) clean -C plugins/FX | |||
$(MAKE) clean -C plugins/MIDI | |||
$(MAKE) clean -C plugins/Synth | |||
rm -rf bin build | |||
rm -f dpf-widgets/opengl/*.d | |||
rm -f dpf-widgets/opengl/*.o | |||
# -------------------------------------------------------------- | |||
@@ -1 +1 @@ | |||
Subproject commit d87e6f87ab47d7ff647c6e8b2a22fdb52d2c3c23 | |||
Subproject commit a310640e0fcb1aef53fe7d15771cccebdc9731c8 |
@@ -1 +1 @@ | |||
Subproject commit bea5f6f9c39c4977b641234f3c812ac1f7298bf9 | |||
Subproject commit 306c680c6ecb3241011ce46dbe27824e8c7189fc |
@@ -18,7 +18,6 @@ | |||
#include "CarlaNativePlugin.h" | |||
#include "DistrhoPlugin.hpp" | |||
#include "DistrhoUI.hpp" | |||
START_NAMESPACE_DISTRHO | |||
@@ -44,20 +43,28 @@ public: | |||
NativeHostDescriptor fCarlaHostDescriptor; | |||
CarlaHostHandle fCarlaHostHandle; | |||
mutable NativeTimeInfo fCarlaTimeInfo; | |||
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
static constexpr const uint kMaxMidiEventCount = 512; | |||
NativeMidiEvent* fMidiEvents; | |||
uint32_t fMidiEventCount; | |||
float* fDummyBuffer; | |||
float* fDummyBuffers[2]; | |||
#endif | |||
UI* fUI; | |||
mutable NativeTimeInfo fCarlaTimeInfo; | |||
void setUI(UI* const ui) | |||
{ | |||
fUI = ui; | |||
} | |||
void* fUI; | |||
IldaeilPlugin() | |||
: Plugin(0, 0, 0), | |||
fCarlaPluginDescriptor(nullptr), | |||
fCarlaPluginHandle(nullptr), | |||
fCarlaHostHandle(nullptr), | |||
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
fMidiEvents(nullptr), | |||
fMidiEventCount(0), | |||
fDummyBuffer(nullptr), | |||
#endif | |||
fUI(nullptr) | |||
{ | |||
fCarlaPluginDescriptor = carla_get_native_rack_plugin(); | |||
@@ -89,9 +96,17 @@ public: | |||
DISTRHO_SAFE_ASSERT_RETURN(fCarlaPluginHandle != nullptr,); | |||
fCarlaHostHandle = carla_create_native_plugin_host_handle(fCarlaPluginDescriptor, fCarlaPluginHandle); | |||
DISTRHO_SAFE_ASSERT_RETURN(fCarlaHostHandle != nullptr,); | |||
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_BINARIES, 0, "/usr/lib/carla"); | |||
carla_set_engine_option(fCarlaHostHandle, ENGINE_OPTION_PATH_RESOURCES, 0, "/usr/share/carla/resources"); | |||
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
fMidiEvents = new NativeMidiEvent[kMaxMidiEventCount]; | |||
fDummyBuffer = new float[getBufferSize()]; | |||
fDummyBuffers[0] = fDummyBuffer; | |||
fDummyBuffers[1] = fDummyBuffer; | |||
#endif | |||
} | |||
~IldaeilPlugin() override | |||
@@ -99,6 +114,10 @@ public: | |||
if (fCarlaHostHandle != nullptr) | |||
{ | |||
carla_host_handle_free(fCarlaHostHandle); | |||
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
delete[] fMidiEvents; | |||
delete[] fDummyBuffer; | |||
#endif | |||
} | |||
if (fCarlaPluginHandle != nullptr) | |||
@@ -146,8 +165,8 @@ public: | |||
{ | |||
DISTRHO_SAFE_ASSERT_RETURN(fUI != nullptr,); | |||
d_stdout("resizing ui to %u %u", width, height); | |||
fUI->setSize(width, height); | |||
d_stdout("asking to resizing ui to %u %u - I SAY NO", width, height); | |||
// fUI->setSize(width, height); | |||
} | |||
protected: | |||
@@ -246,11 +265,47 @@ protected: | |||
fCarlaPluginDescriptor->deactivate(fCarlaPluginHandle); | |||
} | |||
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
void run(const float** inputs, float** outputs, uint32_t frames, | |||
const MidiEvent* dpfMidiEvents, uint32_t dpfMidiEventCount) override | |||
#else | |||
void run(const float** inputs, float** outputs, uint32_t frames) override | |||
#endif | |||
{ | |||
if (fCarlaPluginHandle != nullptr) | |||
{ | |||
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
uint32_t midiEventCount = 0; | |||
for (uint32_t i=0; i < dpfMidiEventCount; ++i) | |||
{ | |||
const MidiEvent& dpfMidiEvent(dpfMidiEvents[i]); | |||
if (dpfMidiEvent.size > 4) | |||
continue; | |||
NativeMidiEvent& midiEvent(fMidiEvents[midiEventCount]); | |||
midiEvent.time = dpfMidiEvent.frame; | |||
midiEvent.port = 0; | |||
midiEvent.size = dpfMidiEvent.size; | |||
std::memcpy(midiEvent.data, dpfMidiEvent.data, midiEvent.size); | |||
if (++midiEventCount == kMaxMidiEventCount) | |||
break; | |||
} | |||
# if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT | |||
fCarlaPluginDescriptor->process(fCarlaPluginHandle, fDummyBuffers, fDummyBuffers, frames, | |||
fMidiEvents, midiEventCount); | |||
// unused | |||
(void)outputs; | |||
# else | |||
fCarlaPluginDescriptor->process(fCarlaPluginHandle, fDummyBuffers, outputs, frames, | |||
fMidiEvents, midiEventCount); | |||
# endif | |||
// unused | |||
(void)inputs; | |||
#else | |||
fCarlaPluginDescriptor->process(fCarlaPluginHandle, (float**)inputs, outputs, frames, nullptr, 0); | |||
#endif | |||
} | |||
else | |||
{ | |||
@@ -259,9 +314,17 @@ protected: | |||
} | |||
} | |||
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT | |||
void bufferSizeChanged(const uint32_t newBufferSize) override | |||
{ | |||
delete[] fDummyBuffer; | |||
fDummyBuffer = new float[newBufferSize]; | |||
fDummyBuffers[0] = fDummyBuffer; | |||
fDummyBuffers[1] = fDummyBuffer; | |||
} | |||
#endif | |||
// ------------------------------------------------------------------------------------------------------- | |||
private: | |||
/** | |||
Set our plugin class as non-copyable and add a leak detector just in case. | |||
*/ | |||
@@ -17,8 +17,6 @@ | |||
#include "CarlaNativePlugin.h" | |||
#include "../FX/DistrhoPluginInfo.h" | |||
#include "DistrhoUI.hpp" | |||
#include "DistrhoPlugin.hpp" | |||
#include "PluginHostWindow.hpp" | |||
@@ -35,13 +33,6 @@ public: | |||
NativeHostDescriptor fCarlaHostDescriptor; | |||
CarlaHostHandle fCarlaHostHandle; | |||
UI* fUI; | |||
void setUI(UI* const ui) | |||
{ | |||
fUI = ui; | |||
} | |||
// ... | |||
}; | |||
@@ -71,13 +62,28 @@ class IldaeilUI : public UI, | |||
kDrawingPluginGenericUI | |||
} fDrawingState; | |||
struct PluginInfoCache { | |||
char* name; | |||
char* label; | |||
PluginInfoCache() | |||
: name(nullptr), | |||
label(nullptr) {} | |||
~PluginInfoCache() | |||
{ | |||
std::free(name); | |||
std::free(label); | |||
} | |||
}; | |||
IldaeilPlugin* const fPlugin; | |||
PluginHostWindow fPluginHostWindow; | |||
uint fPluginCount; | |||
uint fPluginSelected; | |||
bool fPluginScanningFinished; | |||
CarlaCachedPluginInfo* fPlugins; | |||
PluginInfoCache* fPlugins; | |||
bool fPluginSearchActive; | |||
char fPluginSearchString[0xff]; | |||
@@ -103,7 +109,7 @@ public: | |||
std::strcpy(fPluginSearchString, "Search..."); | |||
fPlugin->setUI(this); | |||
// fPlugin->setUI(this); | |||
const double scaleFactor = getScaleFactor(); | |||
@@ -138,7 +144,7 @@ public: | |||
stopThread(-1); | |||
fPlugin->fUI = nullptr; | |||
// fPlugin->fUI = nullptr; | |||
hidePluginUI(fPlugin->fCarlaHostHandle); | |||
delete[] fPlugins; | |||
@@ -207,17 +213,32 @@ protected: | |||
if (const uint count = carla_get_cached_plugin_count(PLUGIN_LV2, nullptr)) | |||
{ | |||
fPluginCount = 0; | |||
fPlugins = new CarlaCachedPluginInfo[count]; | |||
fPlugins = new PluginInfoCache[count]; | |||
if (fDrawingState == kDrawingLoading) | |||
fDrawingState = kDrawingPluginList; | |||
for (uint i=0; i < count && ! shouldThreadExit(); ++i) | |||
for (uint i=0, j; i < count && ! shouldThreadExit(); ++i) | |||
{ | |||
std::memcpy(&fPlugins[i], carla_get_cached_plugin_info(PLUGIN_LV2, i), sizeof(CarlaCachedPluginInfo)); | |||
// TODO fix leaks | |||
fPlugins[i].name = strdup(fPlugins[i].name); | |||
fPlugins[i].label = strdup(fPlugins[i].label); | |||
const CarlaCachedPluginInfo* const info = carla_get_cached_plugin_info(PLUGIN_LV2, i); | |||
DISTRHO_SAFE_ASSERT_CONTINUE(info != nullptr); | |||
#if DISTRHO_PLUGIN_IS_SYNTH | |||
if (info->midiIns != 1 || info->audioOuts != 2) | |||
continue; | |||
#elif DISTRHO_PLUGIN_WANT_MIDI_OUTPUT | |||
if (info->midiIns != 1 || info->midiOuts != 1) | |||
continue; | |||
if (info->audioIns != 0 || info->audioOuts != 0) | |||
continue; | |||
#else | |||
if (info->audioIns != 2 || info->audioOuts != 2) | |||
continue; | |||
#endif | |||
j = fPluginCount; | |||
fPlugins[j].name = strdup(info->name); | |||
fPlugins[j].label = strdup(info->label); | |||
++fPluginCount; | |||
} | |||
} | |||
@@ -344,7 +365,7 @@ protected: | |||
} | |||
do { | |||
const CarlaCachedPluginInfo& info(fPlugins[fPluginSelected]); | |||
const PluginInfoCache& info(fPlugins[fPluginSelected]); | |||
const char* const slash = std::strchr(info.label, DISTRHO_OS_SEP); | |||
DISTRHO_SAFE_ASSERT_BREAK(slash != nullptr); | |||
@@ -362,7 +383,7 @@ protected: | |||
fPluginCount = 0; | |||
*/ | |||
return ImGui::End(); | |||
break; | |||
} | |||
} while (false); | |||
@@ -377,7 +398,6 @@ protected: | |||
if (ImGui::Button("Cancel")) | |||
{ | |||
showPluginUI(handle); | |||
return ImGui::End(); | |||
} | |||
} | |||
@@ -394,22 +414,7 @@ protected: | |||
for (uint i=0; i<fPluginCount; ++i) | |||
{ | |||
const CarlaCachedPluginInfo& info(fPlugins[i]); | |||
/* | |||
#if DISTRHO_PLUGIN_IS_SYNTH | |||
if (info.midiIns != 1 || info.audioOuts != 2) | |||
continue; | |||
#elif DISTRHO_PLUGIN_WANT_MIDI_OUTPUT | |||
if (info.midiIns != 1 || info.midiOuts != 1) | |||
continue; | |||
if (info.audioIns != 0 || info.audioOuts != 0) | |||
continue; | |||
#else | |||
if (info.audioIns != 2 || info.audioOuts != 2) | |||
continue; | |||
#endif | |||
*/ | |||
const PluginInfoCache& info(fPlugins[i]); | |||
const char* const slash = std::strchr(info.label, DISTRHO_OS_SEP); | |||
DISTRHO_SAFE_ASSERT_CONTINUE(slash != nullptr); | |||
@@ -0,0 +1,89 @@ | |||
#!/usr/bin/make -f | |||
# Makefile for DISTRHO Plugins # | |||
# ---------------------------- # | |||
# Created by falkTX | |||
# | |||
# NOTE This file MUST be imported after setting `NAME` | |||
# -------------------------------------------------------------- | |||
# Files to build | |||
FILES_DSP = \ | |||
IldaeilPlugin.cpp | |||
FILES_UI = \ | |||
IldaeilUI.cpp \ | |||
../Common/PluginHostWindow.cpp \ | |||
../../dpf-widgets/opengl/DearImGui.cpp | |||
# -------------------------------------------------------------- | |||
# Carla stuff | |||
CWD = ../../carla/source | |||
include $(CWD)/Makefile.deps.mk | |||
CARLA_BUILD_DIR = ../../carla/build | |||
ifeq ($(DEBUG),true) | |||
CARLA_BUILD_TYPE = Debug | |||
else | |||
CARLA_BUILD_TYPE = Release | |||
endif | |||
EXTRA_LIBS = $(CARLA_BUILD_DIR)/plugin/$(CARLA_BUILD_TYPE)/carla-host-plugin.cpp.o | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/carla_engine_plugin.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/carla_plugin.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/native-plugins.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/audio_decoder.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/jackbridge.min.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/lilv.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/rtmempool.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/sfzero.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/water.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/zita-resampler.a | |||
ifeq ($(USING_JUCE),true) | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_audio_basics.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_audio_processors.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_core.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_data_structures.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_events.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_graphics.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_gui_basics.a | |||
ifeq ($(USING_JUCE_GUI_EXTRA),true) | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_gui_extra.a | |||
endif | |||
endif | |||
# -------------------------------------------------------------- | |||
# Do some more magic | |||
include ../../dpf/Makefile.plugins.mk | |||
BUILD_CXX_FLAGS += -pthread | |||
BUILD_CXX_FLAGS += -I../Common | |||
BUILD_CXX_FLAGS += -I../../dpf-widgets/generic | |||
BUILD_CXX_FLAGS += -I../../dpf-widgets/opengl | |||
BUILD_CXX_FLAGS += -DREAL_BUILD | |||
BUILD_CXX_FLAGS += -I../../carla/source/backend | |||
BUILD_CXX_FLAGS += -I../../carla/source/includes | |||
LINK_FLAGS += $(STATIC_CARLA_PLUGIN_LIBS) | |||
ifeq ($(MACOS),true) | |||
$(BUILD_DIR)/../Common/PluginHostWindow.cpp.o: BUILD_CXX_FLAGS += -ObjC++ | |||
$(BUILD_DIR)/../Common/SizeUtils.cpp.o: BUILD_CXX_FLAGS += -ObjC++ | |||
endif | |||
# TODO Find if carla is installed system-wide and use its binaries (assumed yes for now) | |||
# Otherwise we need to ship the bridge binaries ourselves, this is not done yet | |||
# BUILD_CXX_FLAGS += $(shell pkg-config --cflags carla-host-plugin carla-native-plugin carla-utils) | |||
# LINK_FLAGS += $(shell pkg-config --libs carla-host-plugin carla-native-plugin carla-utils) | |||
# -------------------------------------------------------------- | |||
# Enable all possible plugin types | |||
all: jack lv2 vst2 vst3 | |||
# -------------------------------------------------------------- |
@@ -29,8 +29,8 @@ | |||
#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_TIMEPOS 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" | |||
@@ -9,88 +9,7 @@ | |||
NAME = Ildaeil-FX | |||
# -------------------------------------------------------------- | |||
# Files to build | |||
FILES_DSP = \ | |||
IldaeilPlugin.cpp | |||
FILES_UI = \ | |||
IldaeilUI.cpp \ | |||
../Common/PluginHostWindow.cpp \ | |||
../../dpf-widgets/opengl/DearImGui.cpp | |||
# -------------------------------------------------------------- | |||
# Carla stuff | |||
CARLA_BUILD_DIR = ../../carla/build | |||
ifeq ($(DEBUG),true) | |||
CARLA_BUILD_TYPE = Debug | |||
else | |||
CARLA_BUILD_TYPE = Release | |||
endif | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/plugin/$(CARLA_BUILD_TYPE)/carla-host-plugin.cpp.o | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/carla_engine_plugin.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/carla_plugin.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/native-plugins.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/audio_decoder.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/jackbridge.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/lilv.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/rtmempool.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/sfzero.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/water.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/zita-resampler.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_audio_basics.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_audio_processors.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_core.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_data_structures.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_events.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_graphics.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_gui_basics.a | |||
EXTRA_LIBS += $(CARLA_BUILD_DIR)/modules/$(CARLA_BUILD_TYPE)/juce_gui_extra.a | |||
# -------------------------------------------------------------- | |||
# Do some magic | |||
include ../../dpf/Makefile.plugins.mk | |||
BUILD_CXX_FLAGS += -pthread | |||
BUILD_CXX_FLAGS += -I../Common | |||
BUILD_CXX_FLAGS += -I../../dpf-widgets/generic | |||
BUILD_CXX_FLAGS += -I../../dpf-widgets/opengl | |||
BUILD_CXX_FLAGS += -DREAL_BUILD | |||
BUILD_CXX_FLAGS += -I../../carla/source/backend | |||
BUILD_CXX_FLAGS += -I../../carla/source/includes | |||
ifeq ($(MACOS),true) | |||
$(BUILD_DIR)/../Common/PluginHostWindow.cpp.o: BUILD_CXX_FLAGS += -ObjC++ | |||
$(BUILD_DIR)/../Common/SizeUtils.cpp.o: BUILD_CXX_FLAGS += -ObjC++ | |||
LINK_FLAGS += -framework AppKit | |||
LINK_FLAGS += -framework Accelerate | |||
LINK_FLAGS += -framework AudioToolbox | |||
LINK_FLAGS += -framework CoreFoundation | |||
LINK_FLAGS += -framework AppKit | |||
LINK_FLAGS += -framework AudioUnit | |||
LINK_FLAGS += -framework CoreAudio | |||
LINK_FLAGS += -framework CoreAudioKit | |||
LINK_FLAGS += -framework Carbon | |||
LINK_FLAGS += -framework QuartzCore | |||
LINK_FLAGS += -framework IOKit | |||
else ifeq ($(WIN32),true) | |||
else ifeq ($(LINUX),true) | |||
LINK_FLAGS += $(shell pkg-config --libs fluidsynth freetype2) | |||
LINK_FLAGS += -ldl -lrt | |||
LINK_FLAGS += -lmagic | |||
endif | |||
# BUILD_CXX_FLAGS += $(shell pkg-config --cflags carla-host-plugin carla-native-plugin carla-utils) | |||
# LINK_FLAGS += $(shell pkg-config --libs carla-host-plugin carla-native-plugin carla-utils) | |||
# -------------------------------------------------------------- | |||
# Enable all possible plugin types | |||
all: jack lv2 vst2 vst3 | |||
# -------------------------------------------------------------- | |||
include ../Common/Makefile.mk |
@@ -33,7 +33,7 @@ | |||
#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 | |||
#define DISTRHO_UI_CUSTOM_INCLUDE_PATH "DearImGui.hpp" | |||
#define DISTRHO_UI_CUSTOM_WIDGET_TYPE DGL_NAMESPACE::ImGuiTopLevelWidget | |||
#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED |
@@ -7,25 +7,9 @@ | |||
# -------------------------------------------------------------- | |||
# Project name, used for binaries | |||
NAME = Ildaeil-FX | |||
# -------------------------------------------------------------- | |||
# Files to build (DPF stuff) | |||
FILES_DSP = \ | |||
IldaeilPlugin.cpp | |||
FILES_UI = \ | |||
IldaeilUI.cpp | |||
NAME = Ildaeil-MIDI | |||
# -------------------------------------------------------------- | |||
# Do some magic | |||
include ../../dpf/Makefile.plugins.mk | |||
# -------------------------------------------------------------- | |||
# Enable all possible plugin types | |||
all: jack lv2 vst2 vst3 | |||
# -------------------------------------------------------------- | |||
include ../Common/Makefile.mk |
@@ -33,7 +33,7 @@ | |||
#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 | |||
#define DISTRHO_UI_CUSTOM_INCLUDE_PATH "DearImGui.hpp" | |||
#define DISTRHO_UI_CUSTOM_WIDGET_TYPE DGL_NAMESPACE::ImGuiTopLevelWidget | |||
#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED |
@@ -7,25 +7,9 @@ | |||
# -------------------------------------------------------------- | |||
# Project name, used for binaries | |||
NAME = Ildaeil-FX | |||
# -------------------------------------------------------------- | |||
# Files to build (DPF stuff) | |||
FILES_DSP = \ | |||
IldaeilPlugin.cpp | |||
FILES_UI = \ | |||
IldaeilUI.cpp | |||
NAME = Ildaeil-Synth | |||
# -------------------------------------------------------------- | |||
# Do some magic | |||
include ../../dpf/Makefile.plugins.mk | |||
# -------------------------------------------------------------- | |||
# Enable all possible plugin types | |||
all: jack lv2 vst2 vst3 | |||
# -------------------------------------------------------------- | |||
include ../Common/Makefile.mk |