Browse Source

More juce tweaks

Signed-off-by: falkTX <falktx@gmail.com>
tags/v2.1-alpha1-winvst
parent
commit
f75a4803db
11 changed files with 249 additions and 14 deletions
  1. +45
    -2
      Makefile
  2. +27
    -0
      source/Makefile.mk
  3. +38
    -0
      source/backend/CarlaStandalone.cpp
  4. +31
    -3
      source/backend/Makefile
  5. +6
    -0
      source/backend/engine/CarlaEngine.cpp
  6. +1
    -1
      source/backend/engine/CarlaEngineJuce.cpp
  7. +3
    -0
      source/backend/plugin/Makefile
  8. +59
    -0
      source/bridges-plugin/Makefile
  9. +13
    -6
      source/modules/AppConfig.h
  10. +2
    -2
      source/modules/water/xml/XmlElement.h
  11. +24
    -0
      source/plugin/Makefile

+ 45
- 2
Makefile View File

@@ -62,14 +62,13 @@ endif
ifeq ($(USING_JUCE),true) ifeq ($(USING_JUCE),true)
ALL_LIBS += $(MODULEDIR)/juce_audio_basics.a ALL_LIBS += $(MODULEDIR)/juce_audio_basics.a
ALL_LIBS += $(MODULEDIR)/juce_audio_devices.a ALL_LIBS += $(MODULEDIR)/juce_audio_devices.a
ALL_LIBS += $(MODULEDIR)/juce_audio_processors.a
ALL_LIBS += $(MODULEDIR)/juce_core.a ALL_LIBS += $(MODULEDIR)/juce_core.a
ALL_LIBS += $(MODULEDIR)/juce_data_structures.a ALL_LIBS += $(MODULEDIR)/juce_data_structures.a
ALL_LIBS += $(MODULEDIR)/juce_events.a ALL_LIBS += $(MODULEDIR)/juce_events.a
ifeq ($(MACOS_OR_WIN32),true) ifeq ($(MACOS_OR_WIN32),true)
ALL_LIBS += $(MODULEDIR)/juce_audio_processors.a
ALL_LIBS += $(MODULEDIR)/juce_graphics.a ALL_LIBS += $(MODULEDIR)/juce_graphics.a
ALL_LIBS += $(MODULEDIR)/juce_gui_basics.a ALL_LIBS += $(MODULEDIR)/juce_gui_basics.a
# ALL_LIBS += $(MODULEDIR)/juce_gui_extra.a
endif endif
endif endif


@@ -220,6 +219,18 @@ LIBS_POSIX32 += $(MODULEDIR)/lilv.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/rtmempool.posix32.a LIBS_POSIX32 += $(MODULEDIR)/rtmempool.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/water.posix32.a LIBS_POSIX32 += $(MODULEDIR)/water.posix32.a


ifeq ($(USING_JUCE),true)
LIBS_POSIX32 += $(MODULEDIR)/juce_audio_basics.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_audio_processors.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_data_structures.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_core.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_events.posix32.a
ifeq ($(MACOS_OR_WIN32),true)
LIBS_POSIX32 += $(MODULEDIR)/juce_graphics.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_gui_basics.posix32.a
endif
endif

posix32: $(LIBS_POSIX32) posix32: $(LIBS_POSIX32)
$(MAKE) -C source/bridges-plugin posix32 $(MAKE) -C source/bridges-plugin posix32
$(MAKE) -C source/discovery posix32 $(MAKE) -C source/discovery posix32
@@ -232,6 +243,18 @@ LIBS_POSIX64 += $(MODULEDIR)/lilv.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/rtmempool.posix64.a LIBS_POSIX64 += $(MODULEDIR)/rtmempool.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/water.posix64.a LIBS_POSIX64 += $(MODULEDIR)/water.posix64.a


ifeq ($(USING_JUCE),true)
LIBS_POSIX64 += $(MODULEDIR)/juce_audio_basics.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_audio_processors.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_data_structures.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_core.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_events.posix64.a
ifeq ($(MACOS_OR_WIN32),true)
LIBS_POSIX64 += $(MODULEDIR)/juce_graphics.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_gui_basics.posix64.a
endif
endif

posix64: $(LIBS_POSIX64) posix64: $(LIBS_POSIX64)
$(MAKE) -C source/bridges-plugin posix64 $(MAKE) -C source/bridges-plugin posix64
$(MAKE) -C source/discovery posix64 $(MAKE) -C source/discovery posix64
@@ -248,6 +271,16 @@ LIBS_WIN32 += $(MODULEDIR)/lilv.win32.a
LIBS_WIN32 += $(MODULEDIR)/rtmempool.win32.a LIBS_WIN32 += $(MODULEDIR)/rtmempool.win32.a
LIBS_WIN32 += $(MODULEDIR)/water.win32.a LIBS_WIN32 += $(MODULEDIR)/water.win32.a


ifeq ($(USING_JUCE),true)
LIBS_WIN32 += $(MODULEDIR)/juce_audio_basics.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_audio_processors.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_data_structures.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_core.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_events.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_graphics.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_gui_basics.win32.a
endif

win32: $(LIBS_WIN32) win32: $(LIBS_WIN32)
$(MAKE) -C source/bridges-plugin win32 $(MAKE) -C source/bridges-plugin win32
$(MAKE) -C source/discovery win32 $(MAKE) -C source/discovery win32
@@ -264,6 +297,16 @@ LIBS_WIN64 += $(MODULEDIR)/lilv.win64.a
LIBS_WIN64 += $(MODULEDIR)/rtmempool.win64.a LIBS_WIN64 += $(MODULEDIR)/rtmempool.win64.a
LIBS_WIN64 += $(MODULEDIR)/water.win64.a LIBS_WIN64 += $(MODULEDIR)/water.win64.a


ifeq ($(USING_JUCE),true)
LIBS_WIN64 += $(MODULEDIR)/juce_audio_basics.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_audio_processors.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_data_structures.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_core.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_events.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_graphics.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_gui_basics.win64.a
endif

win64: $(LIBS_WIN64) win64: $(LIBS_WIN64)
$(MAKE) -C source/bridges-plugin win64 $(MAKE) -C source/bridges-plugin win64
$(MAKE) -C source/discovery win64 $(MAKE) -C source/discovery win64


+ 27
- 0
source/Makefile.mk View File

@@ -405,6 +405,8 @@ endif
# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------
# Set libs stuff (part 2) # Set libs stuff (part 2)


ifneq ($(USING_JUCE),true)

RTAUDIO_FLAGS = -DHAVE_GETTIMEOFDAY RTAUDIO_FLAGS = -DHAVE_GETTIMEOFDAY
RTMIDI_FLAGS = RTMIDI_FLAGS =


@@ -421,6 +423,8 @@ RTAUDIO_LIBS += $(shell pkg-config $(PKG_CONFIG_FLAGS) --libs libpulse-simple
endif endif
endif endif


endif # USING_JUCE

ifeq ($(BSD),true) ifeq ($(BSD),true)
JACKBRIDGE_LIBS = -lpthread -lrt JACKBRIDGE_LIBS = -lpthread -lrt
LILV_LIBS = -lm -lrt LILV_LIBS = -lm -lrt
@@ -448,6 +452,10 @@ JACKBRIDGE_LIBS = -ldl -lpthread -lrt
LILV_LIBS = -ldl -lm -lrt LILV_LIBS = -ldl -lm -lrt
RTMEMPOOL_LIBS = -lpthread -lrt RTMEMPOOL_LIBS = -lpthread -lrt
WATER_LIBS = -ldl -lpthread -lrt WATER_LIBS = -ldl -lpthread -lrt
ifeq ($(USING_JUCE),true)
JUCE_CORE_LIBS = -ldl -lpthread -lrt
JUCE_AUDIO_DEVICES_LIBS = $(shell pkg-config $(PKG_CONFIG_FLAGS) --libs alsa)
else
ifeq ($(HAVE_ALSA),true) ifeq ($(HAVE_ALSA),true)
RTAUDIO_FLAGS += $(shell pkg-config $(PKG_CONFIG_FLAGS) --cflags alsa) -D__LINUX_ALSA__ RTAUDIO_FLAGS += $(shell pkg-config $(PKG_CONFIG_FLAGS) --cflags alsa) -D__LINUX_ALSA__
RTAUDIO_LIBS += $(shell pkg-config $(PKG_CONFIG_FLAGS) --libs alsa) -lpthread RTAUDIO_LIBS += $(shell pkg-config $(PKG_CONFIG_FLAGS) --libs alsa) -lpthread
@@ -455,6 +463,7 @@ RTMIDI_FLAGS += $(shell pkg-config $(PKG_CONFIG_FLAGS) --cflags alsa) -D__LIN
RTMIDI_LIBS += $(shell pkg-config $(PKG_CONFIG_FLAGS) --libs alsa) RTMIDI_LIBS += $(shell pkg-config $(PKG_CONFIG_FLAGS) --libs alsa)
endif endif
endif endif
endif


ifeq ($(MACOS),true) ifeq ($(MACOS),true)
HYLIA_FLAGS = -DLINK_PLATFORM_MACOSX=1 HYLIA_FLAGS = -DLINK_PLATFORM_MACOSX=1
@@ -462,11 +471,22 @@ JACKBRIDGE_LIBS = -ldl -lpthread
LILV_LIBS = -ldl -lm LILV_LIBS = -ldl -lm
RTMEMPOOL_LIBS = -lpthread RTMEMPOOL_LIBS = -lpthread
WATER_LIBS = -framework AppKit WATER_LIBS = -framework AppKit
ifeq ($(USING_JUCE),true)
JUCE_AUDIO_BASICS_LIBS = -framework Accelerate
JUCE_AUDIO_DEVICES_LIBS = -framework AppKit -framework AudioToolbox -framework CoreAudio -framework CoreMIDI
JUCE_AUDIO_FORMATS_LIBS = -framework AudioToolbox -framework CoreFoundation
JUCE_AUDIO_PROCESSORS_LIBS = -framework AudioToolbox -framework AudioUnit -framework CoreAudio -framework CoreAudioKit -framework Cocoa -framework Carbon
JUCE_CORE_LIBS = -framework AppKit
JUCE_EVENTS_LIBS = -framework AppKit
JUCE_GRAPHICS_LIBS = -framework Cocoa -framework QuartzCore
JUCE_GUI_BASICS_LIBS = -framework Cocoa
else
RTAUDIO_FLAGS += -D__MACOSX_CORE__ RTAUDIO_FLAGS += -D__MACOSX_CORE__
RTAUDIO_LIBS += -framework CoreAudio RTAUDIO_LIBS += -framework CoreAudio
RTMIDI_FLAGS += -D__MACOSX_CORE__ RTMIDI_FLAGS += -D__MACOSX_CORE__
RTMIDI_LIBS += -framework CoreMIDI RTMIDI_LIBS += -framework CoreMIDI
endif endif
endif


ifeq ($(WIN32),true) ifeq ($(WIN32),true)
HYLIA_FLAGS = -DLINK_PLATFORM_WINDOWS=1 HYLIA_FLAGS = -DLINK_PLATFORM_WINDOWS=1
@@ -474,10 +494,17 @@ JACKBRIDGE_LIBS = -lpthread
LILV_LIBS = -lm LILV_LIBS = -lm
RTMEMPOOL_LIBS = -lpthread RTMEMPOOL_LIBS = -lpthread
WATER_LIBS = -luuid -lwsock32 -lwininet -lversion -lole32 -lws2_32 -loleaut32 -limm32 -lcomdlg32 -lshlwapi -lrpcrt4 -lwinmm WATER_LIBS = -luuid -lwsock32 -lwininet -lversion -lole32 -lws2_32 -loleaut32 -limm32 -lcomdlg32 -lshlwapi -lrpcrt4 -lwinmm
ifeq ($(USING_JUCE),true)
JUCE_AUDIO_DEVICES_LIBS = -lwinmm -lole32
JUCE_CORE_LIBS = -luuid -lwsock32 -lwininet -lversion -lole32 -lws2_32 -loleaut32 -limm32 -lcomdlg32 -lshlwapi -lrpcrt4 -lwinmm
JUCE_GRAPHICS_LIBS = -lgdi32
JUCE_GUI_BASICS_LIBS = -lgdi32 -limm32 -lcomdlg32 -lole32
else
RTAUDIO_FLAGS += -D__WINDOWS_ASIO__ -D__WINDOWS_DS__ -D__WINDOWS_WASAPI__ RTAUDIO_FLAGS += -D__WINDOWS_ASIO__ -D__WINDOWS_DS__ -D__WINDOWS_WASAPI__
RTAUDIO_LIBS += -ldsound -luuid -lksuser -lwinmm RTAUDIO_LIBS += -ldsound -luuid -lksuser -lwinmm
RTMIDI_FLAGS += -D__WINDOWS_MM__ RTMIDI_FLAGS += -D__WINDOWS_MM__
endif endif
endif


# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------




+ 38
- 0
source/backend/CarlaStandalone.cpp View File

@@ -37,6 +37,16 @@
# include "CarlaLogThread.hpp" # include "CarlaLogThread.hpp"
#endif #endif


#ifdef USING_JUCE
// # include "AppConfig.h"
# if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN)
# include "juce_gui_basics/juce_gui_basics.h"
# else
# include "juce_events/juce_events.h"
# endif
# include "juce_core/juce_core.h"
#endif

#define CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(cond, msg, ret) \ #define CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(cond, msg, ret) \
if (! (cond)) { \ if (! (cond)) { \
carla_stderr2("%s: " msg, __FUNCTION__); \ carla_stderr2("%s: " msg, __FUNCTION__); \
@@ -287,6 +297,9 @@ static void carla_engine_init_common(CarlaEngine* const engine)
if (const char* const pathVST2 = std::getenv("ENGINE_OPTION_PLUGIN_PATH_VST2")) if (const char* const pathVST2 = std::getenv("ENGINE_OPTION_PLUGIN_PATH_VST2"))
engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_VST2, pathVST2); engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_VST2, pathVST2);


if (const char* const pathVST3 = std::getenv("ENGINE_OPTION_PLUGIN_PATH_VST3"))
engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_VST3, pathVST3);

if (const char* const pathSF2 = std::getenv("ENGINE_OPTION_PLUGIN_PATH_SF2")) if (const char* const pathSF2 = std::getenv("ENGINE_OPTION_PLUGIN_PATH_SF2"))
engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_SF2, pathSF2); engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_SF2, pathSF2);


@@ -334,6 +347,9 @@ static void carla_engine_init_common(CarlaEngine* const engine)
if (gStandalone.engineOptions.pathVST2 != nullptr) if (gStandalone.engineOptions.pathVST2 != nullptr)
engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_VST2, gStandalone.engineOptions.pathVST2); engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_VST2, gStandalone.engineOptions.pathVST2);


if (gStandalone.engineOptions.pathVST3 != nullptr)
engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_VST3, gStandalone.engineOptions.pathVST3);

if (gStandalone.engineOptions.pathSF2 != nullptr) if (gStandalone.engineOptions.pathSF2 != nullptr)
engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_SF2, gStandalone.engineOptions.pathSF2); engine->setOption(CB::ENGINE_OPTION_PLUGIN_PATH, CB::PLUGIN_SF2, gStandalone.engineOptions.pathSF2);


@@ -403,6 +419,10 @@ bool carla_engine_init(const char* driverName, const char* clientName)
engine->setOption(CB::ENGINE_OPTION_TRANSPORT_MODE, static_cast<int>(gStandalone.engineOptions.transportMode), gStandalone.engineOptions.transportExtra); engine->setOption(CB::ENGINE_OPTION_TRANSPORT_MODE, static_cast<int>(gStandalone.engineOptions.transportMode), gStandalone.engineOptions.transportExtra);
#endif #endif


#ifdef USING_JUCE
juce::initialiseJuce_GUI();
#endif

carla_engine_init_common(engine); carla_engine_init_common(engine);


if (engine->init(clientName)) if (engine->init(clientName))
@@ -421,6 +441,9 @@ bool carla_engine_init(const char* driverName, const char* clientName)
else else
{ {
gStandalone.lastError = engine->getLastError(); gStandalone.lastError = engine->getLastError();
#ifdef USING_JUCE
juce::shutdownJuce_GUI();
#endif
return false; return false;
} }
} }
@@ -487,6 +510,9 @@ bool carla_engine_close()


#ifndef BUILD_BRIDGE #ifndef BUILD_BRIDGE
gStandalone.logThread.stop(); gStandalone.logThread.stop();
# ifdef USING_JUCE
juce::shutdownJuce_GUI();
# endif
#endif #endif


return closed; return closed;
@@ -497,6 +523,13 @@ void carla_engine_idle()
CARLA_SAFE_ASSERT_RETURN(gStandalone.engine != nullptr,); CARLA_SAFE_ASSERT_RETURN(gStandalone.engine != nullptr,);


gStandalone.engine->idle(); gStandalone.engine->idle();

#if defined(USING_JUCE) && !(defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN))
const juce::MessageManager* const msgMgr(juce::MessageManager::getInstanceWithoutCreating());
CARLA_SAFE_ASSERT_RETURN(msgMgr != nullptr,);

for (; msgMgr->dispatchNextMessageOnSystemQueue(true);) {}
#endif
} }


bool carla_is_engine_running() bool carla_is_engine_running()
@@ -645,6 +678,11 @@ void carla_set_engine_option(EngineOption option, int value, const char* valueSt
delete[] gStandalone.engineOptions.pathVST2; delete[] gStandalone.engineOptions.pathVST2;
gStandalone.engineOptions.pathVST2 = carla_strdup_safe(valueStr); gStandalone.engineOptions.pathVST2 = carla_strdup_safe(valueStr);
break; break;
case CB::PLUGIN_VST3:
if (gStandalone.engineOptions.pathVST3 != nullptr)
delete[] gStandalone.engineOptions.pathVST3;
gStandalone.engineOptions.pathVST3 = carla_strdup_safe(valueStr);
break;
case CB::PLUGIN_SF2: case CB::PLUGIN_SF2:
if (gStandalone.engineOptions.pathSF2 != nullptr) if (gStandalone.engineOptions.pathSF2 != nullptr)
delete[] gStandalone.engineOptions.pathSF2; delete[] gStandalone.engineOptions.pathSF2;


+ 31
- 3
source/backend/Makefile View File

@@ -37,8 +37,23 @@ ifeq ($(HAVE_HYLIA),true)
STANDALONE_LIBS += $(MODULEDIR)/hylia.a STANDALONE_LIBS += $(MODULEDIR)/hylia.a
endif endif


ifeq ($(USING_JUCE),true)
STANDALONE_LIBS += $(MODULEDIR)/juce_audio_basics.a
STANDALONE_LIBS += $(MODULEDIR)/juce_audio_devices.a
STANDALONE_LIBS += $(MODULEDIR)/juce_audio_processors.a
STANDALONE_LIBS += $(MODULEDIR)/juce_core.a
STANDALONE_LIBS += $(MODULEDIR)/juce_data_structures.a
STANDALONE_LIBS += $(MODULEDIR)/juce_events.a
ifeq ($(MACOS_OR_WIN32),true)
STANDALONE_LIBS += $(MODULEDIR)/juce_graphics.a
STANDALONE_LIBS += $(MODULEDIR)/juce_gui_basics.a
# ifeq ($(MACOS),true)
# STANDALONE_LIBS += $(MODULEDIR)/juce_gui_extra.a
endif
else
STANDALONE_LIBS += $(MODULEDIR)/rtaudio.a STANDALONE_LIBS += $(MODULEDIR)/rtaudio.a
STANDALONE_LIBS += $(MODULEDIR)/rtmidi.a STANDALONE_LIBS += $(MODULEDIR)/rtmidi.a
endif


# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------


@@ -48,14 +63,27 @@ STANDALONE_LINK_FLAGS += $(NATIVE_PLUGINS_LIBS)
STANDALONE_LINK_FLAGS += $(RTMEMPOOL_LIBS) STANDALONE_LINK_FLAGS += $(RTMEMPOOL_LIBS)
STANDALONE_LINK_FLAGS += $(WATER_LIBS) STANDALONE_LINK_FLAGS += $(WATER_LIBS)


STANDALONE_LINK_FLAGS += $(RTAUDIO_LIBS)
STANDALONE_LINK_FLAGS += $(RTMIDI_LIBS)

STANDALONE_LINK_FLAGS += $(LIBLO_LIBS) STANDALONE_LINK_FLAGS += $(LIBLO_LIBS)
STANDALONE_LINK_FLAGS += $(MAGIC_LIBS) STANDALONE_LINK_FLAGS += $(MAGIC_LIBS)
STANDALONE_LINK_FLAGS += $(FLUIDSYNTH_LIBS) STANDALONE_LINK_FLAGS += $(FLUIDSYNTH_LIBS)
STANDALONE_LINK_FLAGS += $(X11_LIBS) STANDALONE_LINK_FLAGS += $(X11_LIBS)


ifeq ($(USING_JUCE),true)
STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_DEVICES_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_CORE_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_EVENTS_LIBS)
ifeq ($(MACOS_OR_WIN32),true)
STANDALONE_LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
endif
else
STANDALONE_LINK_FLAGS += $(RTAUDIO_LIBS)
STANDALONE_LINK_FLAGS += $(RTMIDI_LIBS)
endif

# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------


all: $(TARGETS) all: $(TARGETS)


+ 6
- 0
source/backend/engine/CarlaEngine.cpp View File

@@ -202,6 +202,12 @@ CarlaEngine* CarlaEngine::newDriverByName(const char* const driverName)


#ifndef BUILD_BRIDGE #ifndef BUILD_BRIDGE
# ifdef USING_JUCE # ifdef USING_JUCE
// -------------------------------------------------------------------
// linux

if (std::strcmp(driverName, "ALSA") == 0)
return newJuce(AUDIO_API_ALSA);

// ------------------------------------------------------------------- // -------------------------------------------------------------------
// macos // macos




+ 1
- 1
source/backend/engine/CarlaEngineJuce.cpp View File

@@ -1,6 +1,6 @@
/* /*
* Carla Plugin Host * Carla Plugin Host
* Copyright (C) 2011-2017 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as


+ 3
- 0
source/backend/plugin/Makefile View File

@@ -18,6 +18,9 @@ OBJS = \
$(OBJDIR)/CarlaPluginDSSI.cpp.o \ $(OBJDIR)/CarlaPluginDSSI.cpp.o \
$(OBJDIR)/CarlaPluginLV2.cpp.o \ $(OBJDIR)/CarlaPluginLV2.cpp.o \
$(OBJDIR)/CarlaPluginVST2.cpp.o \ $(OBJDIR)/CarlaPluginVST2.cpp.o \
$(OBJDIR)/CarlaPluginVST3.cpp.o \
$(OBJDIR)/CarlaPluginAU.cpp.o \
$(OBJDIR)/CarlaPluginJuce.cpp.o \
$(OBJDIR)/CarlaPluginFluidSynth.cpp.o \ $(OBJDIR)/CarlaPluginFluidSynth.cpp.o \
$(OBJDIR)/CarlaPluginSFZero.cpp.o \ $(OBJDIR)/CarlaPluginSFZero.cpp.o \
$(OBJDIR)/CarlaPluginJack.cpp.o $(OBJDIR)/CarlaPluginJack.cpp.o


+ 59
- 0
source/bridges-plugin/Makefile View File

@@ -63,6 +63,59 @@ LIBS_win32 += $(MODULEDIR)/water.win32.a
LIBS_win64 += $(MODULEDIR)/water.win64.a LIBS_win64 += $(MODULEDIR)/water.win64.a
LINK_FLAGS += $(WATER_LIBS) LINK_FLAGS += $(WATER_LIBS)


ifeq ($(USING_JUCE),true)
LIBS_native += $(MODULEDIR)/juce_audio_basics.a
LIBS_posix32 += $(MODULEDIR)/juce_audio_basics.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_audio_basics.posix64.a
LIBS_win32 += $(MODULEDIR)/juce_audio_basics.win32.a
LIBS_win64 += $(MODULEDIR)/juce_audio_basics.win64.a
LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS)

LIBS_native += $(MODULEDIR)/juce_audio_processors.a
LIBS_posix32 += $(MODULEDIR)/juce_audio_processors.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_audio_processors.posix64.a
LIBS_win32 += $(MODULEDIR)/juce_audio_processors.win32.a
LIBS_win64 += $(MODULEDIR)/juce_audio_processors.win64.a
LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS)

LIBS_native += $(MODULEDIR)/juce_core.a
LIBS_posix32 += $(MODULEDIR)/juce_core.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_core.posix64.a
LIBS_win32 += $(MODULEDIR)/juce_core.win32.a
LIBS_win64 += $(MODULEDIR)/juce_core.win64.a
LINK_FLAGS += $(JUCE_CORE_LIBS)

LIBS_native += $(MODULEDIR)/juce_data_structures.a
LIBS_posix32 += $(MODULEDIR)/juce_data_structures.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_data_structures.posix64.a
LIBS_win32 += $(MODULEDIR)/juce_data_structures.win32.a
LIBS_win64 += $(MODULEDIR)/juce_data_structures.win64.a
LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)

LIBS_native += $(MODULEDIR)/juce_events.a
LIBS_posix32 += $(MODULEDIR)/juce_events.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_events.posix64.a
LIBS_win32 += $(MODULEDIR)/juce_events.win32.a
LIBS_win64 += $(MODULEDIR)/juce_events.win64.a
LINK_FLAGS += $(JUCE_EVENTS_LIBS)

ifeq ($(MACOS_OR_WIN32),true)
LIBS_native += $(MODULEDIR)/juce_graphics.a
LIBS_posix32 += $(MODULEDIR)/juce_graphics.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_graphics.posix64.a
LIBS_win32 += $(MODULEDIR)/juce_graphics.win32.a
LIBS_win64 += $(MODULEDIR)/juce_graphics.win64.a
LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)

LIBS_native += $(MODULEDIR)/juce_gui_basics.a
LIBS_posix32 += $(MODULEDIR)/juce_gui_basics.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_gui_basics.posix64.a
LIBS_win32 += $(MODULEDIR)/juce_gui_basics.win32.a
LIBS_win64 += $(MODULEDIR)/juce_gui_basics.win64.a
LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
endif
endif

LINK_FLAGS += $(X11_LIBS) LINK_FLAGS += $(X11_LIBS)


# ---------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------
@@ -114,6 +167,9 @@ OBJS_native = \
$(OBJDIR)/CarlaPluginDSSI.cpp.o \ $(OBJDIR)/CarlaPluginDSSI.cpp.o \
$(OBJDIR)/CarlaPluginLV2.cpp.o \ $(OBJDIR)/CarlaPluginLV2.cpp.o \
$(OBJDIR)/CarlaPluginVST2.cpp.o \ $(OBJDIR)/CarlaPluginVST2.cpp.o \
$(OBJDIR)/CarlaPluginVST3.cpp.o \
$(OBJDIR)/CarlaPluginAU.cpp.o \
$(OBJDIR)/CarlaPluginJuce.cpp.o \
$(OBJDIR)/CarlaPluginFluidSynth.cpp.o \ $(OBJDIR)/CarlaPluginFluidSynth.cpp.o \
$(OBJDIR)/CarlaPluginSFZero.cpp.o \ $(OBJDIR)/CarlaPluginSFZero.cpp.o \
$(OBJDIR)/CarlaStandalone.cpp.o $(OBJDIR)/CarlaStandalone.cpp.o
@@ -138,6 +194,9 @@ OBJS_arch = \
$(OBJDIR)/CarlaPluginDSSI.cpp.arch.o \ $(OBJDIR)/CarlaPluginDSSI.cpp.arch.o \
$(OBJDIR)/CarlaPluginLV2.cpp.arch.o \ $(OBJDIR)/CarlaPluginLV2.cpp.arch.o \
$(OBJDIR)/CarlaPluginVST2.cpp.arch.o \ $(OBJDIR)/CarlaPluginVST2.cpp.arch.o \
$(OBJDIR)/CarlaPluginVST3.cpp.arch.o \
$(OBJDIR)/CarlaPluginAU.cpp.arch.o \
$(OBJDIR)/CarlaPluginJuce.cpp.arch.o \
$(OBJDIR)/CarlaStandalone.cpp.arch.o $(OBJDIR)/CarlaStandalone.cpp.arch.o


OBJS_posix32 = $(OBJS_arch:%.arch.o=%.posix32.o) OBJS_posix32 = $(OBJS_arch:%.arch.o=%.posix32.o)


+ 13
- 6
source/modules/AppConfig.h View File

@@ -27,7 +27,7 @@
// always enabled // always enabled
#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 #define JUCE_MODULE_AVAILABLE_juce_audio_basics 1
#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1
#define JUCE_MODULE_AVAILABLE_juce_core 1 #define JUCE_MODULE_AVAILABLE_juce_core 1
#define JUCE_MODULE_AVAILABLE_juce_data_structures 1 #define JUCE_MODULE_AVAILABLE_juce_data_structures 1
#define JUCE_MODULE_AVAILABLE_juce_events 1 #define JUCE_MODULE_AVAILABLE_juce_events 1
@@ -38,19 +38,22 @@
#define JUCE_MODULE_AVAILABLE_juce_audio_utils 0 #define JUCE_MODULE_AVAILABLE_juce_audio_utils 0
#define JUCE_MODULE_AVAILABLE_juce_cryptography 0 #define JUCE_MODULE_AVAILABLE_juce_cryptography 0
#define JUCE_MODULE_AVAILABLE_juce_opengl 0 #define JUCE_MODULE_AVAILABLE_juce_opengl 0
#define JUCE_MODULE_AVAILABLE_juce_gui_extra 0
#define JUCE_MODULE_AVAILABLE_juce_video 0 #define JUCE_MODULE_AVAILABLE_juce_video 0
// conditional // conditional
#if defined(APPCONFIG_OS_MAC) || defined(APPCONFIG_OS_WIN) #if defined(APPCONFIG_OS_MAC) || defined(APPCONFIG_OS_WIN)
# define JUCE_MODULE_AVAILABLE_juce_audio_processors 1
# define JUCE_MODULE_AVAILABLE_juce_graphics 1 # define JUCE_MODULE_AVAILABLE_juce_graphics 1
# define JUCE_MODULE_AVAILABLE_juce_gui_basics 1 # define JUCE_MODULE_AVAILABLE_juce_gui_basics 1
# define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
#else #else
# define JUCE_MODULE_AVAILABLE_juce_audio_processors 0
# define JUCE_MODULE_AVAILABLE_juce_graphics 0 # define JUCE_MODULE_AVAILABLE_juce_graphics 0
# define JUCE_MODULE_AVAILABLE_juce_gui_basics 0 # define JUCE_MODULE_AVAILABLE_juce_gui_basics 0
# define JUCE_MODULE_AVAILABLE_juce_gui_extra 0
#endif
#ifndef BUILD_BRIDGE
# define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
#else
# define JUCE_MODULE_AVAILABLE_juce_audio_devices 0
#endif #endif
// misc // misc
@@ -191,7 +194,11 @@
@see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU
*/ */
#define JUCE_PLUGINHOST_VST 1
#if defined(APPCONFIG_OS_MAC) || defined(APPCONFIG_OS_WIN)
# define JUCE_PLUGINHOST_VST 1
#else
# define JUCE_PLUGINHOST_VST 0
#endif
/** Config: JUCE_PLUGINHOST_VST3 /** Config: JUCE_PLUGINHOST_VST3
Enables the VST3 audio plugin hosting classes. This requires the Steinberg VST3 SDK to be Enables the VST3 audio plugin hosting classes. This requires the Steinberg VST3 SDK to be


+ 2
- 2
source/modules/water/xml/XmlElement.h View File

@@ -51,7 +51,7 @@ namespace water {
@see forEachXmlChildElementWithTagName @see forEachXmlChildElementWithTagName
*/ */
#define forEachXmlChildElement(parentXmlElement, childElementVariableName) \
#define __forEachXmlChildElement(parentXmlElement, childElementVariableName) \
\ \
for (water::XmlElement* childElementVariableName = (parentXmlElement).getFirstChildElement(); \ for (water::XmlElement* childElementVariableName = (parentXmlElement).getFirstChildElement(); \
childElementVariableName != nullptr; \ childElementVariableName != nullptr; \
@@ -80,7 +80,7 @@ namespace water {
@see forEachXmlChildElement @see forEachXmlChildElement
*/ */
#define forEachXmlChildElementWithTagName(parentXmlElement, childElementVariableName, requiredTagName) \
#define __forEachXmlChildElementWithTagName(parentXmlElement, childElementVariableName, requiredTagName) \
\ \
for (water::XmlElement* childElementVariableName = (parentXmlElement).getChildByName (requiredTagName); \ for (water::XmlElement* childElementVariableName = (parentXmlElement).getChildByName (requiredTagName); \
childElementVariableName != nullptr; \ childElementVariableName != nullptr; \


+ 24
- 0
source/plugin/Makefile View File

@@ -59,6 +59,18 @@ ifeq ($(HAVE_HYLIA),true)
LIBS += $(MODULEDIR)/hylia.a LIBS += $(MODULEDIR)/hylia.a
endif endif


ifeq ($(USING_JUCE),true)
LIBS += $(MODULEDIR)/juce_audio_basics.a
LIBS += $(MODULEDIR)/juce_audio_processors.a
LIBS += $(MODULEDIR)/juce_core.a
LIBS += $(MODULEDIR)/juce_data_structures.a
LIBS += $(MODULEDIR)/juce_events.a
ifeq ($(MACOS_OR_WIN32),true)
LIBS += $(MODULEDIR)/juce_graphics.a
LIBS += $(MODULEDIR)/juce_gui_basics.a
endif
endif

# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------
# Link flags # Link flags


@@ -74,6 +86,18 @@ NATIVE_LINK_FLAGS += $(LIBLO_LIBS)
NATIVE_LINK_FLAGS += $(MAGIC_LIBS) NATIVE_LINK_FLAGS += $(MAGIC_LIBS)
NATIVE_LINK_FLAGS += $(X11_LIBS) NATIVE_LINK_FLAGS += $(X11_LIBS)


ifeq ($(USING_JUCE),true)
LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS)
LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS)
LINK_FLAGS += $(JUCE_CORE_LIBS)
LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
LINK_FLAGS += $(JUCE_EVENTS_LIBS)
ifeq ($(MACOS_OR_WIN32),true)
LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
endif
endif

ifeq ($(MACOS),true) ifeq ($(MACOS),true)
SYMBOLS_NATIVE = -Wl,-exported_symbol,_carla_get_native_rack_plugin SYMBOLS_NATIVE = -Wl,-exported_symbol,_carla_get_native_rack_plugin
SYMBOLS_NATIVE += -Wl,-exported_symbol,_carla_get_native_patchbay_plugin SYMBOLS_NATIVE += -Wl,-exported_symbol,_carla_get_native_patchbay_plugin


Loading…
Cancel
Save