@@ -1,35 +0,0 @@ | |||
/* | |||
* Carla Bridge | |||
* Copyright (C) 2011-2014 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_BRIDGE_HPP_INCLUDED | |||
#define CARLA_BRIDGE_HPP_INCLUDED | |||
#include "CarlaDefines.h" | |||
#define CARLA_BRIDGE_START_NAMESPACE namespace CarlaBridge { | |||
#define CARLA_BRIDGE_END_NAMESPACE } | |||
#define CARLA_BRIDGE_USE_NAMESPACE using namespace CarlaBridge; | |||
CARLA_BRIDGE_START_NAMESPACE | |||
// forward declarations of commonly used Carla-Bridge classes | |||
class CarlaBridgeUI; | |||
class CarlaBridgeToolkit; | |||
CARLA_BRIDGE_END_NAMESPACE | |||
#endif // CARLA_BRIDGE_HPP_INCLUDED |
@@ -1,6 +1,6 @@ | |||
/* | |||
* Carla Bridge UI | |||
* Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||
* Copyright (C) 2011-2017 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 | |||
@@ -15,11 +15,13 @@ | |||
* For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
*/ | |||
#include "CarlaBridgeUI.hpp" | |||
#include "CarlaMIDI.h" | |||
#include "CarlaBridgeFormat.hpp" | |||
#include "CarlaBridgeToolkit.hpp" | |||
#include "CarlaBase64Utils.hpp" | |||
#include "CarlaMIDI.h" | |||
// FIXME move this into utils | |||
#ifdef CARLA_OS_LINUX | |||
# include <signal.h> | |||
# include <sys/prctl.h> | |||
@@ -33,11 +35,11 @@ | |||
#include "lv2/atom-util.h" | |||
CARLA_BRIDGE_START_NAMESPACE | |||
CARLA_BRIDGE_UI_START_NAMESPACE | |||
// --------------------------------------------------------------------- | |||
CarlaBridgeUI::CarlaBridgeUI() noexcept | |||
CarlaBridgeFormat::CarlaBridgeFormat() noexcept | |||
: CarlaPipeClient(), | |||
fQuitReceived(false), | |||
fGotOptions(false), | |||
@@ -46,16 +48,16 @@ CarlaBridgeUI::CarlaBridgeUI() noexcept | |||
fLib(nullptr), | |||
fLibFilename() | |||
{ | |||
carla_debug("CarlaBridgeUI::CarlaBridgeUI()"); | |||
carla_debug("CarlaBridgeFormat::CarlaBridgeFormat()"); | |||
try { | |||
fToolkit = CarlaBridgeToolkit::createNew(this); | |||
} CARLA_SAFE_EXCEPTION_RETURN("CarlaBridgeToolkit::createNew",); | |||
} | |||
CarlaBridgeUI::~CarlaBridgeUI() /*noexcept*/ | |||
CarlaBridgeFormat::~CarlaBridgeFormat() /*noexcept*/ | |||
{ | |||
carla_debug("CarlaBridgeUI::~CarlaBridgeUI()"); | |||
carla_debug("CarlaBridgeFormat::~CarlaBridgeFormat()"); | |||
if (isPipeRunning() && ! fQuitReceived) | |||
writeExitingMessageAndWait(); | |||
@@ -78,7 +80,7 @@ CarlaBridgeUI::~CarlaBridgeUI() /*noexcept*/ | |||
// --------------------------------------------------------------------- | |||
bool CarlaBridgeUI::libOpen(const char* const filename) noexcept | |||
bool CarlaBridgeFormat::libOpen(const char* const filename) noexcept | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fLib == nullptr, false); | |||
@@ -93,14 +95,14 @@ bool CarlaBridgeUI::libOpen(const char* const filename) noexcept | |||
return false; | |||
} | |||
void* CarlaBridgeUI::libSymbol(const char* const symbol) const noexcept | |||
void* CarlaBridgeFormat::libSymbol(const char* const symbol) const noexcept | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fLib != nullptr, nullptr); | |||
return lib_symbol<void*>(fLib, symbol); | |||
} | |||
const char* CarlaBridgeUI::libError() const noexcept | |||
const char* CarlaBridgeFormat::libError() const noexcept | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fLibFilename.isNotEmpty(), nullptr); | |||
@@ -109,13 +111,13 @@ const char* CarlaBridgeUI::libError() const noexcept | |||
// --------------------------------------------------------------------- | |||
bool CarlaBridgeUI::msgReceived(const char* const msg) noexcept | |||
bool CarlaBridgeFormat::msgReceived(const char* const msg) noexcept | |||
{ | |||
carla_debug("CarlaBridgeUI::msgReceived(\"%s\")", msg); | |||
carla_debug("CarlaBridgeFormat::msgReceived(\"%s\")", msg); | |||
if (! fGotOptions && std::strcmp(msg, "urid") != 0 && std::strcmp(msg, "uiOptions") != 0) | |||
{ | |||
carla_stderr2("CarlaBridgeUI::msgReceived(\"%s\") - invalid message while waiting for options", msg); | |||
carla_stderr2("CarlaBridgeFormat::msgReceived(\"%s\") - invalid message while waiting for options", msg); | |||
return true; | |||
} | |||
@@ -287,13 +289,13 @@ bool CarlaBridgeUI::msgReceived(const char* const msg) noexcept | |||
return true; | |||
} | |||
carla_stderr("CarlaBridgeUI::msgReceived : %s", msg); | |||
carla_stderr("CarlaBridgeFormat::msgReceived : %s", msg); | |||
return false; | |||
} | |||
// --------------------------------------------------------------------- | |||
bool CarlaBridgeUI::init(const int argc, const char* argv[]) | |||
bool CarlaBridgeFormat::init(const int argc, const char* argv[]) | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fToolkit != nullptr, false); | |||
@@ -313,7 +315,7 @@ bool CarlaBridgeUI::init(const int argc, const char* argv[]) | |||
if (! fGotOptions) | |||
{ | |||
carla_stderr2("CarlaBridgeUI::init() - did not get options on time, quitting..."); | |||
carla_stderr2("CarlaBridgeFormat::init() - did not get options on time, quitting..."); | |||
writeExitingMessageAndWait(); | |||
closePipeClient(); | |||
return false; | |||
@@ -330,7 +332,7 @@ bool CarlaBridgeUI::init(const int argc, const char* argv[]) | |||
return true; | |||
} | |||
void CarlaBridgeUI::exec(const bool showUI) | |||
void CarlaBridgeFormat::exec(const bool showUI) | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fToolkit != nullptr,); | |||
@@ -345,7 +347,7 @@ void CarlaBridgeUI::exec(const bool showUI) | |||
// --------------------------------------------------------------------- | |||
CARLA_BRIDGE_END_NAMESPACE | |||
CARLA_BRIDGE_UI_END_NAMESPACE | |||
#include "CarlaPipeUtils.cpp" | |||
@@ -0,0 +1,166 @@ | |||
/* | |||
* Carla Bridge UI | |||
* Copyright (C) 2011-2017 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_BRIDGE_FORMAT_HPP_INCLUDED | |||
#define CARLA_BRIDGE_FORMAT_HPP_INCLUDED | |||
#include "CarlaBridgeUI.hpp" | |||
#include "CarlaLibUtils.hpp" | |||
#include "CarlaPipeUtils.hpp" | |||
#include "CarlaString.hpp" | |||
#include "lv2/atom.h" | |||
#include "lv2/urid.h" | |||
CARLA_BRIDGE_UI_START_NAMESPACE | |||
/*! | |||
* @defgroup CarlaBridgeUIAPI Carla UI Bridge API | |||
* | |||
* The Carla UI Bridge API. | |||
* @{ | |||
*/ | |||
// ----------------------------------------------------------------------- | |||
class CarlaBridgeFormat : public CarlaPipeClient | |||
{ | |||
protected: | |||
/*! | |||
* Constructor. | |||
*/ | |||
CarlaBridgeFormat() noexcept; | |||
/*! | |||
* Destructor. | |||
*/ | |||
virtual ~CarlaBridgeFormat() /*noexcept*/; | |||
// --------------------------------------------------------------------- | |||
bool libOpen(const char* const filename) noexcept; | |||
void* libSymbol(const char* const symbol) const noexcept; | |||
const char* libError() const noexcept; | |||
// --------------------------------------------------------------------- | |||
// DSP Callbacks | |||
virtual void dspParameterChanged(const uint32_t index, const float value) = 0; | |||
virtual void dspProgramChanged(const uint32_t index) = 0; | |||
virtual void dspMidiProgramChanged(const uint32_t bank, const uint32_t program) = 0; | |||
virtual void dspStateChanged(const char* const key, const char* const value) = 0; | |||
virtual void dspNoteReceived(const bool onOff, const uint8_t channel, const uint8_t note, const uint8_t velocity) = 0; | |||
virtual void dspAtomReceived(const uint32_t index, const LV2_Atom* const atom) = 0; | |||
virtual void dspURIDReceived(const LV2_URID urid, const char* const uri) = 0; | |||
virtual void uiOptionsChanged(const double sampleRate, const bool useTheme, const bool useThemeColors, const char* const windowTitle, uintptr_t transientWindowId) = 0; | |||
public: | |||
// --------------------------------------------------------------------- | |||
// UI initialization | |||
virtual bool init(const int argc, const char* argv[]); | |||
virtual void exec(const bool showUI); | |||
virtual void idleUI() {} | |||
// --------------------------------------------------------------------- | |||
// UI management | |||
/*! | |||
* Get the widget associated with this UI. | |||
* This can be a Gtk widget, Qt widget or a native Window handle depending on the compile target. | |||
*/ | |||
virtual void* getWidget() const noexcept = 0; | |||
/*! | |||
* TESTING | |||
*/ | |||
virtual void uiResized(const uint width, const uint height) = 0; | |||
/*! | |||
* Options. | |||
*/ | |||
struct Options { | |||
/*! | |||
* UI is resizable by the user. | |||
* The UI can still sometimes resize itself internally if this is false. | |||
*/ | |||
bool isResizable; | |||
/*! | |||
* Use the Carla PRO theme if possible. | |||
*/ | |||
bool useTheme; | |||
/*! | |||
* Use the Carla PRO theme colors if possible. | |||
* This implies useTheme to be true. | |||
*/ | |||
bool useThemeColors; | |||
/*! | |||
* Window title. | |||
*/ | |||
CarlaString windowTitle; | |||
/*! | |||
* Transient window id (parent), zero if unset. | |||
*/ | |||
uintptr_t transientWindowId; | |||
/*! | |||
* Constructor for default options. | |||
*/ | |||
Options() noexcept | |||
: isResizable(true), | |||
useTheme(true), | |||
useThemeColors(true), | |||
windowTitle("TestUI"), | |||
transientWindowId(0) {} | |||
}; | |||
/*! | |||
* Get options associated with this UI. | |||
*/ | |||
virtual const Options& getOptions() const noexcept = 0; | |||
// --------------------------------------------------------------------- | |||
protected: | |||
bool fQuitReceived; | |||
bool fGotOptions; | |||
int fLastMsgTimer; | |||
CarlaBridgeToolkit* fToolkit; | |||
lib_t fLib; | |||
CarlaString fLibFilename; | |||
/*! @internal */ | |||
bool msgReceived(const char* const msg) noexcept override; | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaBridgeFormat) | |||
}; | |||
/**@}*/ | |||
// ----------------------------------------------------------------------- | |||
CARLA_BRIDGE_UI_END_NAMESPACE | |||
#endif // CARLA_BRIDGE_FORMAT_HPP_INCLUDED |
@@ -1,5 +1,5 @@ | |||
/* | |||
* Carla Bridge UI, LV2 version | |||
* Carla Bridge UI | |||
* Copyright (C) 2011-2017 Filipe Coelho <falktx@falktx.com> | |||
* | |||
* This program is free software; you can redistribute it and/or | |||
@@ -15,7 +15,9 @@ | |||
* For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
*/ | |||
#include "CarlaBridgeUI.hpp" | |||
#include "CarlaBridgeFormat.hpp" | |||
#include "CarlaBridgeToolkit.hpp" | |||
#include "CarlaLibUtils.hpp" | |||
#include "CarlaLv2Utils.hpp" | |||
#include "CarlaMIDI.h" | |||
@@ -30,7 +32,7 @@ | |||
using water::File; | |||
CARLA_BRIDGE_START_NAMESPACE | |||
CARLA_BRIDGE_UI_START_NAMESPACE | |||
// ----------------------------------------------------- | |||
@@ -172,11 +174,11 @@ struct Lv2PluginOptions { | |||
// ------------------------------------------------------------------------- | |||
class CarlaLv2Client : public CarlaBridgeUI | |||
class CarlaLv2Client : public CarlaBridgeFormat | |||
{ | |||
public: | |||
CarlaLv2Client() | |||
: CarlaBridgeUI(), | |||
: CarlaBridgeFormat(), | |||
fHandle(nullptr), | |||
fWidget(nullptr), | |||
fDescriptor(nullptr), | |||
@@ -410,7 +412,7 @@ public: | |||
// ----------------------------------------------------------------- | |||
// init UI | |||
if (! CarlaBridgeUI::init(argc, argv)) | |||
if (! CarlaBridgeFormat::init(argc, argv)) | |||
return false; | |||
// ----------------------------------------------------------------- | |||
@@ -1162,13 +1164,13 @@ private: | |||
// ----------------------------------------------------------------------- | |||
CARLA_BRIDGE_END_NAMESPACE | |||
CARLA_BRIDGE_UI_END_NAMESPACE | |||
// ----------------------------------------------------------------------- | |||
int main(int argc, const char* argv[]) | |||
{ | |||
CARLA_BRIDGE_USE_NAMESPACE | |||
CARLA_BRIDGE_UI_USE_NAMESPACE | |||
if (argc < 3) | |||
{ |
@@ -1,6 +1,6 @@ | |||
/* | |||
* Carla Bridge Toolkit | |||
* Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com> | |||
* Carla Bridge UI | |||
* Copyright (C) 2011-2017 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 | |||
@@ -18,10 +18,11 @@ | |||
#ifndef CARLA_BRIDGE_TOOLKIT_HPP_INCLUDED | |||
#define CARLA_BRIDGE_TOOLKIT_HPP_INCLUDED | |||
#include "CarlaBridge.hpp" | |||
#include "CarlaString.hpp" | |||
#include "CarlaBridgeUI.hpp" | |||
CARLA_BRIDGE_START_NAMESPACE | |||
#include "CarlaJuceUtils.hpp" | |||
CARLA_BRIDGE_UI_START_NAMESPACE | |||
// ----------------------------------------------------------------------- | |||
@@ -43,19 +44,19 @@ public: | |||
virtual void* getContainerId() const { return nullptr; } | |||
virtual void* getContainerId2() const { return nullptr; } | |||
static CarlaBridgeToolkit* createNew(CarlaBridgeUI* const ui); | |||
static CarlaBridgeToolkit* createNew(CarlaBridgeFormat* const format); | |||
protected: | |||
CarlaBridgeUI* const fPluginUI; | |||
CarlaBridgeFormat* const fPlugin; | |||
CarlaBridgeToolkit(CarlaBridgeUI* const u) | |||
: fPluginUI(u) {} | |||
CarlaBridgeToolkit(CarlaBridgeFormat* const format) | |||
: fPlugin(format) {} | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaBridgeToolkit) | |||
}; | |||
// ----------------------------------------------------------------------- | |||
CARLA_BRIDGE_END_NAMESPACE | |||
CARLA_BRIDGE_UI_END_NAMESPACE | |||
#endif // CARLA_BRIDGE_TOOLKIT_HPP_INCLUDED |
@@ -1,5 +1,5 @@ | |||
/* | |||
* Carla Bridge Toolkit, Gtk version | |||
* Carla Bridge UI | |||
* Copyright (C) 2011-2017 Filipe Coelho <falktx@falktx.com> | |||
* | |||
* This program is free software; you can redistribute it and/or | |||
@@ -15,16 +15,16 @@ | |||
* For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
*/ | |||
#include "CarlaBridgeUI.hpp" | |||
#include "CarlaBridgeFormat.hpp" | |||
#include "CarlaBridgeToolkit.hpp" | |||
#include <gtk/gtk.h> | |||
#ifdef HAVE_X11 | |||
# define USE_CUSTOM_X11_METHODS | |||
# include <gdk/gdkx.h> | |||
#endif | |||
CARLA_BRIDGE_START_NAMESPACE | |||
CARLA_BRIDGE_UI_START_NAMESPACE | |||
// ------------------------------------------------------------------------- | |||
@@ -38,8 +38,8 @@ static const bool gHideShowTesting = std::getenv("CARLA_UI_TESTING") != nullptr; | |||
class CarlaBridgeToolkitGtk : public CarlaBridgeToolkit | |||
{ | |||
public: | |||
CarlaBridgeToolkitGtk(CarlaBridgeUI* const u) | |||
: CarlaBridgeToolkit(u), | |||
CarlaBridgeToolkitGtk(CarlaBridgeFormat* const format) | |||
: CarlaBridgeToolkit(format), | |||
fNeedsShow(false), | |||
fWindow(nullptr), | |||
fLastX(0), | |||
@@ -47,7 +47,7 @@ public: | |||
fLastWidth(0), | |||
fLastHeight(0) | |||
{ | |||
carla_debug("CarlaBridgeToolkitGtk::CarlaBridgeToolkitGtk(%p)", u); | |||
carla_debug("CarlaBridgeToolkitGtk::CarlaBridgeToolkitGtk(%p)", format); | |||
} | |||
~CarlaBridgeToolkitGtk() override | |||
@@ -74,16 +74,16 @@ public: | |||
void exec(const bool showUI) override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fPluginUI != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fPlugin != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fWindow != nullptr,); | |||
carla_debug("CarlaBridgeToolkitGtk::exec(%s)", bool2str(showUI)); | |||
const CarlaBridgeUI::Options& options(fPluginUI->getOptions()); | |||
const CarlaBridgeFormat::Options& options(fPlugin->getOptions()); | |||
GtkWindow* const gtkWindow(GTK_WINDOW(fWindow)); | |||
CARLA_SAFE_ASSERT_RETURN(gtkWindow != nullptr,); | |||
GtkWidget* const widget((GtkWidget*)fPluginUI->getWidget()); | |||
GtkWidget* const widget((GtkWidget*)fPlugin->getWidget()); | |||
gtk_container_add(GTK_CONTAINER(fWindow), widget); | |||
gtk_window_set_resizable(gtkWindow, options.isResizable); | |||
@@ -182,7 +182,7 @@ protected: | |||
{ | |||
carla_debug("CarlaBridgeToolkitGtk::handleRealize()"); | |||
const CarlaBridgeUI::Options& options(fPluginUI->getOptions()); | |||
const CarlaBridgeFormat::Options& options(fPlugin->getOptions()); | |||
if (options.transientWindowId != 0) | |||
setTransient(options.transientWindowId); | |||
@@ -196,10 +196,10 @@ protected: | |||
gtk_window_get_size(GTK_WINDOW(fWindow), &fLastWidth, &fLastHeight); | |||
} | |||
if (fPluginUI->isPipeRunning()) | |||
fPluginUI->idlePipe(); | |||
if (fPlugin->isPipeRunning()) | |||
fPlugin->idlePipe(); | |||
fPluginUI->idleUI(); | |||
fPlugin->idleUI(); | |||
if (gHideShowTesting) | |||
{ | |||
@@ -225,7 +225,7 @@ protected: | |||
CARLA_SAFE_ASSERT_RETURN(fWindow != nullptr,); | |||
carla_debug("CarlaBridgeToolkitGtk::setTransient(0x" P_UINTPTR ")", winId); | |||
#ifdef USE_CUSTOM_X11_METHODS | |||
#ifdef HAVE_X11 | |||
GdkWindow* const gdkWindow(gtk_widget_get_window(fWindow)); | |||
CARLA_SAFE_ASSERT_RETURN(gdkWindow != nullptr,); | |||
@@ -286,11 +286,11 @@ private: | |||
// ------------------------------------------------------------------------- | |||
CarlaBridgeToolkit* CarlaBridgeToolkit::createNew(CarlaBridgeUI* const ui) | |||
CarlaBridgeToolkit* CarlaBridgeToolkit::createNew(CarlaBridgeFormat* const format) | |||
{ | |||
return new CarlaBridgeToolkitGtk(ui); | |||
return new CarlaBridgeToolkitGtk(format); | |||
} | |||
// ------------------------------------------------------------------------- | |||
CARLA_BRIDGE_END_NAMESPACE | |||
CARLA_BRIDGE_UI_END_NAMESPACE |
@@ -1,5 +1,5 @@ | |||
/* | |||
* Carla Bridge Toolkit, Plugin version | |||
* Carla Bridge UI | |||
* Copyright (C) 2014-2017 Filipe Coelho <falktx@falktx.com> | |||
* | |||
* This program is free software; you can redistribute it and/or | |||
@@ -15,41 +15,42 @@ | |||
* For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
*/ | |||
#include "CarlaBridgeUI.hpp" | |||
#include "CarlaBridgeFormat.hpp" | |||
#include "CarlaBridgeToolkit.hpp" | |||
#include "CarlaMainLoop.hpp" | |||
#include "CarlaPluginUI.hpp" | |||
CARLA_BRIDGE_START_NAMESPACE | |||
CARLA_BRIDGE_UI_START_NAMESPACE | |||
using CarlaBackend::runMainLoopOnce; | |||
// ------------------------------------------------------------------------- | |||
class CarlaBridgeToolkitPlugin : public CarlaBridgeToolkit, | |||
class CarlaBridgeToolkitNative : public CarlaBridgeToolkit, | |||
private CarlaPluginUI::Callback | |||
{ | |||
public: | |||
CarlaBridgeToolkitPlugin(CarlaBridgeUI* const u) | |||
: CarlaBridgeToolkit(u), | |||
CarlaBridgeToolkitNative(CarlaBridgeFormat* const format) | |||
: CarlaBridgeToolkit(format), | |||
fHostUI(nullptr), | |||
fIdling(false) | |||
{ | |||
carla_debug("CarlaBridgeToolkitPlugin::CarlaBridgeToolkitPlugin(%p)", u); | |||
carla_debug("CarlaBridgeToolkitNative::CarlaBridgeToolkitNative(%p)", format); | |||
} | |||
~CarlaBridgeToolkitPlugin() override | |||
~CarlaBridgeToolkitNative() override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fHostUI == nullptr,); | |||
carla_debug("CarlaBridgeToolkitPlugin::~CarlaBridgeToolkitPlugin()"); | |||
carla_debug("CarlaBridgeToolkitNative::~CarlaBridgeToolkitNative()"); | |||
} | |||
bool init(const int /*argc*/, const char** /*argv[]*/) override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fHostUI == nullptr, false); | |||
carla_debug("CarlaBridgeToolkitPlugin::init()"); | |||
carla_debug("CarlaBridgeToolkitNative::init()"); | |||
const CarlaBridgeUI::Options& options(fPluginUI->getOptions()); | |||
const CarlaBridgeFormat::Options& options(fPlugin->getOptions()); | |||
#if defined(CARLA_OS_MAC) && defined(BRIDGE_COCOA) | |||
fHostUI = CarlaPluginUI::newCocoa(this, 0, options.isResizable); | |||
@@ -80,9 +81,9 @@ public: | |||
void exec(const bool showUI) override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fPluginUI != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fPlugin != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fHostUI != nullptr,); | |||
carla_debug("CarlaBridgeToolkitPlugin::exec(%s)", bool2str(showUI)); | |||
carla_debug("CarlaBridgeToolkitNative::exec(%s)", bool2str(showUI)); | |||
if (showUI) | |||
fHostUI->show(); | |||
@@ -91,10 +92,10 @@ public: | |||
for (; runMainLoopOnce() && fIdling;) | |||
{ | |||
if (fPluginUI->isPipeRunning()) | |||
fPluginUI->idlePipe(); | |||
if (fPlugin->isPipeRunning()) | |||
fPlugin->idlePipe(); | |||
fPluginUI->idleUI(); | |||
fPlugin->idleUI(); | |||
fHostUI->idle(); | |||
#if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) | |||
// MacOS and Win32 have event-loops to run, so minimize sleep time | |||
@@ -107,7 +108,7 @@ public: | |||
void quit() override | |||
{ | |||
carla_debug("CarlaBridgeToolkitPlugin::quit()"); | |||
carla_debug("CarlaBridgeToolkitNative::quit()"); | |||
fIdling = false; | |||
@@ -122,7 +123,7 @@ public: | |||
void show() override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fHostUI != nullptr,); | |||
carla_debug("CarlaBridgeToolkitPlugin::show()"); | |||
carla_debug("CarlaBridgeToolkitNative::show()"); | |||
fHostUI->show(); | |||
} | |||
@@ -130,7 +131,7 @@ public: | |||
void focus() override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fHostUI != nullptr,); | |||
carla_debug("CarlaBridgeToolkitPlugin::focus()"); | |||
carla_debug("CarlaBridgeToolkitNative::focus()"); | |||
fHostUI->focus(); | |||
} | |||
@@ -138,7 +139,7 @@ public: | |||
void hide() override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fHostUI != nullptr,); | |||
carla_debug("CarlaBridgeToolkitPlugin::hide()"); | |||
carla_debug("CarlaBridgeToolkitNative::hide()"); | |||
fHostUI->hide(); | |||
} | |||
@@ -148,7 +149,7 @@ public: | |||
CARLA_SAFE_ASSERT_RETURN(fHostUI != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(width > 0,); | |||
CARLA_SAFE_ASSERT_RETURN(height > 0,); | |||
carla_debug("CarlaBridgeToolkitPlugin::resize(%i, %i)", width, height); | |||
carla_debug("CarlaBridgeToolkitNative::resize(%i, %i)", width, height); | |||
fHostUI->setSize(width, height, false); | |||
} | |||
@@ -156,7 +157,7 @@ public: | |||
void setTitle(const char* const title) override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fHostUI != nullptr,); | |||
carla_debug("CarlaBridgeToolkitPlugin::setTitle(\"%s\")", title); | |||
carla_debug("CarlaBridgeToolkitNative::setTitle(\"%s\")", title); | |||
fHostUI->setTitle(title); | |||
} | |||
@@ -187,7 +188,7 @@ protected: | |||
void handlePluginUIResized(const uint width, const uint height) override | |||
{ | |||
fPluginUI->uiResized(width, height); | |||
fPlugin->uiResized(width, height); | |||
} | |||
// --------------------------------------------------------------------- | |||
@@ -196,19 +197,19 @@ private: | |||
CarlaPluginUI* fHostUI; | |||
bool fIdling; | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaBridgeToolkitPlugin) | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaBridgeToolkitNative) | |||
}; | |||
// ------------------------------------------------------------------------- | |||
CarlaBridgeToolkit* CarlaBridgeToolkit::createNew(CarlaBridgeUI* const ui) | |||
CarlaBridgeToolkit* CarlaBridgeToolkit::createNew(CarlaBridgeFormat* const format) | |||
{ | |||
return new CarlaBridgeToolkitPlugin(ui); | |||
return new CarlaBridgeToolkitNative(format); | |||
} | |||
// ------------------------------------------------------------------------- | |||
CARLA_BRIDGE_END_NAMESPACE | |||
CARLA_BRIDGE_UI_END_NAMESPACE | |||
#include "CarlaPluginUI.cpp" | |||
@@ -1,5 +1,5 @@ | |||
/* | |||
* Carla Bridge Toolkit, Qt version | |||
* Carla Bridge UI | |||
* Copyright (C) 2011-2017 Filipe Coelho <falktx@falktx.com> | |||
* | |||
* This program is free software; you can redistribute it and/or | |||
@@ -15,8 +15,9 @@ | |||
* For a full copy of the GNU General Public License see the doc/GPL.txt file. | |||
*/ | |||
#include "CarlaBridgeUI.hpp" | |||
#include "CarlaBridgeFormat.hpp" | |||
#include "CarlaBridgeToolkit.hpp" | |||
#include "CarlaStyle.hpp" | |||
#include <QtCore/QTimerEvent> | |||
@@ -34,7 +35,7 @@ | |||
# endif | |||
#endif | |||
CARLA_BRIDGE_START_NAMESPACE | |||
CARLA_BRIDGE_UI_START_NAMESPACE | |||
// ------------------------------------------------------------------------- | |||
@@ -56,15 +57,15 @@ class CarlaBridgeToolkitQt: public QObject, | |||
#endif | |||
public: | |||
CarlaBridgeToolkitQt(CarlaBridgeUI* const u) | |||
CarlaBridgeToolkitQt(CarlaBridgeFormat* const format) | |||
: QObject(nullptr), | |||
CarlaBridgeToolkit(u), | |||
CarlaBridgeToolkit(format), | |||
fApp(nullptr), | |||
fWindow(nullptr), | |||
fMsgTimer(0), | |||
fNeedsShow(false) | |||
{ | |||
carla_debug("CarlaBridgeToolkitQt::CarlaBridgeToolkitQt(%p)", u); | |||
carla_debug("CarlaBridgeToolkitQt::CarlaBridgeToolkitQt(%p)", format); | |||
} | |||
~CarlaBridgeToolkitQt() override | |||
@@ -93,14 +94,14 @@ public: | |||
void exec(const bool showUI) override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fPluginUI != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fPlugin != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fApp != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fWindow != nullptr,); | |||
carla_debug("CarlaBridgeToolkitQt::exec(%s)", bool2str(showUI)); | |||
const CarlaBridgeUI::Options& options(fPluginUI->getOptions()); | |||
const CarlaBridgeFormat::Options& options(fPlugin->getOptions()); | |||
QWidget* const widget((QWidget*)fPluginUI->getWidget()); | |||
QWidget* const widget((QWidget*)fPlugin->getWidget()); | |||
fWindow->setCentralWidget(widget); | |||
fWindow->adjustSize(); | |||
@@ -119,12 +120,14 @@ public: | |||
fWindow->setWindowIcon(QIcon::fromTheme("carla", QIcon(":/scalable/carla.svg"))); | |||
fWindow->setWindowTitle(options.windowTitle.buffer()); | |||
#ifdef USE_CUSTOM_X11_METHODS | |||
if (options.transientWindowId != 0) | |||
{ | |||
#ifdef USE_CUSTOM_X11_METHODS | |||
XSetTransientForHint(QX11Info::display(), static_cast< ::Window>(fWindow->winId()), static_cast< ::Window>(options.transientWindowId)); | |||
#endif | |||
XSetTransientForHint(QX11Info::display(), | |||
static_cast< ::Window>(fWindow->winId()), | |||
static_cast< ::Window>(options.transientWindowId)); | |||
} | |||
#endif | |||
if (showUI || fNeedsShow) | |||
{ | |||
@@ -143,7 +146,7 @@ public: | |||
void quit() override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fPluginUI != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fPlugin != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fApp != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fWindow != nullptr,); | |||
carla_debug("CarlaBridgeToolkitQt::quit()"); | |||
@@ -199,13 +202,13 @@ public: | |||
void setSize(const uint width, const uint height) override | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fPluginUI != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fPlugin != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fWindow != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(width > 0,); | |||
CARLA_SAFE_ASSERT_RETURN(height > 0,); | |||
carla_debug("CarlaBridgeToolkitQt::resize(%i, %i)", width, height); | |||
if (fPluginUI->getOptions().isResizable) | |||
if (fPlugin->getOptions().isResizable) | |||
fWindow->resize(static_cast<int>(width), static_cast<int>(height)); | |||
else | |||
fWindow->setFixedSize(static_cast<int>(width), static_cast<int>(height)); | |||
@@ -229,12 +232,12 @@ protected: | |||
void handleTimeout() | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(fPluginUI != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(fPlugin != nullptr,); | |||
if (fPluginUI->isPipeRunning()) | |||
fPluginUI->idlePipe(); | |||
if (fPlugin->isPipeRunning()) | |||
fPlugin->idlePipe(); | |||
fPluginUI->idleUI(); | |||
fPlugin->idleUI(); | |||
} | |||
private: | |||
@@ -259,14 +262,14 @@ private: | |||
// ------------------------------------------------------------------------- | |||
CarlaBridgeToolkit* CarlaBridgeToolkit::createNew(CarlaBridgeUI* const ui) | |||
CarlaBridgeToolkit* CarlaBridgeToolkit::createNew(CarlaBridgeFormat* const format) | |||
{ | |||
return new CarlaBridgeToolkitQt(ui); | |||
return new CarlaBridgeToolkitQt(format); | |||
} | |||
// ------------------------------------------------------------------------- | |||
CARLA_BRIDGE_END_NAMESPACE | |||
CARLA_BRIDGE_UI_END_NAMESPACE | |||
// ------------------------------------------------------------------------- | |||
@@ -18,148 +18,18 @@ | |||
#ifndef CARLA_BRIDGE_UI_HPP_INCLUDED | |||
#define CARLA_BRIDGE_UI_HPP_INCLUDED | |||
#include "CarlaBridgeToolkit.hpp" | |||
#include "CarlaLibUtils.hpp" | |||
#include "CarlaPipeUtils.hpp" | |||
#include "CarlaString.hpp" | |||
#include "CarlaDefines.h" | |||
#include "lv2/atom.h" | |||
#include "lv2/urid.h" | |||
#define CARLA_BRIDGE_UI_START_NAMESPACE namespace CarlaBridgeUI { | |||
#define CARLA_BRIDGE_UI_END_NAMESPACE } | |||
#define CARLA_BRIDGE_UI_USE_NAMESPACE using namespace CarlaBridgeUI; | |||
CARLA_BRIDGE_START_NAMESPACE | |||
CARLA_BRIDGE_UI_START_NAMESPACE | |||
/*! | |||
* @defgroup CarlaBridgeUIAPI Carla UI Bridge API | |||
* | |||
* The Carla UI Bridge API. | |||
* @{ | |||
*/ | |||
// ----------------------------------------------------------------------- | |||
class CarlaBridgeUI : public CarlaPipeClient | |||
{ | |||
protected: | |||
/*! | |||
* Constructor. | |||
*/ | |||
CarlaBridgeUI() noexcept; | |||
/*! | |||
* Destructor. | |||
*/ | |||
virtual ~CarlaBridgeUI() /*noexcept*/; | |||
// --------------------------------------------------------------------- | |||
bool libOpen(const char* const filename) noexcept; | |||
void* libSymbol(const char* const symbol) const noexcept; | |||
const char* libError() const noexcept; | |||
// --------------------------------------------------------------------- | |||
// DSP Callbacks | |||
virtual void dspParameterChanged(const uint32_t index, const float value) = 0; | |||
virtual void dspProgramChanged(const uint32_t index) = 0; | |||
virtual void dspMidiProgramChanged(const uint32_t bank, const uint32_t program) = 0; | |||
virtual void dspStateChanged(const char* const key, const char* const value) = 0; | |||
virtual void dspNoteReceived(const bool onOff, const uint8_t channel, const uint8_t note, const uint8_t velocity) = 0; | |||
virtual void dspAtomReceived(const uint32_t index, const LV2_Atom* const atom) = 0; | |||
virtual void dspURIDReceived(const LV2_URID urid, const char* const uri) = 0; | |||
virtual void uiOptionsChanged(const double sampleRate, const bool useTheme, const bool useThemeColors, const char* const windowTitle, uintptr_t transientWindowId) = 0; | |||
public: | |||
// --------------------------------------------------------------------- | |||
// UI initialization | |||
virtual bool init(const int argc, const char* argv[]); | |||
virtual void exec(const bool showUI); | |||
virtual void idleUI() {} | |||
// --------------------------------------------------------------------- | |||
// UI management | |||
/*! | |||
* Get the widget associated with this UI. | |||
* This can be a Gtk widget, Qt widget or a native Window handle depending on the compile target. | |||
*/ | |||
virtual void* getWidget() const noexcept = 0; | |||
/*! | |||
* TESTING | |||
*/ | |||
virtual void uiResized(const uint width, const uint height) = 0; | |||
/*! | |||
* Options. | |||
*/ | |||
struct Options { | |||
/*! | |||
* UI is resizable by the user. | |||
* The UI can still sometimes resize itself internally if this is false. | |||
*/ | |||
bool isResizable; | |||
/*! | |||
* Use the Carla PRO theme if possible. | |||
*/ | |||
bool useTheme; | |||
/*! | |||
* Use the Carla PRO theme colors if possible. | |||
* This implies useTheme to be true. | |||
*/ | |||
bool useThemeColors; | |||
/*! | |||
* Window title. | |||
*/ | |||
CarlaString windowTitle; | |||
/*! | |||
* Transient window id (parent), null if zero. | |||
*/ | |||
uintptr_t transientWindowId; | |||
/*! | |||
* Constructor for default options. | |||
*/ | |||
Options() noexcept | |||
: isResizable(true), | |||
useTheme(true), | |||
useThemeColors(true), | |||
windowTitle("TestUI"), | |||
transientWindowId(0) {} | |||
}; | |||
/*! | |||
* Get options associated with this UI. | |||
*/ | |||
virtual const Options& getOptions() const noexcept = 0; | |||
// --------------------------------------------------------------------- | |||
protected: | |||
bool fQuitReceived; | |||
bool fGotOptions; | |||
int fLastMsgTimer; | |||
CarlaBridgeToolkit* fToolkit; | |||
lib_t fLib; | |||
CarlaString fLibFilename; | |||
/*! @internal */ | |||
bool msgReceived(const char* const msg) noexcept override; | |||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaBridgeUI) | |||
}; | |||
/**@}*/ | |||
// ----------------------------------------------------------------------- | |||
// forward declarations of common classes | |||
class CarlaBridgeFormat; | |||
class CarlaBridgeToolkit; | |||
CARLA_BRIDGE_END_NAMESPACE | |||
CARLA_BRIDGE_UI_END_NAMESPACE | |||
#endif // CARLA_BRIDGE_UI_HPP_INCLUDED |
@@ -8,7 +8,7 @@ CWD=.. | |||
MODULENAME=carla-bridge | |||
include $(CWD)/Makefile.mk | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
BINDIR := $(CWD)/../bin | |||
@@ -20,12 +20,12 @@ OBJDIR := $(CWD)/../build/bridges-ui/Release | |||
MODULEDIR := $(CWD)/../build/modules/Release | |||
endif | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
BUILD_CXX_FLAGS += -DBUILD_BRIDGE -DBUILD_BRIDGE_UI -I. -I$(CWD)/backend -I$(CWD)/includes -I$(CWD)/utils -isystem $(CWD)/modules | |||
BUILD_CXX_FLAGS += -DBUILD_BRIDGE -DBUILD_BRIDGE_UI -I. -I$(CWD)/backend -I$(CWD)/includes -I$(CWD)/utils -I$(CWD)/modules | |||
LINK_FLAGS += $(WATER_LIBS) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
BUILD_GTK2_FLAGS = $(BUILD_CXX_FLAGS) -DBRIDGE_GTK2 $(shell pkg-config --cflags gtk+-2.0) | |||
LINK_GTK2_FLAGS = $(LINK_FLAGS) $(shell pkg-config --libs gtk+-2.0) $(LIBDL_LIBS) | |||
@@ -54,7 +54,7 @@ LINK_GTK3_FLAGS += -lX11 | |||
LINK_QT4_FLAGS += -lX11 | |||
endif | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
ifneq ($(MACOS_OR_WIN32),true) | |||
ifeq ($(HAVE_GTK2),true) | |||
@@ -86,11 +86,11 @@ ifeq ($(WIN32),true) | |||
TARGETS += ui_lv2-windows | |||
endif | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
all: $(TARGETS) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
clean: | |||
rm -f $(OBJDIR)/*.cpp $(OBJDIR)/*.moc $(OBJDIR)/*.o | |||
@@ -106,7 +106,7 @@ debug: | |||
doxygen: carla_bridge.doxygen | |||
doxygen $< | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
ui_lv2-gtk2: $(BINDIR)/$(MODULENAME)-lv2-gtk2 | |||
ui_lv2-gtk3: $(BINDIR)/$(MODULENAME)-lv2-gtk3 | |||
@@ -116,14 +116,14 @@ ui_lv2-x11: $(BINDIR)/$(MODULENAME)-lv2-x11 | |||
ui_lv2-cocoa: $(BINDIR)/$(MODULENAME)-lv2-cocoa | |||
ui_lv2-windows: $(BINDIR)/$(MODULENAME)-lv2-windows.exe | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# Common libs | |||
LIBS = \ | |||
$(MODULEDIR)/lilv.a \ | |||
$(MODULEDIR)/water.files.a | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# Common objects | |||
$(OBJDIR)/%.cpp.o: %.cpp | |||
@@ -131,12 +131,12 @@ $(OBJDIR)/%.cpp.o: %.cpp | |||
@echo "Compiling $<" | |||
@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# ui_lv2-gtk2 | |||
OBJS_GTK2 = \ | |||
$(OBJDIR)/CarlaBridgeUI.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeUI-LV2.cpp-gtk2.o \ | |||
$(OBJDIR)/CarlaBridgeFormat.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeFormatLV2.cpp-gtk2.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitGtk.cpp-gtk2.o | |||
$(BINDIR)/$(MODULENAME)-lv2-gtk2: $(OBJS_GTK2) $(LIBS) | |||
@@ -151,12 +151,12 @@ $(OBJDIR)/%.cpp-gtk2.o: %.cpp | |||
-include $(OBJS_GTK2:%.o=%.d) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# ui_lv2-gtk3 | |||
OBJS_GTK3 = \ | |||
$(OBJDIR)/CarlaBridgeUI.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeUI-LV2.cpp-gtk3.o \ | |||
$(OBJDIR)/CarlaBridgeFormat.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeFormatLV2.cpp-gtk3.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitGtk.cpp-gtk3.o | |||
$(BINDIR)/$(MODULENAME)-lv2-gtk3: $(OBJS_GTK3) $(LIBS) | |||
@@ -171,12 +171,12 @@ $(OBJDIR)/%.cpp-gtk3.o: %.cpp | |||
-include $(OBJS_GTK3:%.o=%.d) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# ui_lv2-qt4 | |||
OBJS_QT4 = \ | |||
$(OBJDIR)/CarlaBridgeUI.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeUI-LV2.cpp-qt4.o \ | |||
$(OBJDIR)/CarlaBridgeFormat.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeFormatLV2.cpp-qt4.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitQt.cpp-qt4.o | |||
$(BINDIR)/$(MODULENAME)-lv2-qt4: $(OBJS_QT4) $(LIBS) $(MODULEDIR)/theme.qt4.a | |||
@@ -201,12 +201,12 @@ $(OBJDIR)/resources.qt4.cpp: ../../resources/resources-theme.qrc | |||
-include $(OBJS_QT4:%.o=%.d) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# ui_lv2-qt5 | |||
OBJS_QT5 = \ | |||
$(OBJDIR)/CarlaBridgeUI.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeUI-LV2.cpp-qt5.o \ | |||
$(OBJDIR)/CarlaBridgeFormat.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeFormatLV2.cpp-qt5.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitQt.cpp-qt5.o | |||
$(BINDIR)/$(MODULENAME)-lv2-qt5: $(OBJS_QT5) $(LIBS) $(MODULEDIR)/theme.qt5.a | |||
@@ -231,13 +231,13 @@ $(OBJDIR)/resources.qt5.cpp: ../../resources/resources-theme.qrc | |||
-include $(OBJS_QT5:%.o=%.d) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# ui_lv2-x11 | |||
OBJS_X11 = \ | |||
$(OBJDIR)/CarlaBridgeUI.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeUI-LV2.cpp-x11.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitPlugin.cpp-x11.o | |||
$(OBJDIR)/CarlaBridgeFormat.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeFormatLV2.cpp-x11.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitNative.cpp-x11.o | |||
$(BINDIR)/$(MODULENAME)-lv2-x11: $(OBJS_X11) $(LIBS) | |||
-@mkdir -p $(BINDIR) | |||
@@ -251,13 +251,13 @@ $(OBJDIR)/%.cpp-x11.o: %.cpp | |||
-include $(OBJS_X11:%.o=%.d) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# ui_lv2-cocoa | |||
OBJS_COCOA = \ | |||
$(OBJDIR)/CarlaBridgeUI.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeUI-LV2.cpp-cocoa.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitPlugin.cpp-cocoa.o | |||
$(OBJDIR)/CarlaBridgeFormat.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeFormatLV2.cpp-cocoa.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitNative.cpp-cocoa.o | |||
$(BINDIR)/$(MODULENAME)-lv2-cocoa: $(OBJS_COCOA) $(LIBS) | |||
-@mkdir -p $(BINDIR) | |||
@@ -271,13 +271,13 @@ $(OBJDIR)/%.cpp-cocoa.o: %.cpp | |||
-include $(OBJS_COCOA:%.o=%.d) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- | |||
# ui_lv2-windows | |||
OBJS_WINDOWS = \ | |||
$(OBJDIR)/CarlaBridgeUI.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeUI-LV2.cpp-windows.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitPlugin.cpp-windows.o | |||
$(OBJDIR)/CarlaBridgeFormat.cpp.o \ | |||
$(OBJDIR)/CarlaBridgeFormatLV2.cpp-windows.o \ | |||
$(OBJDIR)/CarlaBridgeToolkitNative.cpp-windows.o | |||
$(BINDIR)/$(MODULENAME)-lv2-windows.exe: $(OBJS_WINDOWS) $(LIBS) | |||
-@mkdir -p $(BINDIR) | |||
@@ -291,4 +291,4 @@ $(OBJDIR)/%.cpp-windows.o: %.cpp | |||
-include $(OBJS_WINDOWS:%.o=%.d) | |||
# ---------------------------------------------------------------------------------------------------------------------------- | |||
# --------------------------------------------------------------------------------------------------------------------- |