Browse Source

Use JUCE by default on linux if supported; Cleanup config a bit

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.2.0-RC1
falkTX 4 years ago
parent
commit
d91b48e908
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
22 changed files with 270 additions and 161 deletions
  1. +14
    -8
      Makefile
  2. +36
    -15
      source/Makefile.mk
  3. +0
    -56
      source/backend/CarlaEngine.hpp
  4. +84
    -0
      source/backend/CarlaEngineInit.hpp
  5. +5
    -5
      source/backend/CarlaStandalone.cpp
  6. +12
    -4
      source/backend/Makefile
  7. +13
    -6
      source/backend/engine/CarlaEngine.cpp
  8. +10
    -2
      source/backend/engine/CarlaEngineBridge.cpp
  9. +8
    -2
      source/backend/engine/CarlaEngineDummy.cpp
  10. +7
    -2
      source/backend/engine/CarlaEngineJack.cpp
  11. +12
    -15
      source/backend/engine/CarlaEngineJuce.cpp
  12. +22
    -17
      source/backend/engine/CarlaEngineNative.cpp
  13. +11
    -6
      source/backend/engine/CarlaEngineRtAudio.cpp
  14. +2
    -2
      source/backend/engine/Makefile
  15. +0
    -9
      source/backend/plugin/CarlaPluginJuce.cpp
  16. +2
    -0
      source/backend/plugin/Makefile
  17. +3
    -1
      source/bridges-plugin/Makefile
  18. +11
    -2
      source/discovery/Makefile
  19. +9
    -0
      source/discovery/carla-discovery.cpp
  20. +6
    -6
      source/modules/AppConfig.h
  21. +1
    -1
      source/modules/juce_audio_basics/midi/juce_MidiMessage.h
  22. +2
    -2
      source/plugin/Makefile

+ 14
- 8
Makefile View File

@@ -59,17 +59,21 @@ endif


ifeq ($(USING_JUCE),true) ifeq ($(USING_JUCE),true)
3RD_LIBS += $(MODULEDIR)/juce_audio_basics.a 3RD_LIBS += $(MODULEDIR)/juce_audio_basics.a
ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
3RD_LIBS += $(MODULEDIR)/juce_audio_devices.a 3RD_LIBS += $(MODULEDIR)/juce_audio_devices.a
endif
3RD_LIBS += $(MODULEDIR)/juce_audio_processors.a 3RD_LIBS += $(MODULEDIR)/juce_audio_processors.a
3RD_LIBS += $(MODULEDIR)/juce_core.a 3RD_LIBS += $(MODULEDIR)/juce_core.a
3RD_LIBS += $(MODULEDIR)/juce_data_structures.a 3RD_LIBS += $(MODULEDIR)/juce_data_structures.a
3RD_LIBS += $(MODULEDIR)/juce_events.a 3RD_LIBS += $(MODULEDIR)/juce_events.a
3RD_LIBS += $(MODULEDIR)/juce_graphics.a 3RD_LIBS += $(MODULEDIR)/juce_graphics.a
3RD_LIBS += $(MODULEDIR)/juce_gui_basics.a 3RD_LIBS += $(MODULEDIR)/juce_gui_basics.a
ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
3RD_LIBS += $(MODULEDIR)/juce_gui_extra.a 3RD_LIBS += $(MODULEDIR)/juce_gui_extra.a
endif endif
else
endif

ifneq ($(USING_JUCE_AUDIO_DEVICES),true)
3RD_LIBS += $(MODULEDIR)/rtaudio.a 3RD_LIBS += $(MODULEDIR)/rtaudio.a
3RD_LIBS += $(MODULEDIR)/rtmidi.a 3RD_LIBS += $(MODULEDIR)/rtmidi.a
endif endif
@@ -261,11 +265,9 @@ LIBS_POSIX32 += $(MODULEDIR)/juce_audio_processors.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_data_structures.posix32.a LIBS_POSIX32 += $(MODULEDIR)/juce_data_structures.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_core.posix32.a LIBS_POSIX32 += $(MODULEDIR)/juce_core.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_events.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_graphics.posix32.a
LIBS_POSIX32 += $(MODULEDIR)/juce_gui_basics.posix32.a LIBS_POSIX32 += $(MODULEDIR)/juce_gui_basics.posix32.a
endif
ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
LIBS_POSIX32 += $(MODULEDIR)/juce_gui_extra.posix32.a LIBS_POSIX32 += $(MODULEDIR)/juce_gui_extra.posix32.a
endif endif
endif endif
@@ -288,11 +290,9 @@ LIBS_POSIX64 += $(MODULEDIR)/juce_audio_processors.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_data_structures.posix64.a LIBS_POSIX64 += $(MODULEDIR)/juce_data_structures.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_core.posix64.a LIBS_POSIX64 += $(MODULEDIR)/juce_core.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_events.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_graphics.posix64.a
LIBS_POSIX64 += $(MODULEDIR)/juce_gui_basics.posix64.a LIBS_POSIX64 += $(MODULEDIR)/juce_gui_basics.posix64.a
endif
ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
LIBS_POSIX64 += $(MODULEDIR)/juce_gui_extra.posix64.a LIBS_POSIX64 += $(MODULEDIR)/juce_gui_extra.posix64.a
endif endif
endif endif
@@ -321,6 +321,9 @@ LIBS_WIN32 += $(MODULEDIR)/juce_core.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_events.win32.a LIBS_WIN32 += $(MODULEDIR)/juce_events.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_graphics.win32.a LIBS_WIN32 += $(MODULEDIR)/juce_graphics.win32.a
LIBS_WIN32 += $(MODULEDIR)/juce_gui_basics.win32.a LIBS_WIN32 += $(MODULEDIR)/juce_gui_basics.win32.a
ifeq ($(USING_JUCE_GUI_EXTRA),true)
LIBS_WIN32 += $(MODULEDIR)/juce_gui_extra.win32.a
endif
endif endif


win32: $(LIBS_WIN32) win32: $(LIBS_WIN32)
@@ -347,6 +350,9 @@ LIBS_WIN64 += $(MODULEDIR)/juce_core.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_events.win64.a LIBS_WIN64 += $(MODULEDIR)/juce_events.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_graphics.win64.a LIBS_WIN64 += $(MODULEDIR)/juce_graphics.win64.a
LIBS_WIN64 += $(MODULEDIR)/juce_gui_basics.win64.a LIBS_WIN64 += $(MODULEDIR)/juce_gui_basics.win64.a
ifeq ($(USING_JUCE_GUI_EXTRA),true)
LIBS_WIN64 += $(MODULEDIR)/juce_gui_extra.win64.a
endif
endif endif


win64: $(LIBS_WIN64) win64: $(LIBS_WIN64)


+ 36
- 15
source/Makefile.mk View File

@@ -92,13 +92,6 @@ ifeq ($(MACOS),true)
UNIX=true UNIX=true
endif endif


# ---------------------------------------------------------------------------------------------------------------------
# Set USING_JUCE

ifeq ($(MACOS_OR_WIN32),true)
USING_JUCE=true
endif

# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------
# Set build and link flags # Set build and link flags


@@ -251,12 +244,8 @@ HAVE_QT5 = $(shell $(PKG_CONFIG) --exists Qt5Core Qt5Gui Qt5Widgets && \
$(PKG_CONFIG) --variable=qt_config Qt5Core | grep -q -v "static" && echo true) $(PKG_CONFIG) --variable=qt_config Qt5Core | grep -q -v "static" && echo true)
HAVE_SNDFILE = $(shell $(PKG_CONFIG) --exists sndfile && echo true) HAVE_SNDFILE = $(shell $(PKG_CONFIG) --exists sndfile && echo true)


ifeq ($(JACKBRIDGE_DIRECT),true)
ifeq ($(HAVE_JACK),true)
BASE_FLAGS += -DJACKBRIDGE_DIRECT
else
$(error jackbridge direct mode requested, but jack not available)
endif
ifeq ($(LINUX),true)
HAVE_JUCE_LINUX_DEPS = $(shell $(PKG_CONFIG) --exists x11 xext freetype2 && echo true)
endif endif


# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------
@@ -335,9 +324,33 @@ endif
endif endif
endif endif


# ---------------------------------------------------------------------------------------------------------------------
# Set USING_JUCE

ifeq ($(MACOS_OR_WIN32),true)
USING_JUCE=true
USING_JUCE_AUDIO_DEVICES=true
endif

ifeq ($(HAVE_JUCE_LINUX_DEPS),true)
USING_JUCE=true
endif

ifeq ($(LINUX_OR_MACOS),true)
USING_JUCE_GUI_EXTRA=true
endif

# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------
# Set base defines # Set base defines


ifeq ($(JACKBRIDGE_DIRECT),true)
ifeq ($(HAVE_JACK),true)
BASE_FLAGS += -DJACKBRIDGE_DIRECT
else
$(error jackbridge direct mode requested, but jack not available)
endif
endif

ifeq ($(HAVE_DGL),true) ifeq ($(HAVE_DGL),true)
BASE_FLAGS += -DHAVE_DGL BASE_FLAGS += -DHAVE_DGL
BASE_FLAGS += -DDGL_NAMESPACE=CarlaDGL -DDGL_FILE_BROWSER_DISABLED -DDGL_NO_SHARED_RESOURCES BASE_FLAGS += -DDGL_NAMESPACE=CarlaDGL -DDGL_FILE_BROWSER_DISABLED -DDGL_NO_SHARED_RESOURCES
@@ -379,6 +392,14 @@ ifeq ($(USING_JUCE),true)
BASE_FLAGS += -DUSING_JUCE BASE_FLAGS += -DUSING_JUCE
endif endif


ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
BASE_FLAGS += -DUSING_JUCE_AUDIO_DEVICES
endif

ifeq ($(USING_JUCE_GUI_EXTRA),true)
BASE_FLAGS += -DUSING_JUCE_GUI_EXTRA
endif

# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------
# Set libs stuff (part 1) # Set libs stuff (part 1)


@@ -449,7 +470,7 @@ endif
# --------------------------------------------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------------------------------------------
# Set libs stuff (part 2) # Set libs stuff (part 2)


ifneq ($(USING_JUCE),true)
ifneq ($(USING_JUCE_AUDIO_DEVICES),true)


RTAUDIO_FLAGS = -DHAVE_GETTIMEOFDAY RTAUDIO_FLAGS = -DHAVE_GETTIMEOFDAY
RTMIDI_FLAGS = RTMIDI_FLAGS =
@@ -467,7 +488,7 @@ RTAUDIO_LIBS += $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --libs libpulse-sim
endif endif
endif endif


endif # USING_JUCE
endif # USING_JUCE_AUDIO_DEVICES


ifeq ($(BSD),true) ifeq ($(BSD),true)
JACKBRIDGE_LIBS = -lpthread -lrt JACKBRIDGE_LIBS = -lpthread -lrt


+ 0
- 56
source/backend/CarlaEngine.hpp View File

@@ -1362,62 +1362,6 @@ protected:


// ------------------------------------------------------------------- // -------------------------------------------------------------------


public:
/*!
* Native audio APIs.
*/
enum AudioApi {
AUDIO_API_NULL,
// common
AUDIO_API_JACK,
AUDIO_API_OSS,
// linux
AUDIO_API_ALSA,
AUDIO_API_PULSEAUDIO,
// macos
AUDIO_API_COREAUDIO,
// windows
AUDIO_API_ASIO,
AUDIO_API_DIRECTSOUND,
AUDIO_API_WASAPI
};

// -------------------------------------------------------------------
// Engine initializers

// JACK
static CarlaEngine* newJack();

#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
// Dummy
static CarlaEngine* newDummy();
#endif

#ifdef BUILD_BRIDGE
// Bridge
static CarlaEngine* newBridge(const char* audioPoolBaseName,
const char* rtClientBaseName,
const char* nonRtClientBaseName,
const char* nonRtServerBaseName);
#else
# ifdef USING_JUCE
// Juce
static CarlaEngine* newJuce(AudioApi api);
static uint getJuceApiCount();
static const char* getJuceApiName(uint index);
static const char* const* getJuceApiDeviceNames(uint index);
static const EngineDriverDeviceInfo* getJuceDeviceInfo(uint index, const char* deviceName);
static bool showJuceDeviceControlPanel(uint index, const char* deviceName);
# else
// RtAudio
static CarlaEngine* newRtAudio(AudioApi api);
static uint getRtAudioApiCount();
static const char* getRtAudioApiName(uint index);
static const char* const* getRtAudioApiDeviceNames(uint index);
static const EngineDriverDeviceInfo* getRtAudioDeviceInfo(uint index, const char* deviceName);
# endif
#endif

CARLA_DECLARE_NON_COPY_CLASS(CarlaEngine) CARLA_DECLARE_NON_COPY_CLASS(CarlaEngine)
}; };




+ 84
- 0
source/backend/CarlaEngineInit.hpp View File

@@ -0,0 +1,84 @@
/*
* Carla Plugin Host
* Copyright (C) 2011-2020 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 2 of
* the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* For a full copy of the GNU General Public License see the doc/GPL.txt file.
*/

#ifndef CARLA_ENGINE_INIT_HPP_INCLUDED
#define CARLA_ENGINE_INIT_HPP_INCLUDED

#include "CarlaEngine.hpp"

CARLA_BACKEND_START_NAMESPACE

// -------------------------------------------------------------------

/*!
* Native audio APIs.
*/
enum AudioApi {
AUDIO_API_NULL,
// common
AUDIO_API_JACK,
AUDIO_API_OSS,
// linux
AUDIO_API_ALSA,
AUDIO_API_PULSEAUDIO,
// macos
AUDIO_API_COREAUDIO,
// windows
AUDIO_API_ASIO,
AUDIO_API_DIRECTSOUND,
AUDIO_API_WASAPI
};

// -------------------------------------------------------------------
// Engine initializers

namespace EngineInit {

// JACK
CarlaEngine* newJack();

// Dummy
CarlaEngine* newDummy();

// Bridge
CarlaEngine* newBridge(const char* audioPoolBaseName,
const char* rtClientBaseName,
const char* nonRtClientBaseName,
const char* nonRtServerBaseName);

// Juce
CarlaEngine* newJuce(AudioApi api);
uint getJuceApiCount();
const char* getJuceApiName(uint index);
const char* const* getJuceApiDeviceNames(uint index);
const EngineDriverDeviceInfo* getJuceDeviceInfo(uint index, const char* deviceName);
bool showJuceDeviceControlPanel(uint index, const char* deviceName);

// RtAudio
CarlaEngine* newRtAudio(AudioApi api);
uint getRtAudioApiCount();
const char* getRtAudioApiName(uint index);
const char* const* getRtAudioApiDeviceNames(uint index);
const EngineDriverDeviceInfo* getRtAudioDeviceInfo(uint index, const char* deviceName);

}

// -----------------------------------------------------------------------

CARLA_BACKEND_END_NAMESPACE

#endif // CARLA_ENGINE_INIT_HPP_INCLUDED

+ 5
- 5
source/backend/CarlaStandalone.cpp View File

@@ -21,7 +21,7 @@
#include "CarlaHostImpl.hpp" #include "CarlaHostImpl.hpp"
#include "CarlaMIDI.h" #include "CarlaMIDI.h"


#include "CarlaEngine.hpp"
#include "CarlaEngineInit.hpp"
#include "CarlaPlugin.hpp" #include "CarlaPlugin.hpp"


#include "CarlaBackendUtils.hpp" #include "CarlaBackendUtils.hpp"
@@ -399,10 +399,10 @@ bool carla_engine_init_bridge(CarlaHostHandle handle,
CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(handle->isStandalone, "Must be a standalone host handle", false); CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(handle->isStandalone, "Must be a standalone host handle", false);
CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(handle->engine == nullptr, "Engine is already initialized", false); CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(handle->engine == nullptr, "Engine is already initialized", false);


CarlaScopedPointer<CarlaEngine> engine(CarlaEngine::newBridge(audioBaseName,
rtClientBaseName,
nonRtClientBaseName,
nonRtServerBaseName));
CarlaScopedPointer<CarlaEngine> engine(CB::EngineInit::newBridge(audioBaseName,
rtClientBaseName,
nonRtClientBaseName,
nonRtServerBaseName));


CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(engine != nullptr, "The selected audio driver is not available", false); CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(engine != nullptr, "The selected audio driver is not available", false);




+ 12
- 4
source/backend/Makefile View File

@@ -39,17 +39,21 @@ endif


ifeq ($(USING_JUCE),true) ifeq ($(USING_JUCE),true)
STANDALONE_LIBS += $(MODULEDIR)/juce_audio_basics.a STANDALONE_LIBS += $(MODULEDIR)/juce_audio_basics.a
ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
STANDALONE_LIBS += $(MODULEDIR)/juce_audio_devices.a STANDALONE_LIBS += $(MODULEDIR)/juce_audio_devices.a
endif
STANDALONE_LIBS += $(MODULEDIR)/juce_audio_processors.a STANDALONE_LIBS += $(MODULEDIR)/juce_audio_processors.a
STANDALONE_LIBS += $(MODULEDIR)/juce_core.a STANDALONE_LIBS += $(MODULEDIR)/juce_core.a
STANDALONE_LIBS += $(MODULEDIR)/juce_data_structures.a STANDALONE_LIBS += $(MODULEDIR)/juce_data_structures.a
STANDALONE_LIBS += $(MODULEDIR)/juce_events.a STANDALONE_LIBS += $(MODULEDIR)/juce_events.a
STANDALONE_LIBS += $(MODULEDIR)/juce_graphics.a STANDALONE_LIBS += $(MODULEDIR)/juce_graphics.a
STANDALONE_LIBS += $(MODULEDIR)/juce_gui_basics.a STANDALONE_LIBS += $(MODULEDIR)/juce_gui_basics.a
ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
STANDALONE_LIBS += $(MODULEDIR)/juce_gui_extra.a STANDALONE_LIBS += $(MODULEDIR)/juce_gui_extra.a
endif endif
else
endif

ifneq ($(USING_JUCE_AUDIO_DEVICES),true)
STANDALONE_LIBS += $(MODULEDIR)/rtaudio.a STANDALONE_LIBS += $(MODULEDIR)/rtaudio.a
STANDALONE_LIBS += $(MODULEDIR)/rtmidi.a STANDALONE_LIBS += $(MODULEDIR)/rtmidi.a
endif endif
@@ -70,17 +74,21 @@ STANDALONE_LINK_FLAGS += $(X11_LIBS)


ifeq ($(USING_JUCE),true) ifeq ($(USING_JUCE),true)
STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS)
ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_DEVICES_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_DEVICES_LIBS)
endif
STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_CORE_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_CORE_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_EVENTS_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_EVENTS_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_GRAPHICS_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
STANDALONE_LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
STANDALONE_LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS) STANDALONE_LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS)
endif endif
else
endif

ifneq ($(USING_JUCE_AUDIO_DEVICES),true)
STANDALONE_LINK_FLAGS += $(RTAUDIO_LIBS) STANDALONE_LINK_FLAGS += $(RTAUDIO_LIBS)
STANDALONE_LINK_FLAGS += $(RTMIDI_LIBS) STANDALONE_LINK_FLAGS += $(RTMIDI_LIBS)
endif endif


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

@@ -23,6 +23,7 @@
*/ */


#include "CarlaEngineClient.hpp" #include "CarlaEngineClient.hpp"
#include "CarlaEngineInit.hpp"
#include "CarlaEngineInternal.hpp" #include "CarlaEngineInternal.hpp"
#include "CarlaPlugin.hpp" #include "CarlaPlugin.hpp"


@@ -79,6 +80,7 @@ CarlaEngine::~CarlaEngine()
uint CarlaEngine::getDriverCount() uint CarlaEngine::getDriverCount()
{ {
carla_debug("CarlaEngine::getDriverCount()"); carla_debug("CarlaEngine::getDriverCount()");
using namespace EngineInit;


uint count = 0; uint count = 0;


@@ -86,7 +88,7 @@ uint CarlaEngine::getDriverCount()
count += 1; count += 1;


#ifndef BUILD_BRIDGE #ifndef BUILD_BRIDGE
# ifdef USING_JUCE
# ifdef USING_JUCE_AUDIO_DEVICES
count += getJuceApiCount(); count += getJuceApiCount();
# else # else
count += getRtAudioApiCount(); count += getRtAudioApiCount();
@@ -99,6 +101,7 @@ uint CarlaEngine::getDriverCount()
const char* CarlaEngine::getDriverName(const uint index2) const char* CarlaEngine::getDriverName(const uint index2)
{ {
carla_debug("CarlaEngine::getDriverName(%i)", index2); carla_debug("CarlaEngine::getDriverName(%i)", index2);
using namespace EngineInit;


uint index = index2; uint index = index2;


@@ -106,7 +109,7 @@ const char* CarlaEngine::getDriverName(const uint index2)
return "JACK"; return "JACK";


#ifndef BUILD_BRIDGE #ifndef BUILD_BRIDGE
# ifdef USING_JUCE
# ifdef USING_JUCE_AUDIO_DEVICES
if (const uint count = getJuceApiCount()) if (const uint count = getJuceApiCount())
{ {
if (index < count) if (index < count)
@@ -129,6 +132,7 @@ const char* CarlaEngine::getDriverName(const uint index2)
const char* const* CarlaEngine::getDriverDeviceNames(const uint index2) const char* const* CarlaEngine::getDriverDeviceNames(const uint index2)
{ {
carla_debug("CarlaEngine::getDriverDeviceNames(%i)", index2); carla_debug("CarlaEngine::getDriverDeviceNames(%i)", index2);
using namespace EngineInit;


uint index = index2; uint index = index2;


@@ -139,7 +143,7 @@ const char* const* CarlaEngine::getDriverDeviceNames(const uint index2)
} }


#ifndef BUILD_BRIDGE #ifndef BUILD_BRIDGE
# ifdef USING_JUCE
# ifdef USING_JUCE_AUDIO_DEVICES
if (const uint count = getJuceApiCount()) if (const uint count = getJuceApiCount())
{ {
if (index < count) if (index < count)
@@ -162,6 +166,7 @@ const char* const* CarlaEngine::getDriverDeviceNames(const uint index2)
const EngineDriverDeviceInfo* CarlaEngine::getDriverDeviceInfo(const uint index2, const char* const deviceName) const EngineDriverDeviceInfo* CarlaEngine::getDriverDeviceInfo(const uint index2, const char* const deviceName)
{ {
carla_debug("CarlaEngine::getDriverDeviceInfo(%i, \"%s\")", index2, deviceName); carla_debug("CarlaEngine::getDriverDeviceInfo(%i, \"%s\")", index2, deviceName);
using namespace EngineInit;


uint index = index2; uint index = index2;


@@ -175,7 +180,7 @@ const EngineDriverDeviceInfo* CarlaEngine::getDriverDeviceInfo(const uint index2
} }


#ifndef BUILD_BRIDGE #ifndef BUILD_BRIDGE
# ifdef USING_JUCE
# ifdef USING_JUCE_AUDIO_DEVICES
if (const uint count = getJuceApiCount()) if (const uint count = getJuceApiCount())
{ {
if (index < count) if (index < count)
@@ -198,6 +203,7 @@ const EngineDriverDeviceInfo* CarlaEngine::getDriverDeviceInfo(const uint index2
bool CarlaEngine::showDriverDeviceControlPanel(const uint index2, const char* const deviceName) bool CarlaEngine::showDriverDeviceControlPanel(const uint index2, const char* const deviceName)
{ {
carla_debug("CarlaEngine::showDriverDeviceControlPanel(%i, \"%s\")", index2, deviceName); carla_debug("CarlaEngine::showDriverDeviceControlPanel(%i, \"%s\")", index2, deviceName);
using namespace EngineInit;


uint index = index2; uint index = index2;


@@ -207,7 +213,7 @@ bool CarlaEngine::showDriverDeviceControlPanel(const uint index2, const char* co
} }


#ifndef BUILD_BRIDGE #ifndef BUILD_BRIDGE
# ifdef USING_JUCE
# ifdef USING_JUCE_AUDIO_DEVICES
if (const uint count = getJuceApiCount()) if (const uint count = getJuceApiCount())
{ {
if (index < count) if (index < count)
@@ -231,6 +237,7 @@ CarlaEngine* CarlaEngine::newDriverByName(const char* const driverName)
{ {
CARLA_SAFE_ASSERT_RETURN(driverName != nullptr && driverName[0] != '\0', nullptr); CARLA_SAFE_ASSERT_RETURN(driverName != nullptr && driverName[0] != '\0', nullptr);
carla_debug("CarlaEngine::newDriverByName(\"%s\")", driverName); carla_debug("CarlaEngine::newDriverByName(\"%s\")", driverName);
using namespace EngineInit;


if (std::strcmp(driverName, "JACK") == 0) if (std::strcmp(driverName, "JACK") == 0)
return newJack(); return newJack();
@@ -241,7 +248,7 @@ CarlaEngine* CarlaEngine::newDriverByName(const char* const driverName)
#endif #endif


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




+ 10
- 2
source/backend/engine/CarlaEngineBridge.cpp View File

@@ -1,6 +1,6 @@
/* /*
* Carla Plugin Host * Carla Plugin Host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2011-2020 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
@@ -20,6 +20,7 @@
#endif #endif


#include "CarlaEngineClient.hpp" #include "CarlaEngineClient.hpp"
#include "CarlaEngineInit.hpp"
#include "CarlaPlugin.hpp" #include "CarlaPlugin.hpp"


#include "CarlaBackendUtils.hpp" #include "CarlaBackendUtils.hpp"
@@ -1513,11 +1514,18 @@ private:


// ----------------------------------------------------------------------- // -----------------------------------------------------------------------


CarlaEngine* CarlaEngine::newBridge(const char* const audioPoolBaseName, const char* const rtClientBaseName, const char* const nonRtClientBaseName, const char* const nonRtServerBaseName)
namespace EngineInit {

CarlaEngine* newBridge(const char* const audioPoolBaseName,
const char* const rtClientBaseName,
const char* const nonRtClientBaseName,
const char* const nonRtServerBaseName)
{ {
return new CarlaEngineBridge(audioPoolBaseName, rtClientBaseName, nonRtClientBaseName, nonRtServerBaseName); return new CarlaEngineBridge(audioPoolBaseName, rtClientBaseName, nonRtClientBaseName, nonRtServerBaseName);
} }


}

// ----------------------------------------------------------------------- // -----------------------------------------------------------------------


CARLA_BACKEND_END_NAMESPACE CARLA_BACKEND_END_NAMESPACE


+ 8
- 2
source/backend/engine/CarlaEngineDummy.cpp View File

@@ -1,6 +1,6 @@
/* /*
* Carla Plugin Host * Carla Plugin Host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2011-2020 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
@@ -16,6 +16,7 @@
*/ */


#include "CarlaEngineGraph.hpp" #include "CarlaEngineGraph.hpp"
#include "CarlaEngineInit.hpp"
#include "CarlaEngineInternal.hpp" #include "CarlaEngineInternal.hpp"


#include <ctime> #include <ctime>
@@ -279,11 +280,16 @@ private:


// ----------------------------------------- // -----------------------------------------


CarlaEngine* CarlaEngine::newDummy()
namespace EngineInit {

CarlaEngine* newDummy()
{ {
carla_debug("EngineInit::newDummy()");
return new CarlaEngineDummy(); return new CarlaEngineDummy();
} }


}

// ----------------------------------------- // -----------------------------------------


CARLA_BACKEND_END_NAMESPACE CARLA_BACKEND_END_NAMESPACE

+ 7
- 2
source/backend/engine/CarlaEngineJack.cpp View File

@@ -16,6 +16,7 @@
*/ */


#include "CarlaEngineClient.hpp" #include "CarlaEngineClient.hpp"
#include "CarlaEngineInit.hpp"
#include "CarlaEngineInternal.hpp" #include "CarlaEngineInternal.hpp"
#include "CarlaPlugin.hpp" #include "CarlaPlugin.hpp"


@@ -3537,12 +3538,16 @@ private:


// ----------------------------------------------------------------------- // -----------------------------------------------------------------------


CarlaEngine* CarlaEngine::newJack()
namespace EngineInit {

CarlaEngine* newJack()
{ {
carla_debug("CarlaEngine::newJack()");
carla_debug("EngineInit::newJack()");
return new CarlaEngineJack(); return new CarlaEngineJack();
} }


}

// ----------------------------------------------------------------------- // -----------------------------------------------------------------------


CARLA_BACKEND_END_NAMESPACE CARLA_BACKEND_END_NAMESPACE


+ 12
- 15
source/backend/engine/CarlaEngineJuce.cpp View File

@@ -1,6 +1,6 @@
/* /*
* Carla Plugin Host * Carla Plugin Host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2011-2020 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
@@ -16,6 +16,7 @@
*/ */


#include "CarlaEngineGraph.hpp" #include "CarlaEngineGraph.hpp"
#include "CarlaEngineInit.hpp"
#include "CarlaEngineInternal.hpp" #include "CarlaEngineInternal.hpp"
#include "CarlaBackendUtils.hpp" #include "CarlaBackendUtils.hpp"
#include "CarlaStringList.hpp" #include "CarlaStringList.hpp"
@@ -24,17 +25,9 @@


#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push # pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wcast-qual"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wdouble-promotion" # pragma GCC diagnostic ignored "-Wdouble-promotion"
# pragma GCC diagnostic ignored "-Weffc++" # pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wfloat-equal" # pragma GCC diagnostic ignored "-Wfloat-equal"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
# if __GNUC__ > 7
# pragma GCC diagnostic ignored "-Wclass-memaccess"
# endif
#endif #endif


#include "AppConfig.h" #include "AppConfig.h"
@@ -903,7 +896,9 @@ private:


// ----------------------------------------- // -----------------------------------------


CarlaEngine* CarlaEngine::newJuce(const AudioApi api)
namespace EngineInit {

CarlaEngine* newJuce(const AudioApi api)
{ {
initJuceDevicesIfNeeded(); initJuceDevicesIfNeeded();


@@ -956,14 +951,14 @@ CarlaEngine* CarlaEngine::newJuce(const AudioApi api)
return new CarlaEngineJuce(deviceType); return new CarlaEngineJuce(deviceType);
} }


uint CarlaEngine::getJuceApiCount()
uint getJuceApiCount()
{ {
initJuceDevicesIfNeeded(); initJuceDevicesIfNeeded();


return static_cast<uint>(gDeviceTypes.size()); return static_cast<uint>(gDeviceTypes.size());
} }


const char* CarlaEngine::getJuceApiName(const uint uindex)
const char* getJuceApiName(const uint uindex)
{ {
initJuceDevicesIfNeeded(); initJuceDevicesIfNeeded();


@@ -977,7 +972,7 @@ const char* CarlaEngine::getJuceApiName(const uint uindex)
return deviceType->getTypeName().toRawUTF8(); return deviceType->getTypeName().toRawUTF8();
} }


const char* const* CarlaEngine::getJuceApiDeviceNames(const uint uindex)
const char* const* getJuceApiDeviceNames(const uint uindex)
{ {
initJuceDevicesIfNeeded(); initJuceDevicesIfNeeded();


@@ -1006,7 +1001,7 @@ const char* const* CarlaEngine::getJuceApiDeviceNames(const uint uindex)
return gDeviceNames; return gDeviceNames;
} }


const EngineDriverDeviceInfo* CarlaEngine::getJuceDeviceInfo(const uint uindex, const char* const deviceName)
const EngineDriverDeviceInfo* getJuceDeviceInfo(const uint uindex, const char* const deviceName)
{ {
initJuceDevicesIfNeeded(); initJuceDevicesIfNeeded();


@@ -1082,7 +1077,7 @@ const EngineDriverDeviceInfo* CarlaEngine::getJuceDeviceInfo(const uint uindex,
return &devInfo; return &devInfo;
} }


bool CarlaEngine::showJuceDeviceControlPanel(const uint uindex, const char* const deviceName)
bool showJuceDeviceControlPanel(const uint uindex, const char* const deviceName)
{ {
const int index(static_cast<int>(uindex)); const int index(static_cast<int>(uindex));


@@ -1099,6 +1094,8 @@ bool CarlaEngine::showJuceDeviceControlPanel(const uint uindex, const char* cons
return device->showControlPanel(); return device->showControlPanel();
} }


}

// ----------------------------------------- // -----------------------------------------


CARLA_BACKEND_END_NAMESPACE CARLA_BACKEND_END_NAMESPACE

+ 22
- 17
source/backend/engine/CarlaEngineNative.cpp View File

@@ -1,6 +1,6 @@
/* /*
* Carla Plugin Host * Carla Plugin Host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2011-2020 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
@@ -21,6 +21,7 @@
# error This file should not be compiled if building alternative-arch bridges # error This file should not be compiled if building alternative-arch bridges
#endif #endif


#include "CarlaEngineInit.hpp"
#include "CarlaEngineInternal.hpp" #include "CarlaEngineInternal.hpp"
#include "CarlaPlugin.hpp" #include "CarlaPlugin.hpp"


@@ -2720,22 +2721,26 @@ const NativePluginDescriptor* carla_get_native_patchbay_cv_plugin()


CARLA_BACKEND_START_NAMESPACE CARLA_BACKEND_START_NAMESPACE


CarlaEngine* CarlaEngine::newJack() { return nullptr; }

# ifdef USING_JUCE
CarlaEngine* CarlaEngine::newJuce(const AudioApi) { return nullptr; }
uint CarlaEngine::getJuceApiCount() { return 0; }
const char* CarlaEngine::getJuceApiName(const uint) { return nullptr; }
const char* const* CarlaEngine::getJuceApiDeviceNames(const uint) { return nullptr; }
const EngineDriverDeviceInfo* CarlaEngine::getJuceDeviceInfo(const uint, const char* const) { return nullptr; }
bool CarlaEngine::showJuceDeviceControlPanel(const uint, const char* const) { return false; }
# else
CarlaEngine* CarlaEngine::newRtAudio(const AudioApi) { return nullptr; }
uint CarlaEngine::getRtAudioApiCount() { return 0; }
const char* CarlaEngine::getRtAudioApiName(const uint) { return nullptr; }
const char* const* CarlaEngine::getRtAudioApiDeviceNames(const uint) { return nullptr; }
const EngineDriverDeviceInfo* CarlaEngine::getRtAudioDeviceInfo(const uint, const char* const) { return nullptr; }
# endif
namespace EngineInit {

CarlaEngine* newJack() { return nullptr; }

#ifdef USING_JUCE_AUDIO_DEVICES
CarlaEngine* newJuce(const AudioApi) { return nullptr; }
uint getJuceApiCount() { return 0; }
const char* getJuceApiName(const uint) { return nullptr; }
const char* const* getJuceApiDeviceNames(const uint) { return nullptr; }
const EngineDriverDeviceInfo* getJuceDeviceInfo(const uint, const char* const) { return nullptr; }
bool showJuceDeviceControlPanel(const uint, const char* const) { return false; }
#else
CarlaEngine* newRtAudio(const AudioApi) { return nullptr; }
uint getRtAudioApiCount() { return 0; }
const char* getRtAudioApiName(const uint) { return nullptr; }
const char* const* getRtAudioApiDeviceNames(const uint) { return nullptr; }
const EngineDriverDeviceInfo* getRtAudioDeviceInfo(const uint, const char* const) { return nullptr; }
#endif

}


CARLA_BACKEND_END_NAMESPACE CARLA_BACKEND_END_NAMESPACE




+ 11
- 6
source/backend/engine/CarlaEngineRtAudio.cpp View File

@@ -1,6 +1,6 @@
/* /*
* Carla Plugin Host * Carla Plugin Host
* Copyright (C) 2011-2019 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2011-2020 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
@@ -16,6 +16,7 @@
*/ */


#include "CarlaEngineGraph.hpp" #include "CarlaEngineGraph.hpp"
#include "CarlaEngineInit.hpp"
#include "CarlaEngineInternal.hpp" #include "CarlaEngineInternal.hpp"
#include "CarlaBackendUtils.hpp" #include "CarlaBackendUtils.hpp"
#include "CarlaMathUtils.hpp" #include "CarlaMathUtils.hpp"
@@ -1134,7 +1135,9 @@ private:


// ----------------------------------------- // -----------------------------------------


CarlaEngine* CarlaEngine::newRtAudio(const AudioApi api)
namespace EngineInit {

CarlaEngine* newRtAudio(const AudioApi api)
{ {
initRtAudioAPIsIfNeeded(); initRtAudioAPIsIfNeeded();


@@ -1174,14 +1177,14 @@ CarlaEngine* CarlaEngine::newRtAudio(const AudioApi api)
return new CarlaEngineRtAudio(rtApi); return new CarlaEngineRtAudio(rtApi);
} }


uint CarlaEngine::getRtAudioApiCount()
uint getRtAudioApiCount()
{ {
initRtAudioAPIsIfNeeded(); initRtAudioAPIsIfNeeded();


return static_cast<uint>(gRtAudioApis.size()); return static_cast<uint>(gRtAudioApis.size());
} }


const char* CarlaEngine::getRtAudioApiName(const uint index)
const char* getRtAudioApiName(const uint index)
{ {
initRtAudioAPIsIfNeeded(); initRtAudioAPIsIfNeeded();


@@ -1190,7 +1193,7 @@ const char* CarlaEngine::getRtAudioApiName(const uint index)
return CarlaBackend::getRtAudioApiName(gRtAudioApis[index]); return CarlaBackend::getRtAudioApiName(gRtAudioApis[index]);
} }


const char* const* CarlaEngine::getRtAudioApiDeviceNames(const uint index)
const char* const* getRtAudioApiDeviceNames(const uint index)
{ {
initRtAudioAPIsIfNeeded(); initRtAudioAPIsIfNeeded();


@@ -1223,7 +1226,7 @@ const char* const* CarlaEngine::getRtAudioApiDeviceNames(const uint index)
return gDeviceNames; return gDeviceNames;
} }


const EngineDriverDeviceInfo* CarlaEngine::getRtAudioDeviceInfo(const uint index, const char* const deviceName)
const EngineDriverDeviceInfo* getRtAudioDeviceInfo(const uint index, const char* const deviceName)
{ {
initRtAudioAPIsIfNeeded(); initRtAudioAPIsIfNeeded();


@@ -1316,6 +1319,8 @@ const EngineDriverDeviceInfo* CarlaEngine::getRtAudioDeviceInfo(const uint index
return &devInfo; return &devInfo;
} }


}

// ----------------------------------------- // -----------------------------------------


CARLA_BACKEND_END_NAMESPACE CARLA_BACKEND_END_NAMESPACE

+ 2
- 2
source/backend/engine/Makefile View File

@@ -9,7 +9,7 @@ include ../Makefile.mk


# Workaround GCC bug # Workaround GCC bug
ifeq ($(TESTBUILD),true) ifeq ($(TESTBUILD),true)
ifeq ($(USING_JUCE),true)
ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
BUILD_CXX_FLAGS += -Wno-undef BUILD_CXX_FLAGS += -Wno-undef
endif endif
endif endif
@@ -37,7 +37,7 @@ OBJSa = $(OBJS) \
$(OBJDIR)/CarlaEngineJack.cpp.o \ $(OBJDIR)/CarlaEngineJack.cpp.o \
$(OBJDIR)/CarlaEngineNative.cpp.o $(OBJDIR)/CarlaEngineNative.cpp.o


ifeq ($(USING_JUCE),true)
ifeq ($(USING_JUCE_AUDIO_DEVICES),true)
OBJSa += \ OBJSa += \
$(OBJDIR)/CarlaEngineJuce.cpp.o $(OBJDIR)/CarlaEngineJuce.cpp.o
else else


+ 0
- 9
source/backend/plugin/CarlaPluginJuce.cpp View File

@@ -26,18 +26,9 @@


#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push # pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wcast-qual"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wdouble-promotion" # pragma GCC diagnostic ignored "-Wdouble-promotion"
# pragma GCC diagnostic ignored "-Weffc++" # pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wfloat-equal" # pragma GCC diagnostic ignored "-Wfloat-equal"
# pragma GCC diagnostic ignored "-Woverloaded-virtual"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
# if __GNUC__ > 7
# pragma GCC diagnostic ignored "-Wclass-memaccess"
# endif
#endif #endif


#define JUCE_GUI_BASICS_INCLUDE_XHEADERS 1 #define JUCE_GUI_BASICS_INCLUDE_XHEADERS 1


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

@@ -11,6 +11,8 @@ include ../Makefile.mk
ifeq ($(TESTBUILD),true) ifeq ($(TESTBUILD),true)
ifeq ($(USING_JUCE),true) ifeq ($(USING_JUCE),true)
BUILD_CXX_FLAGS += -Wno-undef BUILD_CXX_FLAGS += -Wno-undef
# FIXME
BUILD_CXX_FLAGS += -Wno-deprecated-declarations
endif endif
endif endif




+ 3
- 1
source/bridges-plugin/Makefile View File

@@ -12,6 +12,8 @@ include $(CWD)/Makefile.mk
ifeq ($(TESTBUILD),true) ifeq ($(TESTBUILD),true)
ifeq ($(USING_JUCE),true) ifeq ($(USING_JUCE),true)
BUILD_CXX_FLAGS += -Wno-undef BUILD_CXX_FLAGS += -Wno-undef
# FIXME
BUILD_CXX_FLAGS += -Wno-deprecated-declarations
endif endif
endif endif


@@ -125,7 +127,7 @@ LIBS_win32 += $(MODULEDIR)/juce_gui_basics.win32.a
LIBS_win64 += $(MODULEDIR)/juce_gui_basics.win64.a LIBS_win64 += $(MODULEDIR)/juce_gui_basics.win64.a
LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS) LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)


ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
LIBS_native += $(MODULEDIR)/juce_gui_extra.a LIBS_native += $(MODULEDIR)/juce_gui_extra.a
LIBS_posix32 += $(MODULEDIR)/juce_gui_extra.posix32.a LIBS_posix32 += $(MODULEDIR)/juce_gui_extra.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_gui_extra.posix64.a LIBS_posix64 += $(MODULEDIR)/juce_gui_extra.posix64.a


+ 11
- 2
source/discovery/Makefile View File

@@ -14,6 +14,13 @@ CWD=..
MODULENAME=carla-discovery MODULENAME=carla-discovery
include $(CWD)/Makefile.mk include $(CWD)/Makefile.mk


# Workaround GCC bug
ifeq ($(TESTBUILD),true)
ifeq ($(USING_JUCE),true)
BUILD_CXX_FLAGS += -Wno-undef
endif
endif

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


BINDIR := $(CWD)/../bin BINDIR := $(CWD)/../bin
@@ -117,12 +124,14 @@ LIBS_win32 += $(MODULEDIR)/juce_gui_basics.win32.a
LIBS_win64 += $(MODULEDIR)/juce_gui_basics.win64.a LIBS_win64 += $(MODULEDIR)/juce_gui_basics.win64.a
LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS) LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)


ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
LIBS_native += $(MODULEDIR)/juce_gui_extra.a LIBS_native += $(MODULEDIR)/juce_gui_extra.a
LIBS_posix32 += $(MODULEDIR)/juce_gui_extra.posix32.a LIBS_posix32 += $(MODULEDIR)/juce_gui_extra.posix32.a
LIBS_posix64 += $(MODULEDIR)/juce_gui_extra.posix64.a LIBS_posix64 += $(MODULEDIR)/juce_gui_extra.posix64.a
LIBS_win32 += $(MODULEDIR)/juce_gui_extra.win32.a
LIBS_win64 += $(MODULEDIR)/juce_gui_extra.win64.a
LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS) LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS)
endif # MACOS
endif # USING_JUCE_GUI_EXTRA
endif # USING_JUCE endif # USING_JUCE


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


+ 9
- 0
source/discovery/carla-discovery.cpp View File

@@ -26,11 +26,20 @@
#endif #endif


#ifdef USING_JUCE #ifdef USING_JUCE
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wdouble-promotion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wfloat-equal"
# endif
# include "AppConfig.h" # include "AppConfig.h"
# include "juce_audio_processors/juce_audio_processors.h" # include "juce_audio_processors/juce_audio_processors.h"
# if JUCE_PLUGINHOST_VST # if JUCE_PLUGINHOST_VST
# define USING_JUCE_FOR_VST2 # define USING_JUCE_FOR_VST2
# endif # endif
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
# endif
#endif #endif


#include "CarlaLadspaUtils.hpp" #include "CarlaLadspaUtils.hpp"


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

@@ -59,16 +59,16 @@
#define JUCE_MODULE_AVAILABLE_juce_video 0 #define JUCE_MODULE_AVAILABLE_juce_video 0
// conditional // conditional
#ifdef APPCONFIG_OS_MAC
# define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
#if defined(USING_JUCE_AUDIO_DEVICES) && !defined(BUILD_BRIDGE)
# define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
#else #else
# define JUCE_MODULE_AVAILABLE_juce_gui_extra 0
# define JUCE_MODULE_AVAILABLE_juce_audio_devices 0
#endif #endif
#ifndef BUILD_BRIDGE
# define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
#ifdef USING_JUCE_GUI_EXTRA
# define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
#else #else
# define JUCE_MODULE_AVAILABLE_juce_audio_devices 0
# define JUCE_MODULE_AVAILABLE_juce_gui_extra 0
#endif #endif
// misc // misc


+ 1
- 1
source/modules/juce_audio_basics/midi/juce_MidiMessage.h View File

@@ -945,7 +945,7 @@ private:
#endif #endif
inline bool isHeapAllocated() const noexcept { return size > (int) sizeof (packedData); } inline bool isHeapAllocated() const noexcept { return size > (int) sizeof (packedData); }
inline uint8* getData() const noexcept { return isHeapAllocated() ? packedData.allocatedData : (uint8*) packedData.asBytes; }
inline uint8* getData() const noexcept { return isHeapAllocated() ? packedData.allocatedData : const_cast<uint8*>(packedData.asBytes); }
uint8* allocateSpace (int); uint8* allocateSpace (int);
}; };


+ 2
- 2
source/plugin/Makefile View File

@@ -81,7 +81,7 @@ LIBS += $(MODULEDIR)/juce_data_structures.a
LIBS += $(MODULEDIR)/juce_events.a LIBS += $(MODULEDIR)/juce_events.a
LIBS += $(MODULEDIR)/juce_graphics.a LIBS += $(MODULEDIR)/juce_graphics.a
LIBS += $(MODULEDIR)/juce_gui_basics.a LIBS += $(MODULEDIR)/juce_gui_basics.a
ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
LIBS += $(MODULEDIR)/juce_gui_extra.a LIBS += $(MODULEDIR)/juce_gui_extra.a
endif endif
endif endif
@@ -110,7 +110,7 @@ LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS)
LINK_FLAGS += $(JUCE_EVENTS_LIBS) LINK_FLAGS += $(JUCE_EVENTS_LIBS)
LINK_FLAGS += $(JUCE_GRAPHICS_LIBS) LINK_FLAGS += $(JUCE_GRAPHICS_LIBS)
LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS) LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
ifeq ($(LINUX_OR_MACOS),true)
ifeq ($(USING_JUCE_GUI_EXTRA),true)
LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS) LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS)
endif endif
endif endif


Loading…
Cancel
Save