Browse Source

Carla: Add lv2-gtk3 ui bridge, misc changes

tags/v0.9.0
falkTX 13 years ago
parent
commit
f2c53bb01e
13 changed files with 124 additions and 45 deletions
  1. +15
    -3
      c++/carla-backend/carla_backend.h
  2. +18
    -0
      c++/carla-backend/carla_shared.cpp
  3. +4
    -0
      c++/carla-backend/carla_shared.h
  4. +15
    -2
      c++/carla-bridge/Makefile
  5. +2
    -2
      c++/carla-bridge/carla_bridge.doxygen
  6. +2
    -2
      c++/carla-bridge/carla_bridge_client.h
  7. +8
    -0
      c++/carla-bridge/carla_bridge_osc.cpp
  8. +1
    -1
      c++/carla-discovery/Makefile
  9. +22
    -22
      c++/carla-discovery/Makefile.dbg
  10. +11
    -9
      c++/carla-includes/carla_includes.h
  11. +1
    -1
      c++/carla-includes/lv2/options.h
  12. +20
    -0
      src/carla_backend.py
  13. +5
    -3
      src/shared_carla.py

+ 15
- 3
c++/carla-backend/carla_backend.h View File

@@ -287,23 +287,35 @@ enum OptionsType {
*/
OPTION_PATH_BRIDGE_LV2_GTK2 = 21,

/*!
* Set path to the LV2 Gtk3 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_GTK3 = 22,

/*!
* Set path to the LV2 Qt4 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_QT4 = 22,
OPTION_PATH_BRIDGE_LV2_QT4 = 23,

/*!
* Set path to the LV2 X11 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_X11 = 23,
OPTION_PATH_BRIDGE_LV2_X11 = 24,

/*!
* Set path to the VST HWND UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_VST_HWND = 25,

/*!
* Set path to the VST X11 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_VST_X11 = 24
OPTION_PATH_BRIDGE_VST_X11 = 26
};

/*!


+ 18
- 0
c++/carla-backend/carla_shared.cpp View File

@@ -244,10 +244,14 @@ const char* OptionsType2str(const OptionsType type)
return "OPTION_PATH_BRIDGE_WIN64";
case OPTION_PATH_BRIDGE_LV2_GTK2:
return "OPTION_PATH_BRIDGE_LV2_GTK2";
case OPTION_PATH_BRIDGE_LV2_GTK3:
return "OPTION_PATH_BRIDGE_LV2_GTK3";
case OPTION_PATH_BRIDGE_LV2_QT4:
return "OPTION_PATH_BRIDGE_LV2_QT4";
case OPTION_PATH_BRIDGE_LV2_X11:
return "OPTION_PATH_BRIDGE_LV2_X11";
case OPTION_PATH_BRIDGE_VST_HWND:
return "OPTION_PATH_BRIDGE_VST_HWND";
case OPTION_PATH_BRIDGE_VST_X11:
return "OPTION_PATH_BRIDGE_VST_X11";
}
@@ -558,12 +562,18 @@ void setOption(const OptionsType option, const int value, const char* const valu
case OPTION_PATH_BRIDGE_LV2_GTK2:
carlaOptions.bridge_lv2gtk2 = strdup(valueStr);
break;
case OPTION_PATH_BRIDGE_LV2_GTK3:
carlaOptions.bridge_lv2gtk3 = strdup(valueStr);
break;
case OPTION_PATH_BRIDGE_LV2_QT4:
carlaOptions.bridge_lv2qt4 = strdup(valueStr);
break;
case OPTION_PATH_BRIDGE_LV2_X11:
carlaOptions.bridge_lv2x11 = strdup(valueStr);
break;
case OPTION_PATH_BRIDGE_VST_HWND:
carlaOptions.bridge_vsthwnd = strdup(valueStr);
break;
case OPTION_PATH_BRIDGE_VST_X11:
carlaOptions.bridge_vstx11 = strdup(valueStr);
break;
@@ -589,12 +599,18 @@ void resetOptions()
if (carlaOptions.bridge_lv2gtk2)
free((void*)carlaOptions.bridge_lv2gtk2);

if (carlaOptions.bridge_lv2gtk3)
free((void*)carlaOptions.bridge_lv2gtk3);

if (carlaOptions.bridge_lv2qt4)
free((void*)carlaOptions.bridge_lv2qt4);

if (carlaOptions.bridge_lv2x11)
free((void*)carlaOptions.bridge_lv2x11);

if (carlaOptions.bridge_vsthwnd)
free((void*)carlaOptions.bridge_vsthwnd);

if (carlaOptions.bridge_vstx11)
free((void*)carlaOptions.bridge_vstx11);

@@ -613,8 +629,10 @@ void resetOptions()
carlaOptions.bridge_win32 = nullptr;
carlaOptions.bridge_win64 = nullptr;
carlaOptions.bridge_lv2gtk2 = nullptr;
carlaOptions.bridge_lv2gtk3 = nullptr;
carlaOptions.bridge_lv2qt4 = nullptr;
carlaOptions.bridge_lv2x11 = nullptr;
carlaOptions.bridge_vsthwnd = nullptr;
carlaOptions.bridge_vstx11 = nullptr;
}
#endif // BUILD_BRIDGE


+ 4
- 0
c++/carla-backend/carla_shared.h View File

@@ -73,8 +73,10 @@ struct carla_options_t {
const char* bridge_win32;
const char* bridge_win64;
const char* bridge_lv2gtk2;
const char* bridge_lv2gtk3;
const char* bridge_lv2qt4;
const char* bridge_lv2x11;
const char* bridge_vsthwnd;
const char* bridge_vstx11;

carla_options_t()
@@ -92,8 +94,10 @@ struct carla_options_t {
bridge_win32(nullptr),
bridge_win64(nullptr),
bridge_lv2gtk2(nullptr),
bridge_lv2gtk3(nullptr),
bridge_lv2qt4(nullptr),
bridge_lv2x11(nullptr),
bridge_vsthwnd(nullptr),
bridge_vstx11(nullptr) {}
};
extern carla_options_t carlaOptions;


+ 15
- 2
c++/carla-bridge/Makefile View File

@@ -32,7 +32,7 @@ POSIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs QtGui) -ldl
WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) $(shell pkg-config --cflags QtGui)
WIN_32BIT_FLAGS = $(32BIT_FLAGS)
WIN_64BIT_FLAGS = $(64BIT_FLAGS)
WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs QtGui) -static
WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs QtGui) -static -mwindows

WINE_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) -DQTCREATOR_TEST # -fpermissive
WINE_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32/wine -L/usr/lib/i386-linux-gnu/wine
@@ -66,14 +66,27 @@ LINK_UI_VST_X11_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtGui)

all: ui

ui: ui_lv2-gtk2 ui_lv2-qt4 ui_lv2-x11 ui_vst-x11
ui: ui_lv2-gtk2 ui_lv2-gtk3 ui_lv2-qt4 ui_lv2-x11 ui_vst-x11

ifeq ($(shell pkg-config --exists gtk+-2.0 && echo true),true)
ui_lv2-gtk2: carla-bridge-lv2-gtk2
else
ui_lv2-gtk2:
endif

ifeq ($(shell pkg-config --exists gtk+-3.0 && echo true),true)
ui_lv2-gtk3: carla-bridge-lv2-gtk3
else
ui_lv2-gtk3:
endif

ui_lv2-qt4: carla-bridge-lv2-qt4
ui_lv2-x11: carla-bridge-lv2-x11
ui_vst-hwnd: carla-bridge-vst-hwnd.exe
ui_vst-x11: carla-bridge-vst-x11

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

posix32: carla-bridge-posix32
posix64: carla-bridge-posix64
win32: carla-bridge-win32.exe


+ 2
- 2
c++/carla-bridge/carla_bridge.doxygen View File

@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "Carla Bridge UI"
PROJECT_NAME = "Carla Bridge"
PROJECT_NUMBER =
PROJECT_BRIEF =
PROJECT_LOGO =
@@ -241,7 +241,7 @@ EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = BUILD_BRIDGE BUILD_BRIDGE_UI BUILD_BRIDGE_LV2 BUILD_BRIDGE_VST BRIDGE_LV2_GTK2 BRIDGE_LV2_QT4 BRIDGE_LV2_X11 BRIDGE_VST_X11
PREDEFINED = BUILD_BRIDGE BUILD_BRIDGE_PLUGIN BUILD_BRIDGE_UI BRIDGE_LV2 BRIDGE_VST LV2_GTK2 BRIDGE_LV2_GTK3 BRIDGE_LV2_QT4 BRIDGE_LV2_X11 BRIDGE_VST_HWND BRIDGE_VST_X11
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------


+ 2
- 2
c++/carla-bridge/carla_bridge_client.h View File

@@ -22,9 +22,9 @@
#include "carla_bridge_toolkit.h"

#ifdef BUILD_BRIDGE_PLUGIN
#include "carla_engine.h"
# include "carla_engine.h"
#else
#include "carla_lib_includes.h"
# include "carla_lib_includes.h"
#endif

#include <cmath>


+ 8
- 0
c++/carla-bridge/carla_bridge_osc.cpp View File

@@ -151,6 +151,8 @@ int CarlaOsc::handleMessage(const char* const path, const int argc, const lo_arg
return handleMsgMidiProgram(argc, argv, types);
if (strcmp(method, "/midi") == 0)
return handleMsgMidi(argc, argv, types);
if (strcmp(method, "/sample_rate") == 0)
return 0; // unused
if (strcmp(method, "/show") == 0)
return handleMsgShow();
if (strcmp(method, "/hide") == 0)
@@ -295,6 +297,8 @@ int CarlaOsc::handleMsgMidi(CARLA_BRIDGE_OSC_HANDLE_ARGS)

int CarlaOsc::handleMsgShow()
{
qDebug("CarlaOsc::handleMsgShow()");

if (! client)
return 1;

@@ -305,6 +309,8 @@ int CarlaOsc::handleMsgShow()

int CarlaOsc::handleMsgHide()
{
qDebug("CarlaOsc::handleMsgHide()");

if (! client)
return 1;

@@ -315,6 +321,8 @@ int CarlaOsc::handleMsgHide()

int CarlaOsc::handleMsgQuit()
{
qDebug("CarlaOsc::handleMsgQuit()");

if (! client)
return 1;



+ 1
- 1
c++/carla-discovery/Makefile View File

@@ -43,7 +43,7 @@ POSIX_LINK_FLAGS = $(LINK_FLAGS) -ldl
WIN_BUILD_FLAGS = $(BUILD_FLAGS)
WIN_32BIT_FLAGS = $(32BIT_FLAGS)
WIN_64BIT_FLAGS = $(64BIT_FLAGS)
WIN_LINK_FLAGS = $(LINK_FLAGS) -static
WIN_LINK_FLAGS = $(LINK_FLAGS) -static -mwindows

WINE_BUILD_FLAGS = $(BUILD_FLAGS) # -fpermissive
WINE_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32/wine -L/usr/lib/i386-linux-gnu/wine


+ 22
- 22
c++/carla-discovery/Makefile.dbg View File

@@ -35,31 +35,31 @@ LINK_FLAGS += $(shell pkg-config --libs linuxsampler)
endif
endif

UNIX_BUILD_FLAGS = $(BUILD_FLAGS)
UNIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
UNIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
UNIX_LINK_FLAGS = $(LINK_FLAGS) -ldl
POSIX_BUILD_FLAGS = $(BUILD_FLAGS)
POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
POSIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
POSIX_LINK_FLAGS = $(LINK_FLAGS) -ldl

WIN_BUILD_FLAGS = $(BUILD_FLAGS)
WIN_32BIT_FLAGS = $(32BIT_FLAGS)
WIN_64BIT_FLAGS = $(64BIT_FLAGS)
WIN_LINK_FLAGS = $(LINK_FLAGS) -static
WIN_BUILD_FLAGS = $(BUILD_FLAGS)
WIN_32BIT_FLAGS = $(32BIT_FLAGS)
WIN_64BIT_FLAGS = $(64BIT_FLAGS)
WIN_LINK_FLAGS = $(LINK_FLAGS) -static -mwindows

WINE_BUILD_FLAGS = $(BUILD_FLAGS) # -fpermissive
WINE_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32/wine -L/usr/lib/i386-linux-gnu/wine
WINE_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64/wine -L/usr/lib/x86_64-linux-gnu/wine
WINE_LINK_FLAGS = $(LINK_FLAGS) -ldl
WINE_BUILD_FLAGS = $(BUILD_FLAGS) # -fpermissive
WINE_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32/wine -L/usr/lib/i386-linux-gnu/wine
WINE_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64/wine -L/usr/lib/x86_64-linux-gnu/wine
WINE_LINK_FLAGS = $(LINK_FLAGS) -ldl

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

all: carla-discovery-native

unix32: carla-discovery-unix32
unix64: carla-discovery-unix64
win32: carla-discovery-win32.exe
win64: carla-discovery-win64.exe
wine32: carla-discovery-win32.exe.so
wine64: carla-discovery-win64.exe.so
posix32: carla-discovery-posix32
posix64: carla-discovery-posix64
win32: carla-discovery-win32.exe
win64: carla-discovery-win64.exe
wine32: carla-discovery-win32.exe.so
wine64: carla-discovery-win64.exe.so

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

@@ -69,11 +69,11 @@ wine64: carla-discovery-win64.exe.so
carla-discovery-native: carla-discovery.cpp ../carla-lilv/carla_lilv.a
$(CXX) $^ $(BUILD_FLAGS) $(LINK_FLAGS) -o $@

carla-discovery-unix32: $(32BIT_OBJS)
$(CXX) $^ $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@
carla-discovery-posix32: $(32BIT_OBJS)
$(CXX) $^ $(POSIX_BUILD_FLAGS) $(POSIX_32BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@

carla-discovery-unix64: $(64BIT_OBJS)
$(CXX) $^ $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@
carla-discovery-posix64: $(64BIT_OBJS)
$(CXX) $^ $(POSIX_BUILD_FLAGS) $(POSIX_64BIT_FLAGS) $(POSIX_LINK_FLAGS) -o $@

carla-discovery-win32.exe: $(32BIT_OBJS)
$(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@


+ 11
- 9
c++/carla-includes/carla_includes.h View File

@@ -19,9 +19,9 @@
#define CARLA_INCLUDES_H

#ifdef __WINE__
# define __socklen_t_defined
# define __WINE_WINSOCK2__
# define HRESULT LONG
//# define __socklen_t_defined
//# define __WINE_WINSOCK2__
//# define HRESULT LONG
# define Q_CORE_EXPORT
# define Q_GUI_EXPORT
# define QT_NO_STL
@@ -57,14 +57,16 @@
# endif
#endif

// needed for qDebug/Warning/Critical sections (FIXME)
#if __WORDSIZE == 64
# define P_INT64 "%li"
// needed for qDebug/Warning/Critical sections
#if defined(Q_OS_WIN64) && ! defined(__WINE__)
# define P_INTPTR "%I64i"
# define P_UINTPTR "%I64x"
# define P_SIZE "%I64u"
#elif __WORDSIZE == 64
# define P_INTPTR "%li"
# define P_UINTPTR "%llx"
# define P_UINTPTR "%lx"
# define P_SIZE "%lu"
#else
# define P_INT64 "%lli"
# define P_INTPTR "%i"
# define P_UINTPTR "%x"
# define P_SIZE "%u"
@@ -72,7 +74,7 @@

// set native binary type
#if defined(Q_OS_HAIKU) || defined(Q_OS_UNIX)
# if __LP64__
# ifdef __LP64__
# define BINARY_NATIVE BINARY_POSIX64
# else
# define BINARY_NATIVE BINARY_POSIX32


+ 1
- 1
c++/carla-includes/lv2/options.h View File

@@ -19,7 +19,7 @@

#include <stdint.h>

#include "lv2/lv2plug.in/ns/ext/urid/urid.h"
#include "urid.h"

#define LV2_OPTIONS_URI "http://lv2plug.in/ns/ext/options"
#define LV2_OPTIONS_PREFIX LV2_OPTIONS_URI "#"


+ 20
- 0
src/carla_backend.py View File

@@ -253,8 +253,10 @@ carla_bridge_win32 = ""
carla_bridge_win64 = ""

carla_bridge_lv2_gtk2 = ""
carla_bridge_lv2_gtk3 = ""
carla_bridge_lv2_qt4 = ""
carla_bridge_lv2_x11 = ""
carla_bridge_vst_hwnd = ""
carla_bridge_vst_x11 = ""

if WINDOWS:
@@ -379,6 +381,15 @@ else:
carla_bridge_lv2_gtk2 = os.path.join(p, "carla-bridge-lv2-gtk2")
break

# find carla_bridge_lv2_gtk3
if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk3")):
carla_bridge_lv2_gtk3 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-gtk3")
else:
for p in PATH:
if os.path.exists(os.path.join(p, "carla-bridge-lv2-gtk3")):
carla_bridge_lv2_gtk3 = os.path.join(p, "carla-bridge-lv2-gtk3")
break

# find carla_bridge_lv2_qt4
if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-qt4")):
carla_bridge_lv2_qt4 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-lv2-qt4")
@@ -397,6 +408,15 @@ else:
carla_bridge_lv2_x11 = os.path.join(p, "carla-bridge-lv2-x11")
break

# find carla_bridge_vst_hwnd
if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-hwnd.exe")):
carla_bridge_vst_hwnd = os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-hwnd.exe")
else:
for p in PATH:
if os.path.exists(os.path.join(p, "carla-bridge-vst-hwnd.exe")):
carla_bridge_vst_hwnd = os.path.join(p, "carla-bridge-vst-hwnd.exe")
break

# find carla_bridge_vst_x11
if os.path.exists(os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-x11")):
carla_bridge_vst_x11 = os.path.join(CWDpp, "carla-bridge", "carla-bridge-vst-x11")


+ 5
- 3
src/shared_carla.py View File

@@ -157,9 +157,11 @@ OPTION_PATH_BRIDGE_POSIX64 = 18
OPTION_PATH_BRIDGE_WIN32 = 19
OPTION_PATH_BRIDGE_WIN64 = 20
OPTION_PATH_BRIDGE_LV2_GTK2 = 21
OPTION_PATH_BRIDGE_LV2_QT4 = 22
OPTION_PATH_BRIDGE_LV2_X11 = 23
OPTION_PATH_BRIDGE_VST_X11 = 24
OPTION_PATH_BRIDGE_LV2_GTK3 = 22
OPTION_PATH_BRIDGE_LV2_QT4 = 23
OPTION_PATH_BRIDGE_LV2_X11 = 24
OPTION_PATH_BRIDGE_VST_HWND = 25
OPTION_PATH_BRIDGE_VST_X11 = 26

# enum CallbackType
CALLBACK_DEBUG = 0


Loading…
Cancel
Save