Browse Source

Handle strict build for code that targets juce stuff; Cleanup

Signed-off-by: falkTX <falktx@gmail.com>
tags/v2.1-alpha2
falkTX 5 years ago
parent
commit
579dea61db
Signed by: falkTX <falktx@gmail.com> GPG Key ID: 2D3445A829213837
18 changed files with 227 additions and 74 deletions
  1. +1
    -1
      source/Makefile.mk
  2. +12
    -5
      source/backend/CarlaStandalone.cpp
  3. +7
    -0
      source/backend/Makefile.mk
  4. +27
    -8
      source/backend/engine/CarlaEngineJuce.cpp
  5. +26
    -12
      source/backend/engine/CarlaEngineNative.cpp
  6. +7
    -0
      source/backend/engine/Makefile
  7. +32
    -10
      source/backend/plugin/CarlaPluginJuce.cpp
  8. +1
    -1
      source/backend/plugin/CarlaPluginVST2.cpp
  9. +7
    -0
      source/backend/plugin/Makefile
  10. +12
    -18
      source/backend/utils/Information.cpp
  11. +18
    -3
      source/bridges-plugin/CarlaBridgePlugin.cpp
  12. +17
    -1
      source/bridges-plugin/CarlaBridgeSingleLV2.cpp
  13. +7
    -0
      source/bridges-plugin/Makefile
  14. +7
    -4
      source/bridges-ui/CarlaBridgeToolkitQt.cpp
  15. +7
    -0
      source/plugin/Makefile
  16. +17
    -3
      source/plugin/carla-lv2.cpp
  17. +17
    -3
      source/plugin/carla-vst.cpp
  18. +5
    -5
      source/utils/JucePluginWindow.hpp

+ 1
- 1
source/Makefile.mk View File

@@ -172,7 +172,7 @@ endif
ifeq ($(TESTBUILD),true)
BASE_FLAGS += -Werror -Wabi=98 -Wcast-qual -Wclobbered -Wconversion -Wdisabled-optimization
BASE_FLAGS += -Wdouble-promotion -Wfloat-equal -Wlogical-op -Wpointer-arith -Wsign-conversion
BASE_FLAGS += -Wformat=2 -Woverlength-strings
BASE_FLAGS += -Wformat=2 -Woverlength-strings -Wstringop-overflow=4 -Wstringop-truncation
BASE_FLAGS += -Wmissing-declarations -Wredundant-decls
BASE_FLAGS += -Wshadow -Wundef -Wuninitialized -Wunused
BASE_FLAGS += -Wstrict-aliasing -fstrict-aliasing


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

@@ -38,13 +38,20 @@
#endif

#ifdef USING_JUCE
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# endif

# 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"
# include "juce_events/juce_events.h"
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
# endif
# include "juce_core/juce_core.h"
#endif

#define CARLA_SAFE_ASSERT_WITH_LAST_ERROR_RETURN(cond, msg, ret) \


+ 7
- 0
source/backend/Makefile.mk View File

@@ -10,6 +10,13 @@ endif

include $(CWD)/Makefile.mk

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

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

BINDIR := $(CWD)/../bin


+ 27
- 8
source/backend/engine/CarlaEngineJuce.cpp View File

@@ -22,9 +22,26 @@

#include "RtLinkedList.hpp"

#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wcast-qual"
# pragma GCC diagnostic ignored "-Wclass-memaccess"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wdouble-promotion"
# pragma GCC diagnostic ignored "-Weffc++"
# 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"
#endif

#include "AppConfig.h"
#include "juce_audio_devices/juce_audio_devices.h"

#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
#endif

CARLA_BACKEND_START_NAMESPACE

// -------------------------------------------------------------------------------------------------------------------
@@ -295,8 +312,7 @@ public:
{
CARLA_SAFE_ASSERT_RETURN(graph != nullptr, false);

char strBuf[STR_MAX+1];
strBuf[STR_MAX] = '\0';
char strBuf[STR_MAX];

ExternalGraph& extGraph(graph->extGraph);

@@ -385,7 +401,8 @@ public:
ConnectionToId connectionToId;
connectionToId.setData(++(extGraph.connections.lastId), kExternalGraphGroupMidiIn, portId, kExternalGraphGroupCarla, kExternalGraphCarlaPortMidiIn);

std::snprintf(strBuf, STR_MAX, "%i:%i:%i:%i", connectionToId.groupA, connectionToId.portA, connectionToId.groupB, connectionToId.portB);
std::snprintf(strBuf, STR_MAX-1, "%i:%i:%i:%i", connectionToId.groupA, connectionToId.portA, connectionToId.groupB, connectionToId.portB);
strBuf[STR_MAX-1] = '\0';

callback(ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED, connectionToId.id, 0, 0, 0.0f, strBuf);

@@ -405,7 +422,8 @@ public:
ConnectionToId connectionToId;
connectionToId.setData(++(extGraph.connections.lastId), kExternalGraphGroupCarla, kExternalGraphCarlaPortMidiOut, kExternalGraphGroupMidiOut, portId);

std::snprintf(strBuf, STR_MAX, "%i:%i:%i:%i", connectionToId.groupA, connectionToId.portA, connectionToId.groupB, connectionToId.portB);
std::snprintf(strBuf, STR_MAX-1, "%i:%i:%i:%i", connectionToId.groupA, connectionToId.portA, connectionToId.groupB, connectionToId.portB);
strBuf[STR_MAX-1] = '\0';

callback(ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED, connectionToId.id, 0, 0, 0.0f, strBuf);

@@ -444,7 +462,10 @@ protected:
void audioDeviceIOCallback(const float** inputChannelData, int numInputChannels, float** outputChannelData,
int numOutputChannels, int numSamples) override
{
const PendingRtEventsRunner prt(this, numSamples);
CARLA_SAFE_ASSERT_RETURN(numSamples >= 0,);

const uint32_t nframes(static_cast<uint32_t>(numSamples));
const PendingRtEventsRunner prt(this, nframes);

// assert juce buffers
CARLA_SAFE_ASSERT_RETURN(numInputChannels >= 0,);
@@ -452,11 +473,9 @@ protected:
CARLA_SAFE_ASSERT_RETURN(outputChannelData != nullptr,);
CARLA_SAFE_ASSERT_RETURN(numSamples == static_cast<int>(pData->bufferSize),);

const uint32_t nframes(static_cast<uint32_t>(numSamples));

// initialize juce output
for (int i=0; i < numOutputChannels; ++i)
carla_zeroFloats(outputChannelData[i], numSamples);
carla_zeroFloats(outputChannelData[i], nframes);

// initialize events
carla_zeroStructs(pData->events.in, kMaxEngineEventInternalCount);


+ 26
- 12
source/backend/engine/CarlaEngineNative.cpp View File

@@ -36,9 +36,20 @@
#include "CarlaNativePlugin.h"

#if defined(USING_JUCE) && ! (defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN))
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
# endif
# include "AppConfig.h"
# include "juce_events/juce_events.h"
# define USE_JUCE_MESSAGE_THREAD
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
# endif
#endif

#include "water/files/File.h"
@@ -108,6 +119,8 @@ protected:

private:
volatile bool initialised;

CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SharedJuceMessageThread);
};
#endif

@@ -649,23 +662,24 @@ public:
const uint32_t inChan = 2, uint32_t outChan = 2)
: CarlaEngine(),
pHost(host),
#ifdef USE_JUCE_MESSAGE_THREAD
// if not running inside Carla, we will have to run event loop ourselves
kNeedsJuceMsgThread(host->dispatcher(pHost->handle,
NATIVE_HOST_OPCODE_INTERNAL_PLUGIN, 0, 0, nullptr, 0.0f) == 0),
fJuceMsgThread(),
#endif
kIsPatchbay(isPatchbay),
kHasMidiOut(withMidiOut),
fIsActive(false),
fIsRunning(false),
fUiServer(this),
fOptionsForced(false)
#ifdef USE_JUCE_MESSAGE_THREAD
// if not running inside Carla, we will have to run event loop ourselves
, kNeedsJuceMsgThread(host->dispatcher(pHost->handle,
NATIVE_HOST_OPCODE_INTERNAL_PLUGIN, 0, 0, nullptr, 0.0f) == 0)
#endif
{
carla_debug("CarlaEngineNative::CarlaEngineNative()");

#ifdef USE_JUCE_MESSAGE_THREAD
if (kNeedsJuceMsgThread)
sJuceMsgThread->incRef();
fJuceMsgThread->incRef();
#endif

pData->bufferSize = pHost->get_buffer_size(pHost->handle);
@@ -727,7 +741,7 @@ public:

#ifdef USE_JUCE_MESSAGE_THREAD
if (kNeedsJuceMsgThread)
sJuceMsgThread->decRef();
fJuceMsgThread->decRef();
#endif

carla_debug("CarlaEngineNative::~CarlaEngineNative() - END");
@@ -2078,6 +2092,11 @@ public:
private:
const NativeHostDescriptor* const pHost;

#ifdef USE_JUCE_MESSAGE_THREAD
const bool kNeedsJuceMsgThread;
const juce::SharedResourcePointer<SharedJuceMessageThread> fJuceMsgThread;
#endif

const bool kIsPatchbay; // rack if false
const bool kHasMidiOut;
bool fIsActive, fIsRunning;
@@ -2085,11 +2104,6 @@ private:

bool fOptionsForced;

#ifdef USE_JUCE_MESSAGE_THREAD
const bool kNeedsJuceMsgThread;
const juce::SharedResourcePointer<SharedJuceMessageThread> sJuceMsgThread;
#endif

CarlaPlugin* _getFirstPlugin() const noexcept
{
if (pData->curPluginCount == 0 || pData->plugins == nullptr)


+ 7
- 0
source/backend/engine/Makefile View File

@@ -7,6 +7,13 @@
CWD=../..
include ../Makefile.mk

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

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

OBJS = \


+ 32
- 10
source/backend/plugin/CarlaPluginJuce.cpp View File

@@ -22,10 +22,30 @@

#include "CarlaBackendUtils.hpp"
#include "CarlaMathUtils.hpp"
#include "JucePluginWindow.hpp"

#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wcast-qual"
# pragma GCC diagnostic ignored "-Wclass-memaccess"
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Wdouble-promotion"
# pragma GCC diagnostic ignored "-Weffc++"
# 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"
#endif

#include "AppConfig.h"
#include "juce_audio_processors/juce_audio_processors.h"
#include "juce_gui_basics/juce_gui_basics.h"

#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
#endif

#include "JucePluginWindow.hpp"

namespace juce {
extern bool juce_isRunningInWine();
@@ -54,6 +74,7 @@ public:
fMidiBuffer(),
fPosInfo(),
fChunk(),
fFormatName(),
fWindow()
{
carla_debug("CarlaPluginJuce::CarlaPluginJuce(%p, %i)", engine, id);
@@ -281,12 +302,10 @@ public:

int32_t* const set = (int32_t*)dataCompat;

dataCompat[39] = dataSize;

set[0] = (int32_t)juce::ByteOrder::littleEndianInt("CcnK");
set[2] = (int32_t)juce::ByteOrder::littleEndianInt("FBCh");
set[3] = fxbSwap(1);
set[39] = fxbSwap(dataSize);
set[39] = fxbSwap(static_cast<int32_t>(dataSize));

{
const ScopedSingleProcessLocker spl(this, true);
@@ -714,7 +733,7 @@ public:
{
// disable any output sound
for (uint32_t i=0; i < pData->audioOut.count; ++i)
carla_zeroFloats(audioOut[i], static_cast<int>(frames));
carla_zeroFloats(audioOut[i], frames);
return;
}

@@ -977,9 +996,12 @@ public:

if (timeInfo.bbt.valid)
{
const double ppqBar = double(timeInfo.bbt.bar - 1) * timeInfo.bbt.beatsPerBar;
const double ppqBeat = double(timeInfo.bbt.beat - 1);
const double ppqTick = double(timeInfo.bbt.tick) / timeInfo.bbt.ticksPerBeat;
CARLA_SAFE_ASSERT_INT(timeInfo.bbt.bar > 0, timeInfo.bbt.bar);
CARLA_SAFE_ASSERT_INT(timeInfo.bbt.beat > 0, timeInfo.bbt.beat);

const double ppqBar = static_cast<double>(timeInfo.bbt.beatsPerBar) * (timeInfo.bbt.bar - 1);
const double ppqBeat = static_cast<double>(timeInfo.bbt.beat - 1);
const double ppqTick = timeInfo.bbt.tick / timeInfo.bbt.ticksPerBeat;

fPosInfo.bpm = timeInfo.bbt.beatsPerMinute;

@@ -1022,7 +1044,7 @@ public:
else if (! pData->singleMutex.tryLock())
{
for (uint32_t i=0; i < pData->audioOut.count; ++i)
carla_zeroFloats(outBuffer[i], static_cast<int>(frames));
carla_zeroFloats(outBuffer[i], frames);
return false;
}

@@ -1041,7 +1063,7 @@ public:
// Set audio out buffers

for (uint32_t i=0; i < pData->audioOut.count; ++i)
carla_copyFloats(outBuffer[i], fAudioBuffer.getReadPointer(static_cast<int>(i)), static_cast<int>(frames));
carla_copyFloats(outBuffer[i], fAudioBuffer.getReadPointer(static_cast<int>(i)), frames);

// --------------------------------------------------------------------------------------------------------
// Midi out


+ 1
- 1
source/backend/plugin/CarlaPluginVST2.cpp View File

@@ -1167,7 +1167,7 @@ public:
CARLA_SAFE_ASSERT_INT(timeInfo.bbt.beat > 0, timeInfo.bbt.beat);

const double ppqBar = static_cast<double>(timeInfo.bbt.beatsPerBar) * (timeInfo.bbt.bar - 1);
const double ppqBeat = static_cast<double>(timeInfo.bbt.beat - 1.0);
const double ppqBeat = static_cast<double>(timeInfo.bbt.beat - 1);
const double ppqTick = timeInfo.bbt.tick / timeInfo.bbt.ticksPerBeat;

// PPQ Pos


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

@@ -7,6 +7,13 @@
CWD=../..
include ../Makefile.mk

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

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

OBJS = \


+ 12
- 18
source/backend/utils/Information.cpp View File

@@ -1,6 +1,6 @@
/*
* Carla Plugin Host
* Copyright (C) 2011-2018 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
* modify it under the terms of the GNU General Public License as
@@ -24,31 +24,25 @@
# include <fluidsynth.h>
#endif

#ifdef USING_JUCE
# include "AppConfig.h"
# include "juce_core/juce_core.h"
#else

#if defined(__clang__)
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wconversion"
# pragma clang diagnostic ignored "-Weffc++"
#elif 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 ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
#endif

#include "rtaudio/RtAudio.h"
#include "rtmidi/RtMidi.h"

#if defined(__clang__)
# pragma clang diagnostic pop
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
#ifdef USING_JUCE
# include "AppConfig.h"
# include "juce_core/juce_core.h"
#else
# include "rtaudio/RtAudio.h"
# include "rtmidi/RtMidi.h"
#endif

#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
#endif

#include "water/files/File.h"


+ 18
- 3
source/bridges-plugin/CarlaBridgePlugin.cpp View File

@@ -43,12 +43,23 @@
#endif

#ifdef USING_JUCE
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
# endif
# 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
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
# endif
#endif

#include "jackbridge/JackBridge.hpp"
@@ -186,6 +197,9 @@ public:
CarlaBridgePlugin(const bool useBridge, const char* const clientName, const char* const audioPoolBaseName,
const char* const rtClientBaseName, const char* const nonRtClientBaseName, const char* const nonRtServerBaseName)
: fEngine(nullptr),
#ifdef USING_JUCE
fJuceInitialiser(),
#endif
fUsingBridge(false),
fUsingExec(false)
{
@@ -300,13 +314,14 @@ protected:

private:
const CarlaEngine* fEngine;
bool fUsingBridge;
bool fUsingExec;

#ifdef USING_JUCE
const juce::ScopedJuceInitialiser_GUI sJuceInitialiser;
const juce::ScopedJuceInitialiser_GUI fJuceInitialiser;
#endif

bool fUsingBridge;
bool fUsingExec;

static void callback(void* ptr, EngineCallbackOpcode action, unsigned int pluginId, int value1, int value2, float value3, const char* valueStr)
{
carla_debug("CarlaBridgePlugin::callback(%p, %i:%s, %i, %i, %i, %f, \"%s\")", ptr, action, EngineCallbackOpcode2Str(action), pluginId, value1, value2, value3, valueStr);


+ 17
- 1
source/bridges-plugin/CarlaBridgeSingleLV2.cpp View File

@@ -28,8 +28,21 @@
#include "CarlaUtils.h"

#ifdef USING_JUCE
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
# endif

# include "AppConfig.h"
# include "juce_events/juce_events.h"

# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
# endif
#endif

#include "water/files/File.h"
@@ -55,6 +68,9 @@ public:
: Lv2PluginBaseClass<EngineTimeInfo>(sampleRate, features),
fPlugin(nullptr),
fUiName()
#ifdef USING_JUCE
, fJuceInitialiser()
#endif
{
CARLA_SAFE_ASSERT_RETURN(pData->curPluginCount == 0,)
CARLA_SAFE_ASSERT_RETURN(pData->plugins == nullptr,);
@@ -473,7 +489,7 @@ private:
CarlaString fUiName;

#ifdef USING_JUCE
juce::SharedResourcePointer<juce::ScopedJuceInitialiser_GUI> sJuceInitialiser;
juce::SharedResourcePointer<juce::ScopedJuceInitialiser_GUI> fJuceInitialiser;
#endif

void updateParameterOutputs() noexcept


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

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

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

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

BINDIR := $(CWD)/../bin


+ 7
- 4
source/bridges-ui/CarlaBridgeToolkitQt.cpp View File

@@ -286,10 +286,9 @@ CARLA_BRIDGE_UI_END_NAMESPACE

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

#if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
// missing declaration
int qInitResources();
int qCleanupResources();
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wmissing-declarations"
#endif

#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
@@ -298,4 +297,8 @@ int qCleanupResources();
# include "resources.qt4.cpp"
#endif

#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
#endif

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

+ 7
- 0
source/plugin/Makefile View File

@@ -7,6 +7,13 @@
CWD=..
include $(CWD)/Makefile.mk

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

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

BINDIR := $(CWD)/../bin


+ 17
- 3
source/plugin/carla-lv2.cpp View File

@@ -24,8 +24,19 @@
#include "CarlaString.hpp"

#ifdef USING_JUCE
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
# endif
# include "AppConfig.h"
# include "juce_events/juce_events.h"
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
# endif
#endif

#include "water/files/File.h"
@@ -57,6 +68,9 @@ public:
fProgramDesc({0, 0, nullptr}),
#endif
fMidiEventCount(0),
#ifdef USING_JUCE
fJuceInitialiser(),
#endif
fWorkerUISignal(0)
{
carla_zeroStruct(fHost);
@@ -733,12 +747,12 @@ private:
uint32_t fMidiEventCount;
NativeMidiEvent fMidiEvents[kMaxMidiEvents];

int fWorkerUISignal;

#ifdef USING_JUCE
juce::SharedResourcePointer<juce::ScopedJuceInitialiser_GUI> sJuceInitialiser;
juce::SharedResourcePointer<juce::ScopedJuceInitialiser_GUI> fJuceInitialiser;
#endif

int fWorkerUISignal;

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

#define handlePtr ((NativePlugin*)handle)


+ 17
- 3
source/plugin/carla-vst.cpp View File

@@ -43,8 +43,19 @@
#include "CarlaVstUtils.hpp"

#ifdef USING_JUCE
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wconversion"
# pragma GCC diagnostic ignored "-Weffc++"
# pragma GCC diagnostic ignored "-Wsign-conversion"
# pragma GCC diagnostic ignored "-Wundef"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
# endif
# include "AppConfig.h"
# include "juce_events/juce_events.h"
# if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
# pragma GCC diagnostic pop
# endif
#endif

static uint32_t d_lastBufferSize = 0;
@@ -76,6 +87,9 @@ public:
fUiLauncher(nullptr),
fHostType(kHostTypeNull),
fMidiOutEvents(),
#ifdef USING_JUCE
fJuceInitialiser(),
#endif
fStateChunk(nullptr)
{
fHost.handle = this;
@@ -618,12 +632,12 @@ private:
CARLA_DECLARE_NON_COPY_STRUCT(FixedVstEvents);
} fMidiOutEvents;

char* fStateChunk;

#ifdef USING_JUCE
juce::SharedResourcePointer<juce::ScopedJuceInitialiser_GUI> sJuceInitialiser;
juce::SharedResourcePointer<juce::ScopedJuceInitialiser_GUI> fJuceInitialiser;
#endif

char* fStateChunk;

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

#define handlePtr ((NativePlugin*)handle)


+ 5
- 5
source/utils/JucePluginWindow.hpp View File

@@ -23,9 +23,9 @@
#include "AppConfig.h"
#include "juce_gui_basics/juce_gui_basics.h"

#if JUCE_LINUX && defined(HAVE_X11)
#if defined(CARLA_OS_LINUX) && defined(HAVE_X11)
# include <X11/Xlib.h>
#elif JUCE_MAC
#elif defined(CARLA_OS_MAC)
# import <Cocoa/Cocoa.h>
#endif

@@ -98,7 +98,7 @@ private:
if (fTransientId == 0)
return;

#if JUCE_LINUX && defined(HAVE_X11)
#if defined(CARLA_OS_LINUX) && defined(HAVE_X11)
Display* const display = XWindowSystem::getInstance()->displayRef();
CARLA_SAFE_ASSERT_RETURN(display != nullptr,);

@@ -109,7 +109,7 @@ private:
XSetTransientForHint(display, window, static_cast<::Window>(fTransientId));
#endif

#if JUCE_MAC
#ifdef CARLA_OS_MAC
NSView* const view = (NSView*)getWindowHandle();
CARLA_SAFE_ASSERT_RETURN(view != nullptr,);

@@ -123,7 +123,7 @@ private:
ordered:NSWindowAbove];
#endif

#if JUCE_WINDOWS
#ifdef CARLA_OS_WIN
const HWND window = (HWND)getWindowHandle();
CARLA_SAFE_ASSERT_RETURN(window != nullptr,);



Loading…
Cancel
Save