| @@ -21,6 +21,8 @@ | |||||
| #include "carla_engine_osc.hpp" | #include "carla_engine_osc.hpp" | ||||
| #include "carla_engine_thread.hpp" | #include "carla_engine_thread.hpp" | ||||
| #include <QtCore/QProcessEnvironment> | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| /*! | /*! | ||||
| @@ -206,7 +208,6 @@ struct CarlaEngineTimeInfo { | |||||
| valid(0) {} | valid(0) {} | ||||
| }; | }; | ||||
| #ifndef BUILD_BRIDGE | |||||
| /*! | /*! | ||||
| * Engine options. | * Engine options. | ||||
| */ | */ | ||||
| @@ -252,7 +253,6 @@ struct CarlaEngineOptions { | |||||
| preferUiBridges(true), | preferUiBridges(true), | ||||
| oscUiTimeout(4000/100) {} | oscUiTimeout(4000/100) {} | ||||
| }; | }; | ||||
| #endif | |||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
| @@ -557,7 +557,7 @@ public: | |||||
| /*! | /*! | ||||
| * Maximum number of loadable plugins. | * Maximum number of loadable plugins. | ||||
| * \note This function returns 0 if no engine is not started. | |||||
| * \note This function returns 0 if engine is not started. | |||||
| */ | */ | ||||
| unsigned short maxPluginNumber() const; | unsigned short maxPluginNumber() const; | ||||
| @@ -710,7 +710,6 @@ public: | |||||
| */ | */ | ||||
| void setLastError(const char* const error); | void setLastError(const char* const error); | ||||
| #ifndef BUILD_BRIDGE | |||||
| // ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
| // Options | // Options | ||||
| @@ -722,6 +721,15 @@ public: | |||||
| return options; | return options; | ||||
| } | } | ||||
| #ifndef BUILD_BRIDGE | |||||
| /*! | |||||
| * Get the engine options as process environment. | |||||
| */ | |||||
| const QProcessEnvironment& getOptionsAsProcessEnvironment() const | |||||
| { | |||||
| return m_procEnv; | |||||
| } | |||||
| /*! | /*! | ||||
| * Set the engine option \a option. | * Set the engine option \a option. | ||||
| */ | */ | ||||
| @@ -916,9 +924,7 @@ protected: | |||||
| void processRack(float* inBuf[2], float* outBuf[2], const uint32_t frames); | void processRack(float* inBuf[2], float* outBuf[2], const uint32_t frames); | ||||
| #endif | #endif | ||||
| #ifndef BUILD_BRIDGE | |||||
| CarlaEngineOptions options; | CarlaEngineOptions options; | ||||
| #endif | |||||
| CarlaString name; | CarlaString name; | ||||
| uint32_t bufferSize; | uint32_t bufferSize; | ||||
| @@ -937,6 +943,10 @@ private: | |||||
| void* m_callbackPtr; | void* m_callbackPtr; | ||||
| CarlaString m_lastError; | CarlaString m_lastError; | ||||
| #ifndef BUILD_BRIDGE | |||||
| QProcessEnvironment m_procEnv; | |||||
| #endif | |||||
| QMutex m_procLock; | QMutex m_procLock; | ||||
| QMutex m_midiLock; | QMutex m_midiLock; | ||||
| @@ -18,6 +18,8 @@ | |||||
| #ifndef LADSPA_RDF_INCLUDED | #ifndef LADSPA_RDF_INCLUDED | ||||
| #define LADSPA_RDF_INCLUDED | #define LADSPA_RDF_INCLUDED | ||||
| // FIXME - use LADSPA_PORT_UNIT_xxx | |||||
| #include <cstdlib> | #include <cstdlib> | ||||
| // Base Types | // Base Types | ||||
| @@ -24,11 +24,25 @@ | |||||
| #include <cstdlib> | #include <cstdlib> | ||||
| // Base Types | // Base Types | ||||
| typedef float LV2_Data; | |||||
| typedef const char* LV2_URI; | typedef const char* LV2_URI; | ||||
| typedef uint32_t LV2_Property; | typedef uint32_t LV2_Property; | ||||
| typedef unsigned long long LV2_PluginType; | typedef unsigned long long LV2_PluginType; | ||||
| struct LV2_Type { | |||||
| LV2_Property Value; //... | |||||
| LV2_URI URI; | |||||
| LV2_Type() | |||||
| : Value(0), | |||||
| URI(nullptr) {} | |||||
| ~LV2_Type() | |||||
| { | |||||
| if (URI) | |||||
| ::free((void*)URI); | |||||
| } | |||||
| }; | |||||
| // Port Midi Map Types | // Port Midi Map Types | ||||
| #define LV2_PORT_MIDI_MAP_CC 0x1 | #define LV2_PORT_MIDI_MAP_CC 0x1 | ||||
| #define LV2_PORT_MIDI_MAP_NRPN 0x2 | #define LV2_PORT_MIDI_MAP_NRPN 0x2 | ||||
| @@ -45,67 +59,67 @@ typedef unsigned long long LV2_PluginType; | |||||
| #define LV2_HAVE_MINIMUM_PORT_POINT(x) ((x) & LV2_PORT_POINT_MINIMUM) | #define LV2_HAVE_MINIMUM_PORT_POINT(x) ((x) & LV2_PORT_POINT_MINIMUM) | ||||
| #define LV2_HAVE_MAXIMUM_PORT_POINT(x) ((x) & LV2_PORT_POINT_MAXIMUM) | #define LV2_HAVE_MAXIMUM_PORT_POINT(x) ((x) & LV2_PORT_POINT_MAXIMUM) | ||||
| // Port Unit Types | |||||
| #define LV2_UNIT_BAR 0x01 | |||||
| #define LV2_UNIT_BEAT 0x02 | |||||
| #define LV2_UNIT_BPM 0x03 | |||||
| #define LV2_UNIT_CENT 0x04 | |||||
| #define LV2_UNIT_CM 0x05 | |||||
| #define LV2_UNIT_COEF 0x06 | |||||
| #define LV2_UNIT_DB 0x07 | |||||
| #define LV2_UNIT_DEGREE 0x08 | |||||
| #define LV2_UNIT_FRAME 0x09 | |||||
| #define LV2_UNIT_HZ 0x0A | |||||
| #define LV2_UNIT_INCH 0x0B | |||||
| #define LV2_UNIT_KHZ 0x0C | |||||
| #define LV2_UNIT_KM 0x0D | |||||
| #define LV2_UNIT_M 0x0E | |||||
| #define LV2_UNIT_MHZ 0x0F | |||||
| #define LV2_UNIT_MIDINOTE 0x10 | |||||
| #define LV2_UNIT_MILE 0x11 | |||||
| #define LV2_UNIT_MIN 0x12 | |||||
| #define LV2_UNIT_MM 0x13 | |||||
| #define LV2_UNIT_MS 0x14 | |||||
| #define LV2_UNIT_OCT 0x15 | |||||
| #define LV2_UNIT_PC 0x16 | |||||
| #define LV2_UNIT_S 0x17 | |||||
| #define LV2_UNIT_SEMITONE 0x18 | |||||
| #define LV2_IS_UNIT_BAR(x) ((x) == LV2_UNIT_BAR) | |||||
| #define LV2_IS_UNIT_BEAT(x) ((x) == LV2_UNIT_BEAT) | |||||
| #define LV2_IS_UNIT_BPM(x) ((x) == LV2_UNIT_BPM) | |||||
| #define LV2_IS_UNIT_CENT(x) ((x) == LV2_UNIT_CENT) | |||||
| #define LV2_IS_UNIT_CM(x) ((x) == LV2_UNIT_CM) | |||||
| #define LV2_IS_UNIT_COEF(x) ((x) == LV2_UNIT_COEF) | |||||
| #define LV2_IS_UNIT_DB(x) ((x) == LV2_UNIT_DB) | |||||
| #define LV2_IS_UNIT_DEGREE(x) ((x) == LV2_UNIT_DEGREE) | |||||
| #define LV2_IS_UNIT_FRAME(x) ((x) == LV2_UNIT_FRAME) | |||||
| #define LV2_IS_UNIT_HZ(x) ((x) == LV2_UNIT_HZ) | |||||
| #define LV2_IS_UNIT_INCH(x) ((x) == LV2_UNIT_INCH) | |||||
| #define LV2_IS_UNIT_KHZ(x) ((x) == LV2_UNIT_KHZ) | |||||
| #define LV2_IS_UNIT_KM(x) ((x) == LV2_UNIT_KM) | |||||
| #define LV2_IS_UNIT_M(x) ((x) == LV2_UNIT_M) | |||||
| #define LV2_IS_UNIT_MHZ(x) ((x) == LV2_UNIT_MHZ) | |||||
| #define LV2_IS_UNIT_MIDINOTE(x) ((x) == LV2_UNIT_MIDINOTE) | |||||
| #define LV2_IS_UNIT_MILE(x) ((x) == LV2_UNIT_MILE) | |||||
| #define LV2_IS_UNIT_MIN(x) ((x) == LV2_UNIT_MIN) | |||||
| #define LV2_IS_UNIT_MM(x) ((x) == LV2_UNIT_MM) | |||||
| #define LV2_IS_UNIT_MS(x) ((x) == LV2_UNIT_MS) | |||||
| #define LV2_IS_UNIT_OCT(x) ((x) == LV2_UNIT_OCT) | |||||
| #define LV2_IS_UNIT_PC(x) ((x) == LV2_UNIT_PC) | |||||
| #define LV2_IS_UNIT_S(x) ((x) == LV2_UNIT_S) | |||||
| #define LV2_IS_UNIT_SEMITONE(x) ((x) == LV2_UNIT_SEMITONE) | |||||
| // Port Unit Hints | // Port Unit Hints | ||||
| #define LV2_PORT_UNIT 0x1 | |||||
| #define LV2_PORT_UNIT_NAME 0x2 | |||||
| #define LV2_PORT_UNIT_RENDER 0x4 | |||||
| #define LV2_PORT_UNIT_SYMBOL 0x8 | |||||
| #define LV2_HAVE_UNIT(x) ((x) & LV2_PORT_UNIT) | |||||
| #define LV2_HAVE_UNIT_NAME(x) ((x) & LV2_PORT_UNIT_NAME) | |||||
| #define LV2_HAVE_UNIT_RENDER(x) ((x) & LV2_PORT_UNIT_RENDER) | |||||
| #define LV2_HAVE_UNIT_SYMBOL(x) ((x) & LV2_PORT_UNIT_SYMBOL) | |||||
| #define LV2_PORT_UNIT_NAME 0x1 | |||||
| #define LV2_PORT_UNIT_RENDER 0x2 | |||||
| #define LV2_PORT_UNIT_SYMBOL 0x4 | |||||
| #define LV2_PORT_UNIT_UNIT 0x8 | |||||
| #define LV2_HAVE_PORT_UNIT_NAME(x) ((x) & LV2_PORT_UNIT_NAME) | |||||
| #define LV2_HAVE_PORT_UNIT_RENDER(x) ((x) & LV2_PORT_UNIT_RENDER) | |||||
| #define LV2_HAVE_PORT_UNIT_SYMBOL(x) ((x) & LV2_PORT_UNIT_SYMBOL) | |||||
| #define LV2_HAVE_PORT_UNIT_UNIT(x) ((x) & LV2_PORT_UNIT_UNIT) | |||||
| // Port Unit Unit | |||||
| #define LV2_PORT_UNIT_BAR 0x01 | |||||
| #define LV2_PORT_UNIT_BEAT 0x02 | |||||
| #define LV2_PORT_UNIT_BPM 0x03 | |||||
| #define LV2_PORT_UNIT_CENT 0x04 | |||||
| #define LV2_PORT_UNIT_CM 0x05 | |||||
| #define LV2_PORT_UNIT_COEF 0x06 | |||||
| #define LV2_PORT_UNIT_DB 0x07 | |||||
| #define LV2_PORT_UNIT_DEGREE 0x08 | |||||
| #define LV2_PORT_UNIT_FRAME 0x09 | |||||
| #define LV2_PORT_UNIT_HZ 0x0A | |||||
| #define LV2_PORT_UNIT_INCH 0x0B | |||||
| #define LV2_PORT_UNIT_KHZ 0x0C | |||||
| #define LV2_PORT_UNIT_KM 0x0D | |||||
| #define LV2_PORT_UNIT_M 0x0E | |||||
| #define LV2_PORT_UNIT_MHZ 0x0F | |||||
| #define LV2_PORT_UNIT_MIDINOTE 0x10 | |||||
| #define LV2_PORT_UNIT_MILE 0x11 | |||||
| #define LV2_PORT_UNIT_MIN 0x12 | |||||
| #define LV2_PORT_UNIT_MM 0x13 | |||||
| #define LV2_PORT_UNIT_MS 0x14 | |||||
| #define LV2_PORT_UNIT_OCT 0x15 | |||||
| #define LV2_PORT_UNIT_PC 0x16 | |||||
| #define LV2_PORT_UNIT_S 0x17 | |||||
| #define LV2_PORT_UNIT_SEMITONE 0x18 | |||||
| #define LV2_IS_PORT_UNIT_BAR(x) ((x) == LV2_PORT_UNIT_BAR) | |||||
| #define LV2_IS_PORT_UNIT_BEAT(x) ((x) == LV2_PORT_UNIT_BEAT) | |||||
| #define LV2_IS_PORT_UNIT_BPM(x) ((x) == LV2_PORT_UNIT_BPM) | |||||
| #define LV2_IS_PORT_UNIT_CENT(x) ((x) == LV2_PORT_UNIT_CENT) | |||||
| #define LV2_IS_PORT_UNIT_CM(x) ((x) == LV2_PORT_UNIT_CM) | |||||
| #define LV2_IS_PORT_UNIT_COEF(x) ((x) == LV2_PORT_UNIT_COEF) | |||||
| #define LV2_IS_PORT_UNIT_DB(x) ((x) == LV2_PORT_UNIT_DB) | |||||
| #define LV2_IS_PORT_UNIT_DEGREE(x) ((x) == LV2_PORT_UNIT_DEGREE) | |||||
| #define LV2_IS_PORT_UNIT_FRAME(x) ((x) == LV2_PORT_UNIT_FRAME) | |||||
| #define LV2_IS_PORT_UNIT_HZ(x) ((x) == LV2_PORT_UNIT_HZ) | |||||
| #define LV2_IS_PORT_UNIT_INCH(x) ((x) == LV2_PORT_UNIT_INCH) | |||||
| #define LV2_IS_PORT_UNIT_KHZ(x) ((x) == LV2_PORT_UNIT_KHZ) | |||||
| #define LV2_IS_PORT_UNIT_KM(x) ((x) == LV2_PORT_UNIT_KM) | |||||
| #define LV2_IS_PORT_UNIT_M(x) ((x) == LV2_PORT_UNIT_M) | |||||
| #define LV2_IS_PORT_UNIT_MHZ(x) ((x) == LV2_PORT_UNIT_MHZ) | |||||
| #define LV2_IS_PORT_UNIT_MIDINOTE(x) ((x) == LV2_PORT_UNIT_MIDINOTE) | |||||
| #define LV2_IS_PORT_UNIT_MILE(x) ((x) == LV2_PORT_UNIT_MILE) | |||||
| #define LV2_IS_PORT_UNIT_MIN(x) ((x) == LV2_PORT_UNIT_MIN) | |||||
| #define LV2_IS_PORT_UNIT_MM(x) ((x) == LV2_PORT_UNIT_MM) | |||||
| #define LV2_IS_PORT_UNIT_MS(x) ((x) == LV2_PORT_UNIT_MS) | |||||
| #define LV2_IS_PORT_UNIT_OCT(x) ((x) == LV2_PORT_UNIT_OCT) | |||||
| #define LV2_IS_PORT_UNIT_PC(x) ((x) == LV2_PORT_UNIT_PC) | |||||
| #define LV2_IS_PORT_UNIT_S(x) ((x) == LV2_PORT_UNIT_S) | |||||
| #define LV2_IS_PORT_UNIT_SEMITONE(x) ((x) == LV2_PORT_UNIT_SEMITONE) | |||||
| // Port Types | // Port Types | ||||
| #define LV2_PORT_INPUT 0x01 | #define LV2_PORT_INPUT 0x01 | ||||
| @@ -118,9 +132,9 @@ typedef unsigned long long LV2_PluginType; | |||||
| #define LV2_PORT_EVENT 0x80 | #define LV2_PORT_EVENT 0x80 | ||||
| #define LV2_PORT_MIDI_LL 0x100 | #define LV2_PORT_MIDI_LL 0x100 | ||||
| // Port Support Types | |||||
| #define LV2_PORT_SUPPORTS_MIDI_EVENT 0x1000 | |||||
| #define LV2_PORT_SUPPORTS_PATCH_MESSAGE 0x2000 | |||||
| // Port Data Types | |||||
| #define LV2_PORT_DATA_MIDI_EVENT 0x1000 | |||||
| #define LV2_PORT_DATA_PATCH_MESSAGE 0x2000 | |||||
| #define LV2_IS_PORT_INPUT(x) ((x) & LV2_PORT_INPUT) | #define LV2_IS_PORT_INPUT(x) ((x) & LV2_PORT_INPUT) | ||||
| #define LV2_IS_PORT_OUTPUT(x) ((x) & LV2_PORT_OUTPUT) | #define LV2_IS_PORT_OUTPUT(x) ((x) & LV2_PORT_OUTPUT) | ||||
| @@ -131,6 +145,9 @@ typedef unsigned long long LV2_PluginType; | |||||
| #define LV2_IS_PORT_EVENT(x) ((x) & LV2_PORT_EVENT) | #define LV2_IS_PORT_EVENT(x) ((x) & LV2_PORT_EVENT) | ||||
| #define LV2_IS_PORT_MIDI_LL(x) ((x) & LV2_PORT_MIDI_LL) | #define LV2_IS_PORT_MIDI_LL(x) ((x) & LV2_PORT_MIDI_LL) | ||||
| #define LV2_PORT_SUPPORTS_MIDI_EVENT ((x) & LV2_PORT_DATA_MIDI_EVENT) | |||||
| #define LV2_PORT_SUPPORTS_PATCH_MESSAGE ((x) & LV2_PORT_DATA_PATCH_MESSAGE) | |||||
| // Port Properties | // Port Properties | ||||
| #define LV2_PORT_OPTIONAL 0x0001 | #define LV2_PORT_OPTIONAL 0x0001 | ||||
| #define LV2_PORT_ENUMERATION 0x0002 | #define LV2_PORT_ENUMERATION 0x0002 | ||||
| @@ -190,11 +207,7 @@ typedef unsigned long long LV2_PluginType; | |||||
| #define LV2_IS_PORT_DESIGNATION_TIME_FRAMES_PER_SECOND(x) ((x) == LV2_PORT_DESIGNATION_TIME_FRAMES_PER_SECOND) | #define LV2_IS_PORT_DESIGNATION_TIME_FRAMES_PER_SECOND(x) ((x) == LV2_PORT_DESIGNATION_TIME_FRAMES_PER_SECOND) | ||||
| #define LV2_IS_PORT_DESIGNATION_TIME_POSITION(x) ((x) == LV2_PORT_DESIGNATION_TIME_POSITION) | #define LV2_IS_PORT_DESIGNATION_TIME_POSITION(x) ((x) == LV2_PORT_DESIGNATION_TIME_POSITION) | ||||
| #define LV2_IS_PORT_DESIGNATION_TIME_SPEED(x) ((x) == LV2_PORT_DESIGNATION_TIME_SPEED) | #define LV2_IS_PORT_DESIGNATION_TIME_SPEED(x) ((x) == LV2_PORT_DESIGNATION_TIME_SPEED) | ||||
| #define LV2_IS_PORT_DESIGNATION_TIME(x) ((x) == LV2_PORT_DESIGNATION_TIME_BAR || (x) == LV2_PORT_DESIGNATION_TIME_BAR_BEAT || \ | |||||
| (x) == LV2_PORT_DESIGNATION_TIME_BEAT || (x) == LV2_PORT_DESIGNATION_TIME_BEAT_UNIT || \ | |||||
| (x) == LV2_PORT_DESIGNATION_TIME_BEATS_PER_BAR || (x) == LV2_PORT_DESIGNATION_TIME_BEATS_PER_MINUTE || \ | |||||
| (x) == LV2_PORT_DESIGNATION_TIME_FRAME || (x) == LV2_PORT_DESIGNATION_TIME_FRAMES_PER_SECOND || \ | |||||
| (x) == LV2_PORT_DESIGNATION_TIME_POSITION || (x) == LV2_PORT_DESIGNATION_TIME_SPEED) | |||||
| #define LV2_IS_PORT_DESIGNATION_TIME(x) ((x) >= LV2_PORT_DESIGNATION_TIME_BAR && (x) <= LV2_PORT_DESIGNATION_TIME_SPEED) | |||||
| // Preset State Types (TODO: Null is not a type, this is just a placeholder) | // Preset State Types (TODO: Null is not a type, this is just a placeholder) | ||||
| #define LV2_PRESET_STATE_NULL 0x0 | #define LV2_PRESET_STATE_NULL 0x0 | ||||
| @@ -212,15 +225,17 @@ typedef unsigned long long LV2_PluginType; | |||||
| #define LV2_UI_GTK2 0x1 | #define LV2_UI_GTK2 0x1 | ||||
| #define LV2_UI_GTK3 0x2 | #define LV2_UI_GTK3 0x2 | ||||
| #define LV2_UI_QT4 0x3 | #define LV2_UI_QT4 0x3 | ||||
| #define LV2_UI_COCOA 0x4 | |||||
| #define LV2_UI_WINDOWS 0x5 | |||||
| #define LV2_UI_X11 0x6 | |||||
| #define LV2_UI_EXTERNAL 0x7 | |||||
| #define LV2_UI_OLD_EXTERNAL 0x8 | |||||
| #define LV2_UI_QT5 0x4 | |||||
| #define LV2_UI_COCOA 0x5 | |||||
| #define LV2_UI_WINDOWS 0x6 | |||||
| #define LV2_UI_X11 0x7 | |||||
| #define LV2_UI_EXTERNAL 0x8 | |||||
| #define LV2_UI_OLD_EXTERNAL 0x9 | |||||
| #define LV2_IS_UI_GTK2(x) ((x) == LV2_UI_GTK2) | #define LV2_IS_UI_GTK2(x) ((x) == LV2_UI_GTK2) | ||||
| #define LV2_IS_UI_GTK3(x) ((x) == LV2_UI_GTK3) | #define LV2_IS_UI_GTK3(x) ((x) == LV2_UI_GTK3) | ||||
| #define LV2_IS_UI_QT4(x) ((x) == LV2_UI_QT4) | #define LV2_IS_UI_QT4(x) ((x) == LV2_UI_QT4) | ||||
| #define LV2_IS_UI_QT5(x) ((x) == LV2_UI_QT5) | |||||
| #define LV2_IS_UI_COCOA(x) ((x) == LV2_UI_COCOA) | #define LV2_IS_UI_COCOA(x) ((x) == LV2_UI_COCOA) | ||||
| #define LV2_IS_UI_WINDOWS(x) ((x) == LV2_UI_WINDOWS) | #define LV2_IS_UI_WINDOWS(x) ((x) == LV2_UI_WINDOWS) | ||||
| #define LV2_IS_UI_X11(x) ((x) == LV2_UI_X11) | #define LV2_IS_UI_X11(x) ((x) == LV2_UI_X11) | ||||
| @@ -228,55 +243,55 @@ typedef unsigned long long LV2_PluginType; | |||||
| #define LV2_IS_UI_OLD_EXTERNAL(x) ((x) == LV2_UI_OLD_EXTERNAL) | #define LV2_IS_UI_OLD_EXTERNAL(x) ((x) == LV2_UI_OLD_EXTERNAL) | ||||
| // Plugin Types | // Plugin Types | ||||
| #define LV2_CLASS_ALLPASS 0x000000001LL | |||||
| #define LV2_CLASS_AMPLIFIER 0x000000002LL | |||||
| #define LV2_CLASS_ANALYSER 0x000000004LL | |||||
| #define LV2_CLASS_BANDPASS 0x000000008LL | |||||
| #define LV2_CLASS_CHORUS 0x000000010LL | |||||
| #define LV2_CLASS_COMB 0x000000020LL | |||||
| #define LV2_CLASS_COMPRESSOR 0x000000040LL | |||||
| #define LV2_CLASS_CONSTANT 0x000000080LL | |||||
| #define LV2_CLASS_CONVERTER 0x000000100LL | |||||
| #define LV2_CLASS_DELAY 0x000000200LL | |||||
| #define LV2_CLASS_DISTORTION 0x000000400LL | |||||
| #define LV2_CLASS_DYNAMICS 0x000000800LL | |||||
| #define LV2_CLASS_EQ 0x000001000LL | |||||
| #define LV2_CLASS_EXPANDER 0x000002000LL | |||||
| #define LV2_CLASS_FILTER 0x000004000LL | |||||
| #define LV2_CLASS_FLANGER 0x000008000LL | |||||
| #define LV2_CLASS_FUNCTION 0x000010000LL | |||||
| #define LV2_CLASS_GATE 0x000020000LL | |||||
| #define LV2_CLASS_GENERATOR 0x000040000LL | |||||
| #define LV2_CLASS_HIGHPASS 0x000080000LL | |||||
| #define LV2_CLASS_INSTRUMENT 0x000100000LL | |||||
| #define LV2_CLASS_LIMITER 0x000200000LL | |||||
| #define LV2_CLASS_LOWPASS 0x000400000LL | |||||
| #define LV2_CLASS_MIXER 0x000800000LL | |||||
| #define LV2_CLASS_MODULATOR 0x001000000LL | |||||
| #define LV2_CLASS_MULTI_EQ 0x002000000LL | |||||
| #define LV2_CLASS_OSCILLATOR 0x004000000LL | |||||
| #define LV2_CLASS_PARA_EQ 0x008000000LL | |||||
| #define LV2_CLASS_PHASER 0x010000000LL | |||||
| #define LV2_CLASS_PITCH 0x020000000LL | |||||
| #define LV2_CLASS_REVERB 0x040000000LL | |||||
| #define LV2_CLASS_SIMULATOR 0x080000000LL | |||||
| #define LV2_CLASS_SPATIAL 0x100000000LL | |||||
| #define LV2_CLASS_SPECTRAL 0x200000000LL | |||||
| #define LV2_CLASS_UTILITY 0x400000000LL | |||||
| #define LV2_CLASS_WAVESHAPER 0x800000000LL | |||||
| #define LV2_GROUP_DELAY (LV2_CLASS_DELAY|LV2_CLASS_REVERB) | |||||
| #define LV2_GROUP_DISTORTION (LV2_CLASS_DISTORTION|LV2_CLASS_WAVESHAPER) | |||||
| #define LV2_GROUP_DYNAMICS (LV2_CLASS_DYNAMICS|LV2_CLASS_AMPLIFIER|LV2_CLASS_COMPRESSOR|LV2_CLASS_EXPANDER|LV2_CLASS_GATE|LV2_CLASS_LIMITER) | |||||
| #define LV2_GROUP_EQ (LV2_CLASS_EQ|LV2_CLASS_PARA_EQ|LV2_CLASS_MULTI_EQ) | |||||
| #define LV2_GROUP_FILTER (LV2_CLASS_FILTER|LV2_CLASS_ALLPASS|LV2_CLASS_BANDPASS|LV2_CLASS_COMB|LV2_GROUP_EQ|LV2_CLASS_HIGHPASS|LV2_CLASS_LOWPASS) | |||||
| #define LV2_GROUP_GENERATOR (LV2_CLASS_GENERATOR|LV2_CLASS_CONSTANT|LV2_CLASS_INSTRUMENT|LV2_CLASS_OSCILLATOR) | |||||
| #define LV2_GROUP_MODULATOR (LV2_CLASS_MODULATOR|LV2_CLASS_CHORUS|LV2_CLASS_FLANGER|LV2_CLASS_PHASER) | |||||
| #define LV2_GROUP_REVERB (LV2_CLASS_REVERB) | |||||
| #define LV2_GROUP_SIMULATOR (LV2_CLASS_SIMULATOR|LV2_CLASS_REVERB) | |||||
| #define LV2_GROUP_SPATIAL (LV2_CLASS_SPATIAL) | |||||
| #define LV2_GROUP_SPECTRAL (LV2_CLASS_SPECTRAL|LV2_CLASS_PITCH) | |||||
| #define LV2_GROUP_UTILITY (LV2_CLASS_UTILITY|LV2_CLASS_ANALYSER|LV2_CLASS_CONVERTER|LV2_CLASS_FUNCTION|LV2_CLASS_MIXER) | |||||
| #define LV2_PLUGIN_ALLPASS 0x000000001LL | |||||
| #define LV2_PLUGIN_AMPLIFIER 0x000000002LL | |||||
| #define LV2_PLUGIN_ANALYSER 0x000000004LL | |||||
| #define LV2_PLUGIN_BANDPASS 0x000000008LL | |||||
| #define LV2_PLUGIN_CHORUS 0x000000010LL | |||||
| #define LV2_PLUGIN_COMB 0x000000020LL | |||||
| #define LV2_PLUGIN_COMPRESSOR 0x000000040LL | |||||
| #define LV2_PLUGIN_CONSTANT 0x000000080LL | |||||
| #define LV2_PLUGIN_CONVERTER 0x000000100LL | |||||
| #define LV2_PLUGIN_DELAY 0x000000200LL | |||||
| #define LV2_PLUGIN_DISTORTION 0x000000400LL | |||||
| #define LV2_PLUGIN_DYNAMICS 0x000000800LL | |||||
| #define LV2_PLUGIN_EQ 0x000001000LL | |||||
| #define LV2_PLUGIN_EXPANDER 0x000002000LL | |||||
| #define LV2_PLUGIN_FILTER 0x000004000LL | |||||
| #define LV2_PLUGIN_FLANGER 0x000008000LL | |||||
| #define LV2_PLUGIN_FUNCTION 0x000010000LL | |||||
| #define LV2_PLUGIN_GATE 0x000020000LL | |||||
| #define LV2_PLUGIN_GENERATOR 0x000040000LL | |||||
| #define LV2_PLUGIN_HIGHPASS 0x000080000LL | |||||
| #define LV2_PLUGIN_INSTRUMENT 0x000100000LL | |||||
| #define LV2_PLUGIN_LIMITER 0x000200000LL | |||||
| #define LV2_PLUGIN_LOWPASS 0x000400000LL | |||||
| #define LV2_PLUGIN_MIXER 0x000800000LL | |||||
| #define LV2_PLUGIN_MODULATOR 0x001000000LL | |||||
| #define LV2_PLUGIN_MULTI_EQ 0x002000000LL | |||||
| #define LV2_PLUGIN_OSCILLATOR 0x004000000LL | |||||
| #define LV2_PLUGIN_PARA_EQ 0x008000000LL | |||||
| #define LV2_PLUGIN_PHASER 0x010000000LL | |||||
| #define LV2_PLUGIN_PITCH 0x020000000LL | |||||
| #define LV2_PLUGIN_REVERB 0x040000000LL | |||||
| #define LV2_PLUGIN_SIMULATOR 0x080000000LL | |||||
| #define LV2_PLUGIN_SPATIAL 0x100000000LL | |||||
| #define LV2_PLUGIN_SPECTRAL 0x200000000LL | |||||
| #define LV2_PLUGIN_UTILITY 0x400000000LL | |||||
| #define LV2_PLUGIN_WAVESHAPER 0x800000000LL | |||||
| #define LV2_GROUP_DELAY (LV2_PLUGIN_DELAY|LV2_PLUGIN_REVERB) | |||||
| #define LV2_GROUP_DISTORTION (LV2_PLUGIN_DISTORTION|LV2_PLUGIN_WAVESHAPER) | |||||
| #define LV2_GROUP_DYNAMICS (LV2_PLUGIN_DYNAMICS|LV2_PLUGIN_AMPLIFIER|LV2_PLUGIN_COMPRESSOR|LV2_PLUGIN_EXPANDER|LV2_PLUGIN_GATE|LV2_PLUGIN_LIMITER) | |||||
| #define LV2_GROUP_EQ (LV2_PLUGIN_EQ|LV2_PLUGIN_PARA_EQ|LV2_PLUGIN_MULTI_EQ) | |||||
| #define LV2_GROUP_FILTER (LV2_PLUGIN_FILTER|LV2_PLUGIN_ALLPASS|LV2_PLUGIN_BANDPASS|LV2_PLUGIN_COMB|LV2_GROUP_EQ|LV2_PLUGIN_HIGHPASS|LV2_PLUGIN_LOWPASS) | |||||
| #define LV2_GROUP_GENERATOR (LV2_PLUGIN_GENERATOR|LV2_PLUGIN_CONSTANT|LV2_PLUGIN_INSTRUMENT|LV2_PLUGIN_OSCILLATOR) | |||||
| #define LV2_GROUP_MODULATOR (LV2_PLUGIN_MODULATOR|LV2_PLUGIN_CHORUS|LV2_PLUGIN_FLANGER|LV2_PLUGIN_PHASER) | |||||
| #define LV2_GROUP_REVERB (LV2_PLUGIN_REVERB) | |||||
| #define LV2_GROUP_SIMULATOR (LV2_PLUGIN_SIMULATOR|LV2_PLUGIN_REVERB) | |||||
| #define LV2_GROUP_SPATIAL (LV2_PLUGIN_SPATIAL) | |||||
| #define LV2_GROUP_SPECTRAL (LV2_PLUGIN_SPECTRAL|LV2_PLUGIN_PITCH) | |||||
| #define LV2_GROUP_UTILITY (LV2_PLUGIN_UTILITY|LV2_PLUGIN_ANALYSER|LV2_PLUGIN_CONVERTER|LV2_PLUGIN_FUNCTION|LV2_PLUGIN_MIXER) | |||||
| #define LV2_IS_DELAY(x) ((x) & LV2_GROUP_DELAY) | #define LV2_IS_DELAY(x) ((x) & LV2_GROUP_DELAY) | ||||
| #define LV2_IS_DISTORTION(x) ((x) & LV2_GROUP_DISTORTION) | #define LV2_IS_DISTORTION(x) ((x) & LV2_GROUP_DISTORTION) | ||||
| @@ -304,9 +319,9 @@ struct LV2_RDF_PortMidiMap { | |||||
| // Port Points | // Port Points | ||||
| struct LV2_RDF_PortPoints { | struct LV2_RDF_PortPoints { | ||||
| LV2_Property Hints; | LV2_Property Hints; | ||||
| LV2_Data Default; | |||||
| LV2_Data Minimum; | |||||
| LV2_Data Maximum; | |||||
| float Default; | |||||
| float Minimum; | |||||
| float Maximum; | |||||
| LV2_RDF_PortPoints() | LV2_RDF_PortPoints() | ||||
| : Hints(0x0), | : Hints(0x0), | ||||
| @@ -317,18 +332,18 @@ struct LV2_RDF_PortPoints { | |||||
| // Port Unit | // Port Unit | ||||
| struct LV2_RDF_PortUnit { | struct LV2_RDF_PortUnit { | ||||
| LV2_Property Type; | |||||
| LV2_Property Hints; | LV2_Property Hints; | ||||
| const char* Name; | const char* Name; | ||||
| const char* Render; | const char* Render; | ||||
| const char* Symbol; | const char* Symbol; | ||||
| LV2_Property Unit; | |||||
| LV2_RDF_PortUnit() | LV2_RDF_PortUnit() | ||||
| : Type(0), | |||||
| Hints(0x0), | |||||
| : Hints(0x0), | |||||
| Name(nullptr), | Name(nullptr), | ||||
| Render(nullptr), | Render(nullptr), | ||||
| Symbol(nullptr) {} | |||||
| Symbol(nullptr), | |||||
| Unit(0) {} | |||||
| ~LV2_RDF_PortUnit() | ~LV2_RDF_PortUnit() | ||||
| { | { | ||||
| @@ -346,7 +361,7 @@ struct LV2_RDF_PortUnit { | |||||
| // Port Scale Point | // Port Scale Point | ||||
| struct LV2_RDF_PortScalePoint { | struct LV2_RDF_PortScalePoint { | ||||
| const char* Label; | const char* Label; | ||||
| LV2_Data Value; | |||||
| float Value; | |||||
| LV2_RDF_PortScalePoint() | LV2_RDF_PortScalePoint() | ||||
| : Label(nullptr), | : Label(nullptr), | ||||
| @@ -361,7 +376,7 @@ struct LV2_RDF_PortScalePoint { | |||||
| // Port | // Port | ||||
| struct LV2_RDF_Port { | struct LV2_RDF_Port { | ||||
| LV2_Property Type; | |||||
| LV2_Type Type; | |||||
| LV2_Property Properties; | LV2_Property Properties; | ||||
| LV2_Property Designation; | LV2_Property Designation; | ||||
| const char* Name; | const char* Name; | ||||
| @@ -375,8 +390,7 @@ struct LV2_RDF_Port { | |||||
| LV2_RDF_PortScalePoint* ScalePoints; | LV2_RDF_PortScalePoint* ScalePoints; | ||||
| LV2_RDF_Port() | LV2_RDF_Port() | ||||
| : Type(0x0), | |||||
| Properties(0x0), | |||||
| : Properties(0x0), | |||||
| Designation(0), | Designation(0), | ||||
| Name(nullptr), | Name(nullptr), | ||||
| Symbol(nullptr), | Symbol(nullptr), | ||||
| @@ -399,7 +413,7 @@ struct LV2_RDF_Port { | |||||
| // Preset Port | // Preset Port | ||||
| struct LV2_RDF_PresetPort { | struct LV2_RDF_PresetPort { | ||||
| const char* Symbol; | const char* Symbol; | ||||
| LV2_Data Value; | |||||
| float Value; | |||||
| LV2_RDF_PresetPort() | LV2_RDF_PresetPort() | ||||
| : Symbol(nullptr), | : Symbol(nullptr), | ||||
| @@ -484,7 +498,7 @@ struct LV2_RDF_Feature { | |||||
| // UI | // UI | ||||
| struct LV2_RDF_UI { | struct LV2_RDF_UI { | ||||
| LV2_Property Type; | |||||
| LV2_Type Type; | |||||
| LV2_URI URI; | LV2_URI URI; | ||||
| const char* Binary; | const char* Binary; | ||||
| const char* Bundle; | const char* Bundle; | ||||
| @@ -496,8 +510,7 @@ struct LV2_RDF_UI { | |||||
| LV2_URI* Extensions; | LV2_URI* Extensions; | ||||
| LV2_RDF_UI() | LV2_RDF_UI() | ||||
| : Type(0), | |||||
| URI(nullptr), | |||||
| : URI(nullptr), | |||||
| Binary(nullptr), | Binary(nullptr), | ||||
| Bundle(nullptr), | Bundle(nullptr), | ||||
| FeatureCount(0), | FeatureCount(0), | ||||
| @@ -2,7 +2,7 @@ | |||||
| #ifndef _SERD_CONFIG_H_ | #ifndef _SERD_CONFIG_H_ | ||||
| #define _SERD_CONFIG_H_ | #define _SERD_CONFIG_H_ | ||||
| #define SERD_VERSION "0.18.0" | |||||
| #define SERD_VERSION "0.18.2" | |||||
| #if defined(__APPLE__) || defined(__HAIKU__) | #if defined(__APPLE__) || defined(__HAIKU__) | ||||
| #define HAVE_FMAX 1 | #define HAVE_FMAX 1 | ||||
| @@ -2,7 +2,7 @@ | |||||
| #ifndef _SORD_CONFIG_H_ | #ifndef _SORD_CONFIG_H_ | ||||
| #define _SORD_CONFIG_H_ | #define _SORD_CONFIG_H_ | ||||
| #define SORD_VERSION "0.10.0" | |||||
| #define SORD_VERSION "0.10.4" | |||||
| #define HAVE_SERD 1 | #define HAVE_SERD 1 | ||||
| #define HAVE_PCRE 1 | #define HAVE_PCRE 1 | ||||
| @@ -60,4 +60,4 @@ carla_plugin.a: $(OBJS) | |||||
| $(CXX) -c $< $(BUILD_CXX_FLAGS) -o $@ | $(CXX) -c $< $(BUILD_CXX_FLAGS) -o $@ | ||||
| clean: | clean: | ||||
| rm -f *.a $(OBJS) | |||||
| rm -f *.a *.o | |||||
| @@ -61,7 +61,6 @@ CarlaPlugin::CarlaPlugin(CarlaEngine* const engine, const unsigned short id) | |||||
| m_fixedBufferSize = true; | m_fixedBufferSize = true; | ||||
| m_processHighPrecision = false; | m_processHighPrecision = false; | ||||
| #ifndef BUILD_BRIDGE | |||||
| { | { | ||||
| const CarlaEngineOptions& options(x_engine->getOptions()); | const CarlaEngineOptions& options(x_engine->getOptions()); | ||||
| @@ -70,7 +69,6 @@ CarlaPlugin::CarlaPlugin(CarlaEngine* const engine, const unsigned short id) | |||||
| if (options.processMode == PROCESS_MODE_CONTINUOUS_RACK) | if (options.processMode == PROCESS_MODE_CONTINUOUS_RACK) | ||||
| m_ctrlInChannel = m_id; | m_ctrlInChannel = m_id; | ||||
| } | } | ||||
| #endif | |||||
| // latency | // latency | ||||
| m_latency = 0; | m_latency = 0; | ||||
| @@ -432,7 +430,6 @@ void CarlaPlugin::getGuiInfo(GuiType* const type, bool* const resizable) | |||||
| // ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
| // Set data (internal stuff) | // Set data (internal stuff) | ||||
| #ifndef BUILD_BRIDGE | |||||
| void CarlaPlugin::setId(const unsigned short id) | void CarlaPlugin::setId(const unsigned short id) | ||||
| { | { | ||||
| m_id = id; | m_id = id; | ||||
| @@ -440,7 +437,6 @@ void CarlaPlugin::setId(const unsigned short id) | |||||
| if (x_engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | if (x_engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | ||||
| m_ctrlInChannel = id; | m_ctrlInChannel = id; | ||||
| } | } | ||||
| #endif | |||||
| void CarlaPlugin::setEnabled(const bool yesNo) | void CarlaPlugin::setEnabled(const bool yesNo) | ||||
| { | { | ||||
| @@ -954,13 +950,7 @@ void CarlaPlugin::registerToOscClient() | |||||
| } | } | ||||
| // Plugin Parameters | // Plugin Parameters | ||||
| #ifdef BUILD_BRIDGE | |||||
| const uint32_t maxParameters = MAX_PARAMETERS; | |||||
| #else | |||||
| const uint32_t maxParameters = x_engine->getOptions().maxParameters; | |||||
| #endif | |||||
| if (param.count > 0 && param.count < maxParameters) | |||||
| if (param.count > 0 && param.count < x_engine->getOptions().maxParameters) | |||||
| { | { | ||||
| char bufName[STR_MAX], bufUnit[STR_MAX]; | char bufName[STR_MAX], bufUnit[STR_MAX]; | ||||
| @@ -1106,14 +1096,8 @@ bool CarlaPlugin::waitForOscGuiShow() | |||||
| { | { | ||||
| qWarning("CarlaPlugin::waitForOscGuiShow()"); | qWarning("CarlaPlugin::waitForOscGuiShow()"); | ||||
| #ifndef BUILD_BRIDGE | |||||
| const uint oscUiTimeout = x_engine->getOptions().oscUiTimeout; | |||||
| #else | |||||
| const uint oscUiTimeout = 40; | |||||
| #endif | |||||
| // wait for UI 'update' call | // wait for UI 'update' call | ||||
| for (uint i=0; i < oscUiTimeout; i++) | |||||
| for (uint i=0, oscUiTimeout = x_engine->getOptions().oscUiTimeout; i < oscUiTimeout; i++) | |||||
| { | { | ||||
| if (osc.data.target) | if (osc.data.target) | ||||
| { | { | ||||
| @@ -1125,7 +1109,7 @@ bool CarlaPlugin::waitForOscGuiShow() | |||||
| carla_msleep(100); | carla_msleep(100); | ||||
| } | } | ||||
| qWarning("CarlaPlugin::waitForOscGuiShow() - Timeout while waiting for UI to respond (waited %u msecs)", oscUiTimeout); | |||||
| qWarning("CarlaPlugin::waitForOscGuiShow() - Timeout while waiting for UI to respond (waited %u msecs)", x_engine->getOptions().oscUiTimeout); | |||||
| return false; | return false; | ||||
| } | } | ||||
| @@ -460,14 +460,12 @@ public: | |||||
| // ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
| // Set data (internal stuff) | // Set data (internal stuff) | ||||
| #ifndef BUILD_BRIDGE | |||||
| /*! | /*! | ||||
| * Set the plugin's id to \a id. | * Set the plugin's id to \a id. | ||||
| * | * | ||||
| * \see id() | * \see id() | ||||
| */ | */ | ||||
| void setId(const unsigned short id); | void setId(const unsigned short id); | ||||
| #endif | |||||
| /*! | /*! | ||||
| * Enable or disable the plugin according to \a yesNo. | * Enable or disable the plugin according to \a yesNo. | ||||
| @@ -834,15 +832,17 @@ public: | |||||
| const char* const label; | const char* const label; | ||||
| }; | }; | ||||
| //#ifndef BUILD_BRIDGE | |||||
| static CarlaPlugin* newNative(const initializer& init); | static CarlaPlugin* newNative(const initializer& init); | ||||
| //#endif | |||||
| static CarlaPlugin* newLADSPA(const initializer& init, const void* const extra); | static CarlaPlugin* newLADSPA(const initializer& init, const void* const extra); | ||||
| static CarlaPlugin* newDSSI(const initializer& init, const void* const extra); | static CarlaPlugin* newDSSI(const initializer& init, const void* const extra); | ||||
| static CarlaPlugin* newLV2(const initializer& init); | static CarlaPlugin* newLV2(const initializer& init); | ||||
| static CarlaPlugin* newVST(const initializer& init); | static CarlaPlugin* newVST(const initializer& init); | ||||
| //#ifndef BUILD_BRIDGE | |||||
| static CarlaPlugin* newGIG(const initializer& init); | static CarlaPlugin* newGIG(const initializer& init); | ||||
| static CarlaPlugin* newSF2(const initializer& init); | static CarlaPlugin* newSF2(const initializer& init); | ||||
| static CarlaPlugin* newSFZ(const initializer& init); | static CarlaPlugin* newSFZ(const initializer& init); | ||||
| //#ifndef BUILD_BRIDGE | |||||
| static CarlaPlugin* newBridge(const initializer& init, const BinaryType btype, const PluginType ptype, const void* const extra); | static CarlaPlugin* newBridge(const initializer& init, const BinaryType btype, const PluginType ptype, const void* const extra); | ||||
| //#endif | //#endif | ||||
| @@ -15,7 +15,6 @@ | |||||
| * For a full copy of the GNU General Public License see the COPYING file | * For a full copy of the GNU General Public License see the COPYING file | ||||
| */ | */ | ||||
| #include "carla_engine.hpp" | |||||
| #include "carla_plugin.hpp" | #include "carla_plugin.hpp" | ||||
| #include <QtCore/QProcess> | #include <QtCore/QProcess> | ||||
| @@ -69,9 +68,11 @@ void CarlaPluginThread::run() | |||||
| qDebug("CarlaPluginThread::run()"); | qDebug("CarlaPluginThread::run()"); | ||||
| if (! m_process) | if (! m_process) | ||||
| { | |||||
| m_process = new QProcess(nullptr); | m_process = new QProcess(nullptr); | ||||
| m_process->setProcessChannelMode(QProcess::ForwardedChannels); | |||||
| m_process->setProcessChannelMode(QProcess::ForwardedChannels); | |||||
| m_process->setProcessEnvironment(engine->getOptionsAsProcessEnvironment()); | |||||
| } | |||||
| QString name(plugin->name() ? plugin->name() : "(none)"); | QString name(plugin->name() ? plugin->name() : "(none)"); | ||||
| QStringList arguments; | QStringList arguments; | ||||
| @@ -62,13 +62,8 @@ public: | |||||
| if (osc.thread) | if (osc.thread) | ||||
| { | { | ||||
| #ifndef BUILD_BRIDGE | |||||
| const uint oscUiTimeout = x_engine->getOptions().oscUiTimeout; | |||||
| #else | |||||
| const uint oscUiTimeout = 40; | |||||
| #endif | |||||
| // Wait a bit first, try safe quit, then force kill | // Wait a bit first, try safe quit, then force kill | ||||
| if (osc.thread->isRunning() && ! osc.thread->wait(oscUiTimeout)) | |||||
| if (osc.thread->isRunning() && ! osc.thread->wait(x_engine->getOptions().oscUiTimeout)) | |||||
| { | { | ||||
| qWarning("Failed to properly stop DSSI GUI thread"); | qWarning("Failed to properly stop DSSI GUI thread"); | ||||
| osc.thread->terminate(); | osc.thread->terminate(); | ||||
| @@ -339,9 +334,7 @@ public: | |||||
| qDebug("DssiPlugin::reload() - start"); | qDebug("DssiPlugin::reload() - start"); | ||||
| CARLA_ASSERT(descriptor && ldescriptor); | CARLA_ASSERT(descriptor && ldescriptor); | ||||
| #ifndef BUILD_BRIDGE | |||||
| const ProcessMode processMode(x_engine->getOptions().processMode); | const ProcessMode processMode(x_engine->getOptions().processMode); | ||||
| #endif | |||||
| // Safely disable plugin for reload | // Safely disable plugin for reload | ||||
| const ScopedDisabler m(this); | const ScopedDisabler m(this); | ||||
| @@ -379,7 +372,6 @@ public: | |||||
| params += 1; | params += 1; | ||||
| } | } | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().forceStereo && (aIns == 1 || aOuts == 1) && ! h2) | if (x_engine->getOptions().forceStereo && (aIns == 1 || aOuts == 1) && ! h2) | ||||
| { | { | ||||
| h2 = ldescriptor->instantiate(ldescriptor, sampleRate); | h2 = ldescriptor->instantiate(ldescriptor, sampleRate); | ||||
| @@ -396,7 +388,6 @@ public: | |||||
| forcedStereoOut = true; | forcedStereoOut = true; | ||||
| } | } | ||||
| } | } | ||||
| #endif | |||||
| if (descriptor->run_synth || descriptor->run_multiple_synths) | if (descriptor->run_synth || descriptor->run_multiple_synths) | ||||
| mIns = 1; | mIns = 1; | ||||
| @@ -435,13 +426,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += ldescriptor->PortNames[i]; | portName += ldescriptor->PortNames[i]; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -634,13 +624,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "control-in"; | portName += "control-in"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -651,13 +640,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "control-out"; | portName += "control-out"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -668,13 +656,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "midi-in"; | portName += "midi-in"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -691,13 +678,11 @@ public: | |||||
| if (midi.portMin && aOut.count > 0) | if (midi.portMin && aOut.count > 0) | ||||
| m_hints |= PLUGIN_IS_SYNTH; | m_hints |= PLUGIN_IS_SYNTH; | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().useDssiVstChunks && QString(m_filename).endsWith("dssi-vst.so", Qt::CaseInsensitive)) | if (x_engine->getOptions().useDssiVstChunks && QString(m_filename).endsWith("dssi-vst.so", Qt::CaseInsensitive)) | ||||
| { | { | ||||
| if (descriptor->get_custom_data && descriptor->set_custom_data) | if (descriptor->get_custom_data && descriptor->set_custom_data) | ||||
| m_hints |= PLUGIN_USES_CHUNKS; | m_hints |= PLUGIN_USES_CHUNKS; | ||||
| } | } | ||||
| #endif | |||||
| if (aOuts > 0 && (aIns == aOuts || aIns == 1)) | if (aOuts > 0 && (aIns == aOuts || aIns == 1)) | ||||
| m_hints |= PLUGIN_CAN_DRYWET; | m_hints |= PLUGIN_CAN_DRYWET; | ||||
| @@ -813,7 +798,6 @@ public: | |||||
| midiprog.data[i].name = strdup(pdesc->Name ? pdesc->Name : ""); | midiprog.data[i].name = strdup(pdesc->Name ? pdesc->Name : ""); | ||||
| } | } | ||||
| #ifndef BUILD_BRIDGE | |||||
| // Update OSC Names | // Update OSC Names | ||||
| if (x_engine->isOscControlRegistered()) | if (x_engine->isOscControlRegistered()) | ||||
| { | { | ||||
| @@ -822,7 +806,6 @@ public: | |||||
| for (i=0; i < midiprog.count; i++) | for (i=0; i < midiprog.count; i++) | ||||
| x_engine->osc_send_control_set_midi_program_data(m_id, i, midiprog.data[i].bank, midiprog.data[i].program, midiprog.data[i].name); | x_engine->osc_send_control_set_midi_program_data(m_id, i, midiprog.data[i].bank, midiprog.data[i].program, midiprog.data[i].name); | ||||
| } | } | ||||
| #endif | |||||
| if (init) | if (init) | ||||
| { | { | ||||
| @@ -882,11 +865,7 @@ public: | |||||
| // -------------------------------------------------------------------------------------------------------- | // -------------------------------------------------------------------------------------------------------- | ||||
| // Input VU | // Input VU | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (aIn.count > 0 && x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | if (aIn.count > 0 && x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | ||||
| #else | |||||
| if (aIn.count > 0) | |||||
| #endif | |||||
| { | { | ||||
| if (aIn.count == 1) | if (aIn.count == 1) | ||||
| { | { | ||||
| @@ -1373,9 +1352,7 @@ public: | |||||
| } | } | ||||
| // Output VU | // Output VU | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | if (x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | ||||
| #endif | |||||
| { | { | ||||
| for (k=0; i < 2 && k < frames; k++) | for (k=0; i < 2 && k < frames; k++) | ||||
| { | { | ||||
| @@ -1643,7 +1620,6 @@ CarlaPlugin* CarlaPlugin::newDSSI(const initializer& init, const void* const ext | |||||
| plugin->reload(); | plugin->reload(); | ||||
| # ifndef BUILD_BRIDGE | |||||
| if (init.engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | if (init.engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | ||||
| { | { | ||||
| if (! (plugin->hints() & PLUGIN_CAN_FORCE_STEREO)) | if (! (plugin->hints() & PLUGIN_CAN_FORCE_STEREO)) | ||||
| @@ -1653,7 +1629,6 @@ CarlaPlugin* CarlaPlugin::newDSSI(const initializer& init, const void* const ext | |||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| } | } | ||||
| # endif | |||||
| plugin->registerToOscClient(); | plugin->registerToOscClient(); | ||||
| @@ -338,9 +338,7 @@ public: | |||||
| qDebug("LadspaPlugin::reload() - start"); | qDebug("LadspaPlugin::reload() - start"); | ||||
| CARLA_ASSERT(descriptor); | CARLA_ASSERT(descriptor); | ||||
| #ifndef BUILD_BRIDGE | |||||
| const ProcessMode processMode(x_engine->getOptions().processMode); | const ProcessMode processMode(x_engine->getOptions().processMode); | ||||
| #endif | |||||
| // Safely disable plugin for reload | // Safely disable plugin for reload | ||||
| const ScopedDisabler m(this); | const ScopedDisabler m(this); | ||||
| @@ -378,7 +376,6 @@ public: | |||||
| params += 1; | params += 1; | ||||
| } | } | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().forceStereo && (aIns == 1 || aOuts == 1) && ! h2) | if (x_engine->getOptions().forceStereo && (aIns == 1 || aOuts == 1) && ! h2) | ||||
| { | { | ||||
| h2 = descriptor->instantiate(descriptor, sampleRate); | h2 = descriptor->instantiate(descriptor, sampleRate); | ||||
| @@ -395,7 +392,6 @@ public: | |||||
| forcedStereoOut = true; | forcedStereoOut = true; | ||||
| } | } | ||||
| } | } | ||||
| #endif | |||||
| if (aIns > 0) | if (aIns > 0) | ||||
| { | { | ||||
| @@ -432,13 +428,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += descriptor->PortNames[i]; | portName += descriptor->PortNames[i]; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -626,13 +621,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "control-in"; | portName += "control-in"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -643,13 +637,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "control-out"; | portName += "control-out"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -748,11 +741,7 @@ public: | |||||
| // -------------------------------------------------------------------------------------------------------- | // -------------------------------------------------------------------------------------------------------- | ||||
| // Input VU | // Input VU | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (aIn.count > 0 && x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | if (aIn.count > 0 && x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | ||||
| #else | |||||
| if (aIn.count > 0) | |||||
| #endif | |||||
| { | { | ||||
| if (aIn.count == 1) | if (aIn.count == 1) | ||||
| { | { | ||||
| @@ -1045,9 +1034,7 @@ public: | |||||
| } | } | ||||
| // Output VU | // Output VU | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | if (x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | ||||
| #endif | |||||
| { | { | ||||
| for (k=0; i < 2 && k < frames; k++) | for (k=0; i < 2 && k < frames; k++) | ||||
| { | { | ||||
| @@ -1229,7 +1216,7 @@ CARLA_BACKEND_START_NAMESPACE | |||||
| CarlaPlugin* CarlaPlugin::newLADSPA(const initializer& init, const void* const extra) | CarlaPlugin* CarlaPlugin::newLADSPA(const initializer& init, const void* const extra) | ||||
| { | { | ||||
| qDebug("CarlaPlugin::newLADSPA(%p, \"%s\", \"%s\", \"%s\", %p)", init.engine, init.filename, init.name, init.label, extra); | |||||
| qDebug("CarlaPlugin::newLADSPA({%p, \"%s\", \"%s\", \"%s\"}, %p)", init.engine, init.filename, init.name, init.label, extra); | |||||
| #ifdef WANT_LADSPA | #ifdef WANT_LADSPA | ||||
| short id = init.engine->getNewPluginId(); | short id = init.engine->getNewPluginId(); | ||||
| @@ -1250,7 +1237,6 @@ CarlaPlugin* CarlaPlugin::newLADSPA(const initializer& init, const void* const e | |||||
| plugin->reload(); | plugin->reload(); | ||||
| # ifndef BUILD_BRIDGE | |||||
| if (init.engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | if (init.engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | ||||
| { | { | ||||
| if (! (plugin->hints() & PLUGIN_CAN_FORCE_STEREO)) | if (! (plugin->hints() & PLUGIN_CAN_FORCE_STEREO)) | ||||
| @@ -1260,7 +1246,6 @@ CarlaPlugin* CarlaPlugin::newLADSPA(const initializer& init, const void* const e | |||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| } | } | ||||
| # endif | |||||
| plugin->registerToOscClient(); | plugin->registerToOscClient(); | ||||
| @@ -343,13 +343,8 @@ public: | |||||
| case GUI_EXTERNAL_OSC: | case GUI_EXTERNAL_OSC: | ||||
| if (osc.thread) | if (osc.thread) | ||||
| { | { | ||||
| #ifndef BUILD_BRIDGE | |||||
| const uint oscUiTimeout = x_engine->getOptions().oscUiTimeout; | |||||
| #else | |||||
| const uint oscUiTimeout = 40; | |||||
| #endif | |||||
| // Wait a bit first, try safe quit, then force kill | // Wait a bit first, try safe quit, then force kill | ||||
| if (osc.thread->isRunning() && ! osc.thread->wait(oscUiTimeout)) | |||||
| if (osc.thread->isRunning() && ! osc.thread->wait(x_engine->getOptions().oscUiTimeout)) | |||||
| { | { | ||||
| qWarning("Failed to properly stop LV2 OSC GUI thread"); | qWarning("Failed to properly stop LV2 OSC GUI thread"); | ||||
| osc.thread->terminate(); | osc.thread->terminate(); | ||||
| @@ -435,9 +430,7 @@ public: | |||||
| if (features[lv2_feature_id_worker] && features[lv2_feature_id_worker]->data) | if (features[lv2_feature_id_worker] && features[lv2_feature_id_worker]->data) | ||||
| delete (LV2_Worker_Schedule*)features[lv2_feature_id_worker]->data; | delete (LV2_Worker_Schedule*)features[lv2_feature_id_worker]->data; | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (! x_engine->getOptions().processHighPrecision) | if (! x_engine->getOptions().processHighPrecision) | ||||
| #endif | |||||
| { | { | ||||
| features[lv2_feature_id_bufsize_fixed] = nullptr; | features[lv2_feature_id_bufsize_fixed] = nullptr; | ||||
| features[lv2_feature_id_bufsize_powerof2] = nullptr; | features[lv2_feature_id_bufsize_powerof2] = nullptr; | ||||
| @@ -695,83 +688,83 @@ public: | |||||
| { | { | ||||
| const LV2_RDF_Port* const port = &rdf_descriptor->Ports[rindex]; | const LV2_RDF_Port* const port = &rdf_descriptor->Ports[rindex]; | ||||
| if (LV2_HAVE_UNIT_SYMBOL(port->Unit.Hints) && port->Unit.Symbol) | |||||
| if (LV2_HAVE_PORT_UNIT_SYMBOL(port->Unit.Hints) && port->Unit.Symbol) | |||||
| strncpy(strBuf, port->Unit.Symbol, STR_MAX); | strncpy(strBuf, port->Unit.Symbol, STR_MAX); | ||||
| else if (LV2_HAVE_UNIT(port->Unit.Hints)) | |||||
| else if (LV2_HAVE_PORT_UNIT_UNIT(port->Unit.Hints)) | |||||
| { | { | ||||
| switch (port->Unit.Type) | |||||
| switch (port->Unit.Unit) | |||||
| { | { | ||||
| case LV2_UNIT_BAR: | |||||
| case LV2_PORT_UNIT_BAR: | |||||
| strncpy(strBuf, "bars", STR_MAX); | strncpy(strBuf, "bars", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_BEAT: | |||||
| case LV2_PORT_UNIT_BEAT: | |||||
| strncpy(strBuf, "beats", STR_MAX); | strncpy(strBuf, "beats", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_BPM: | |||||
| case LV2_PORT_UNIT_BPM: | |||||
| strncpy(strBuf, "BPM", STR_MAX); | strncpy(strBuf, "BPM", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_CENT: | |||||
| case LV2_PORT_UNIT_CENT: | |||||
| strncpy(strBuf, "ct", STR_MAX); | strncpy(strBuf, "ct", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_CM: | |||||
| case LV2_PORT_UNIT_CM: | |||||
| strncpy(strBuf, "cm", STR_MAX); | strncpy(strBuf, "cm", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_COEF: | |||||
| case LV2_PORT_UNIT_COEF: | |||||
| strncpy(strBuf, "(coef)", STR_MAX); | strncpy(strBuf, "(coef)", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_DB: | |||||
| case LV2_PORT_UNIT_DB: | |||||
| strncpy(strBuf, "dB", STR_MAX); | strncpy(strBuf, "dB", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_DEGREE: | |||||
| case LV2_PORT_UNIT_DEGREE: | |||||
| strncpy(strBuf, "deg", STR_MAX); | strncpy(strBuf, "deg", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_FRAME: | |||||
| case LV2_PORT_UNIT_FRAME: | |||||
| strncpy(strBuf, "frames", STR_MAX); | strncpy(strBuf, "frames", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_HZ: | |||||
| case LV2_PORT_UNIT_HZ: | |||||
| strncpy(strBuf, "Hz", STR_MAX); | strncpy(strBuf, "Hz", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_INCH: | |||||
| case LV2_PORT_UNIT_INCH: | |||||
| strncpy(strBuf, "in", STR_MAX); | strncpy(strBuf, "in", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_KHZ: | |||||
| case LV2_PORT_UNIT_KHZ: | |||||
| strncpy(strBuf, "kHz", STR_MAX); | strncpy(strBuf, "kHz", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_KM: | |||||
| case LV2_PORT_UNIT_KM: | |||||
| strncpy(strBuf, "km", STR_MAX); | strncpy(strBuf, "km", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_M: | |||||
| case LV2_PORT_UNIT_M: | |||||
| strncpy(strBuf, "m", STR_MAX); | strncpy(strBuf, "m", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_MHZ: | |||||
| case LV2_PORT_UNIT_MHZ: | |||||
| strncpy(strBuf, "MHz", STR_MAX); | strncpy(strBuf, "MHz", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_MIDINOTE: | |||||
| case LV2_PORT_UNIT_MIDINOTE: | |||||
| strncpy(strBuf, "note", STR_MAX); | strncpy(strBuf, "note", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_MILE: | |||||
| case LV2_PORT_UNIT_MILE: | |||||
| strncpy(strBuf, "mi", STR_MAX); | strncpy(strBuf, "mi", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_MIN: | |||||
| case LV2_PORT_UNIT_MIN: | |||||
| strncpy(strBuf, "min", STR_MAX); | strncpy(strBuf, "min", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_MM: | |||||
| case LV2_PORT_UNIT_MM: | |||||
| strncpy(strBuf, "mm", STR_MAX); | strncpy(strBuf, "mm", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_MS: | |||||
| case LV2_PORT_UNIT_MS: | |||||
| strncpy(strBuf, "ms", STR_MAX); | strncpy(strBuf, "ms", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_OCT: | |||||
| case LV2_PORT_UNIT_OCT: | |||||
| strncpy(strBuf, "oct", STR_MAX); | strncpy(strBuf, "oct", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_PC: | |||||
| case LV2_PORT_UNIT_PC: | |||||
| strncpy(strBuf, "%", STR_MAX); | strncpy(strBuf, "%", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_S: | |||||
| case LV2_PORT_UNIT_S: | |||||
| strncpy(strBuf, "s", STR_MAX); | strncpy(strBuf, "s", STR_MAX); | ||||
| return; | return; | ||||
| case LV2_UNIT_SEMITONE: | |||||
| case LV2_PORT_UNIT_SEMITONE: | |||||
| strncpy(strBuf, "semi", STR_MAX); | strncpy(strBuf, "semi", STR_MAX); | ||||
| return; | return; | ||||
| } | } | ||||
| @@ -1111,9 +1104,7 @@ public: | |||||
| qDebug("Lv2Plugin::reload() - start"); | qDebug("Lv2Plugin::reload() - start"); | ||||
| CARLA_ASSERT(descriptor && rdf_descriptor); | CARLA_ASSERT(descriptor && rdf_descriptor); | ||||
| #ifndef BUILD_BRIDGE | |||||
| const ProcessMode processMode(x_engine->getOptions().processMode); | const ProcessMode processMode(x_engine->getOptions().processMode); | ||||
| #endif | |||||
| // Safely disable plugin for reload | // Safely disable plugin for reload | ||||
| const ScopedDisabler m(this); | const ScopedDisabler m(this); | ||||
| @@ -1139,7 +1130,7 @@ public: | |||||
| for (uint32_t i=0; i < portCount; i++) | for (uint32_t i=0; i < portCount; i++) | ||||
| { | { | ||||
| const LV2_Property portType = rdf_descriptor->Ports[i].Type; | |||||
| const LV2_Property portType = rdf_descriptor->Ports[i].Type.Value; | |||||
| if (LV2_IS_PORT_AUDIO(portType)) | if (LV2_IS_PORT_AUDIO(portType)) | ||||
| { | { | ||||
| @@ -1197,7 +1188,6 @@ public: | |||||
| ext.worker = (const LV2_Worker_Interface*)descriptor->extension_data(LV2_WORKER__interface); | ext.worker = (const LV2_Worker_Interface*)descriptor->extension_data(LV2_WORKER__interface); | ||||
| } | } | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().forceStereo && (aIns == 1 || aOuts == 1) && ! (h2 || ext.state || ext.worker)) | if (x_engine->getOptions().forceStereo && (aIns == 1 || aOuts == 1) && ! (h2 || ext.state || ext.worker)) | ||||
| { | { | ||||
| h2 = descriptor->instantiate(descriptor, sampleRate, rdf_descriptor->Bundle, features); | h2 = descriptor->instantiate(descriptor, sampleRate, rdf_descriptor->Bundle, features); | ||||
| @@ -1214,7 +1204,6 @@ public: | |||||
| forcedStereoOut = true; | forcedStereoOut = true; | ||||
| } | } | ||||
| } | } | ||||
| #endif | |||||
| if (aIns > 0) | if (aIns > 0) | ||||
| { | { | ||||
| @@ -1311,19 +1300,18 @@ public: | |||||
| for (uint32_t i=0; i < portCount; i++) | for (uint32_t i=0; i < portCount; i++) | ||||
| { | { | ||||
| const LV2_Property portType = rdf_descriptor->Ports[i].Type; | |||||
| const LV2_Property portType = rdf_descriptor->Ports[i].Type.Value; | |||||
| if (LV2_IS_PORT_AUDIO(portType) || LV2_IS_PORT_ATOM_SEQUENCE(portType) || LV2_IS_PORT_CV(portType) || LV2_IS_PORT_EVENT(portType) || LV2_IS_PORT_MIDI_LL(portType)) | if (LV2_IS_PORT_AUDIO(portType) || LV2_IS_PORT_ATOM_SEQUENCE(portType) || LV2_IS_PORT_CV(portType) || LV2_IS_PORT_EVENT(portType) || LV2_IS_PORT_MIDI_LL(portType)) | ||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += rdf_descriptor->Ports[i].Name; | portName += rdf_descriptor->Ports[i].Name; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| } | } | ||||
| @@ -1386,12 +1374,12 @@ public: | |||||
| evIn.data[j].rindex = i; | evIn.data[j].rindex = i; | ||||
| if (portType & LV2_PORT_SUPPORTS_MIDI_EVENT) | |||||
| if (portType & LV2_PORT_DATA_MIDI_EVENT) | |||||
| { | { | ||||
| evIn.data[j].type |= CARLA_EVENT_TYPE_MIDI; | evIn.data[j].type |= CARLA_EVENT_TYPE_MIDI; | ||||
| evIn.data[j].port = (CarlaEngineMidiPort*)x_client->addPort(CarlaEnginePortTypeMIDI, portName, true); | evIn.data[j].port = (CarlaEngineMidiPort*)x_client->addPort(CarlaEnginePortTypeMIDI, portName, true); | ||||
| } | } | ||||
| if (portType & LV2_PORT_SUPPORTS_PATCH_MESSAGE) | |||||
| if (portType & LV2_PORT_DATA_PATCH_MESSAGE) | |||||
| { | { | ||||
| evIn.data[j].type |= CARLA_EVENT_TYPE_MESSAGE; | evIn.data[j].type |= CARLA_EVENT_TYPE_MESSAGE; | ||||
| } | } | ||||
| @@ -1404,12 +1392,12 @@ public: | |||||
| evOut.data[j].rindex = i; | evOut.data[j].rindex = i; | ||||
| if (portType & LV2_PORT_SUPPORTS_MIDI_EVENT) | |||||
| if (portType & LV2_PORT_DATA_MIDI_EVENT) | |||||
| { | { | ||||
| evOut.data[j].type |= CARLA_EVENT_TYPE_MIDI; | evOut.data[j].type |= CARLA_EVENT_TYPE_MIDI; | ||||
| evOut.data[j].port = (CarlaEngineMidiPort*)x_client->addPort(CarlaEnginePortTypeMIDI, portName, false); | evOut.data[j].port = (CarlaEngineMidiPort*)x_client->addPort(CarlaEnginePortTypeMIDI, portName, false); | ||||
| } | } | ||||
| if (portType & LV2_PORT_SUPPORTS_PATCH_MESSAGE) | |||||
| if (portType & LV2_PORT_DATA_PATCH_MESSAGE) | |||||
| { | { | ||||
| evOut.data[j].type |= CARLA_EVENT_TYPE_MESSAGE; | evOut.data[j].type |= CARLA_EVENT_TYPE_MESSAGE; | ||||
| } | } | ||||
| @@ -1427,7 +1415,7 @@ public: | |||||
| evIn.data[j].rindex = i; | evIn.data[j].rindex = i; | ||||
| if (portType & LV2_PORT_SUPPORTS_MIDI_EVENT) | |||||
| if (portType & LV2_PORT_DATA_MIDI_EVENT) | |||||
| { | { | ||||
| evIn.data[j].type |= CARLA_EVENT_TYPE_MIDI; | evIn.data[j].type |= CARLA_EVENT_TYPE_MIDI; | ||||
| evIn.data[j].port = (CarlaEngineMidiPort*)x_client->addPort(CarlaEnginePortTypeMIDI, portName, true); | evIn.data[j].port = (CarlaEngineMidiPort*)x_client->addPort(CarlaEnginePortTypeMIDI, portName, true); | ||||
| @@ -1441,7 +1429,7 @@ public: | |||||
| evOut.data[j].rindex = i; | evOut.data[j].rindex = i; | ||||
| if (portType & LV2_PORT_SUPPORTS_MIDI_EVENT) | |||||
| if (portType & LV2_PORT_DATA_MIDI_EVENT) | |||||
| { | { | ||||
| evOut.data[j].type |= CARLA_EVENT_TYPE_MIDI; | evOut.data[j].type |= CARLA_EVENT_TYPE_MIDI; | ||||
| evOut.data[j].port = (CarlaEngineMidiPort*)x_client->addPort(CarlaEnginePortTypeMIDI, portName, false); | evOut.data[j].port = (CarlaEngineMidiPort*)x_client->addPort(CarlaEnginePortTypeMIDI, portName, false); | ||||
| @@ -1700,13 +1688,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "control-in"; | portName += "control-in"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -1717,13 +1704,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "control-out"; | portName += "control-out"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -1864,7 +1850,6 @@ public: | |||||
| midiprog.data[i].name = strdup(pdesc->name ? pdesc->name : ""); | midiprog.data[i].name = strdup(pdesc->name ? pdesc->name : ""); | ||||
| } | } | ||||
| #ifndef BUILD_BRIDGE | |||||
| // Update OSC Names | // Update OSC Names | ||||
| if (x_engine->isOscControlRegistered()) | if (x_engine->isOscControlRegistered()) | ||||
| { | { | ||||
| @@ -1873,7 +1858,6 @@ public: | |||||
| for (i=0; i < midiprog.count; i++) | for (i=0; i < midiprog.count; i++) | ||||
| x_engine->osc_send_control_set_midi_program_data(m_id, i, midiprog.data[i].bank, midiprog.data[i].program, midiprog.data[i].name); | x_engine->osc_send_control_set_midi_program_data(m_id, i, midiprog.data[i].bank, midiprog.data[i].program, midiprog.data[i].name); | ||||
| } | } | ||||
| #endif | |||||
| if (init) | if (init) | ||||
| { | { | ||||
| @@ -1991,11 +1975,7 @@ public: | |||||
| // -------------------------------------------------------------------------------------------------------- | // -------------------------------------------------------------------------------------------------------- | ||||
| // Input VU | // Input VU | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (aIn.count > 0 && x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | if (aIn.count > 0 && x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | ||||
| #else | |||||
| if (aIn.count > 0) | |||||
| #endif | |||||
| { | { | ||||
| if (aIn.count == 1) | if (aIn.count == 1) | ||||
| { | { | ||||
| @@ -2669,9 +2649,7 @@ public: | |||||
| } | } | ||||
| // Output VU | // Output VU | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | if (x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | ||||
| #endif | |||||
| { | { | ||||
| for (k=0; i < 2 && k < frames; k++) | for (k=0; i < 2 && k < frames; k++) | ||||
| { | { | ||||
| @@ -3376,7 +3354,6 @@ public: | |||||
| const char* getUiBridgePath(const LV2_Property type) | const char* getUiBridgePath(const LV2_Property type) | ||||
| { | { | ||||
| #ifndef BUILD_BRIDGE | |||||
| const CarlaEngineOptions options(x_engine->getOptions()); | const CarlaEngineOptions options(x_engine->getOptions()); | ||||
| switch (type) | switch (type) | ||||
| @@ -3396,10 +3373,6 @@ public: | |||||
| default: | default: | ||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| #else | |||||
| return nullptr; | |||||
| Q_UNUSED(type); | |||||
| #endif | |||||
| } | } | ||||
| bool isUiBridgeable(const uint32_t uiId) | bool isUiBridgeable(const uint32_t uiId) | ||||
| @@ -3988,7 +3961,6 @@ public: | |||||
| features[lv2_feature_id_bufsize_bounded]->URI = LV2_BUF_SIZE__boundedBlockLength; | features[lv2_feature_id_bufsize_bounded]->URI = LV2_BUF_SIZE__boundedBlockLength; | ||||
| features[lv2_feature_id_bufsize_bounded]->data = nullptr; | features[lv2_feature_id_bufsize_bounded]->data = nullptr; | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().processHighPrecision) | if (x_engine->getOptions().processHighPrecision) | ||||
| { | { | ||||
| features[lv2_feature_id_bufsize_fixed] = new LV2_Feature; | features[lv2_feature_id_bufsize_fixed] = new LV2_Feature; | ||||
| @@ -4000,7 +3972,6 @@ public: | |||||
| features[lv2_feature_id_bufsize_powerof2]->data = nullptr; | features[lv2_feature_id_bufsize_powerof2]->data = nullptr; | ||||
| } | } | ||||
| else | else | ||||
| #endif | |||||
| { | { | ||||
| // fake, used only to keep a valid features-array | // fake, used only to keep a valid features-array | ||||
| features[lv2_feature_id_bufsize_fixed] = features[lv2_feature_id_bufsize_bounded]; | features[lv2_feature_id_bufsize_fixed] = features[lv2_feature_id_bufsize_bounded]; | ||||
| @@ -4129,7 +4100,7 @@ public: | |||||
| // Check supported ports | // Check supported ports | ||||
| for (uint32_t i=0; i < rdf_descriptor->PortCount; i++) | for (uint32_t i=0; i < rdf_descriptor->PortCount; i++) | ||||
| { | { | ||||
| LV2_Property PortType = rdf_descriptor->Ports[i].Type; | |||||
| LV2_Property PortType = rdf_descriptor->Ports[i].Type.Value; | |||||
| if (! bool(LV2_IS_PORT_AUDIO(PortType) || LV2_IS_PORT_CONTROL(PortType) || LV2_IS_PORT_ATOM_SEQUENCE(PortType) || LV2_IS_PORT_EVENT(PortType) || LV2_IS_PORT_MIDI_LL(PortType))) | if (! bool(LV2_IS_PORT_AUDIO(PortType) || LV2_IS_PORT_CONTROL(PortType) || LV2_IS_PORT_ATOM_SEQUENCE(PortType) || LV2_IS_PORT_EVENT(PortType) || LV2_IS_PORT_MIDI_LL(PortType))) | ||||
| { | { | ||||
| if (! LV2_IS_PORT_OPTIONAL(rdf_descriptor->Ports[i].Properties)) | if (! LV2_IS_PORT_OPTIONAL(rdf_descriptor->Ports[i].Properties)) | ||||
| @@ -4216,11 +4187,7 @@ public: | |||||
| int eQt4, eCocoa, eHWND, eX11, eGtk2, eGtk3, iCocoa, iHWND, iX11, iQt4, iExt, iSuil, iFinal; | int eQt4, eCocoa, eHWND, eX11, eGtk2, eGtk3, iCocoa, iHWND, iX11, iQt4, iExt, iSuil, iFinal; | ||||
| eQt4 = eCocoa = eHWND = eX11 = eGtk2 = eGtk3 = iQt4 = iCocoa = iHWND = iX11 = iExt = iSuil = iFinal = -1; | eQt4 = eCocoa = eHWND = eX11 = eGtk2 = eGtk3 = iQt4 = iCocoa = iHWND = iX11 = iExt = iSuil = iFinal = -1; | ||||
| #ifdef BUILD_BRIDGE | |||||
| const bool preferUiBridges = false; | |||||
| #else | |||||
| const bool preferUiBridges = x_engine->getOptions().preferUiBridges; | |||||
| #endif | |||||
| const bool preferUiBridges = (x_engine->getOptions().preferUiBridges && (m_hints & PLUGIN_IS_BRIDGE) == 0); | |||||
| for (uint32_t i=0; i < rdf_descriptor->UICount; i++) | for (uint32_t i=0; i < rdf_descriptor->UICount; i++) | ||||
| { | { | ||||
| @@ -4232,7 +4199,7 @@ public: | |||||
| continue; | continue; | ||||
| } | } | ||||
| switch (rdf_descriptor->UIs[i].Type) | |||||
| switch (rdf_descriptor->UIs[i].Type.Value) | |||||
| { | { | ||||
| case LV2_UI_QT4: | case LV2_UI_QT4: | ||||
| if (isUiBridgeable(i) && preferUiBridges) | if (isUiBridgeable(i) && preferUiBridges) | ||||
| @@ -4259,7 +4226,7 @@ public: | |||||
| break; | break; | ||||
| case LV2_UI_GTK2: | case LV2_UI_GTK2: | ||||
| #if defined(WANT_SUIL) || defined(BUILD_BRIDGE) | |||||
| #ifdef WANT_SUIL // FIXME | |||||
| if (isUiBridgeable(i) && preferUiBridges) | if (isUiBridgeable(i) && preferUiBridges) | ||||
| eGtk2 = i; | eGtk2 = i; | ||||
| #else | #else | ||||
| @@ -4407,7 +4374,7 @@ public: | |||||
| // ----------------------------------------------------------- | // ----------------------------------------------------------- | ||||
| // initialize ui according to type | // initialize ui according to type | ||||
| const LV2_Property uiType = ui.rdf_descriptor->Type; | |||||
| const LV2_Property uiType = ui.rdf_descriptor->Type.Value; | |||||
| if (isBridged) | if (isBridged) | ||||
| { | { | ||||
| @@ -4507,7 +4474,7 @@ public: | |||||
| qDebug("Will use LV2 Gtk2 UI (suil)"); | qDebug("Will use LV2 Gtk2 UI (suil)"); | ||||
| gui.type = GUI_EXTERNAL_SUIL; | gui.type = GUI_EXTERNAL_SUIL; | ||||
| gui.resizable = isUiResizable(); | gui.resizable = isUiResizable(); | ||||
| suil.handle = suil_instance_new(suil.host, this, LV2_UI__Qt4UI, rdf_descriptor->URI, ui.rdf_descriptor->URI, get_lv2_ui_uri(ui.rdf_descriptor->Type), ui.rdf_descriptor->Bundle, ui.rdf_descriptor->Binary, features); | |||||
| suil.handle = suil_instance_new(suil.host, this, LV2_UI__Qt4UI, rdf_descriptor->URI, ui.rdf_descriptor->URI, ui.rdf_descriptor->Type.URI, ui.rdf_descriptor->Bundle, ui.rdf_descriptor->Binary, features); | |||||
| m_hints |= PLUGIN_USES_SINGLE_THREAD; | m_hints |= PLUGIN_USES_SINGLE_THREAD; | ||||
| if (suil.handle) | if (suil.handle) | ||||
| @@ -4689,7 +4656,6 @@ CarlaPlugin* CarlaPlugin::newLV2(const initializer& init) | |||||
| plugin->reload(); | plugin->reload(); | ||||
| # ifndef BUILD_BRIDGE | |||||
| if (init.engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | if (init.engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | ||||
| { | { | ||||
| if (! (plugin->hints() & PLUGIN_CAN_FORCE_STEREO)) | if (! (plugin->hints() & PLUGIN_CAN_FORCE_STEREO)) | ||||
| @@ -4699,7 +4665,6 @@ CarlaPlugin* CarlaPlugin::newLV2(const initializer& init) | |||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| } | } | ||||
| # endif | |||||
| plugin->registerToOscClient(); | plugin->registerToOscClient(); | ||||
| plugin->updateUi(); | plugin->updateUi(); | ||||
| @@ -96,13 +96,8 @@ public: | |||||
| { | { | ||||
| if (osc.thread) | if (osc.thread) | ||||
| { | { | ||||
| #ifndef BUILD_BRIDGE | |||||
| const uint oscUiTimeout = x_engine->getOptions().oscUiTimeout; | |||||
| #else | |||||
| const uint oscUiTimeout = 40; | |||||
| #endif | |||||
| // Wait a bit first, try safe quit, then force kill | // Wait a bit first, try safe quit, then force kill | ||||
| if (osc.thread->isRunning() && ! osc.thread->wait(oscUiTimeout)) | |||||
| if (osc.thread->isRunning() && ! osc.thread->wait(x_engine->getOptions().oscUiTimeout)) | |||||
| { | { | ||||
| qWarning("Failed to properly stop VST OSC GUI thread"); | qWarning("Failed to properly stop VST OSC GUI thread"); | ||||
| osc.thread->terminate(); | osc.thread->terminate(); | ||||
| @@ -477,9 +472,7 @@ public: | |||||
| qDebug("VstPlugin::reload() - start"); | qDebug("VstPlugin::reload() - start"); | ||||
| CARLA_ASSERT(effect); | CARLA_ASSERT(effect); | ||||
| #ifndef BUILD_BRIDGE | |||||
| const ProcessMode processMode(x_engine->getOptions().processMode); | const ProcessMode processMode(x_engine->getOptions().processMode); | ||||
| #endif | |||||
| // Safely disable plugin for reload | // Safely disable plugin for reload | ||||
| const ScopedDisabler m(this); | const ScopedDisabler m(this); | ||||
| @@ -537,13 +530,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| char tmp[12] = { 0 }; | char tmp[12] = { 0 }; | ||||
| sprintf(tmp, "input_%02i", j+1); | sprintf(tmp, "input_%02i", j+1); | ||||
| portName += tmp; | portName += tmp; | ||||
| @@ -557,13 +549,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| char tmp[12] = { 0 }; | char tmp[12] = { 0 }; | ||||
| sprintf(tmp, "output_%02i", j+1); | sprintf(tmp, "output_%02i", j+1); | ||||
| portName += tmp; | portName += tmp; | ||||
| @@ -691,13 +682,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "control-in"; | portName += "control-in"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -708,13 +698,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "midi-in"; | portName += "midi-in"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -725,13 +714,12 @@ public: | |||||
| { | { | ||||
| portName.clear(); | portName.clear(); | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (processMode == PROCESS_MODE_SINGLE_CLIENT) | if (processMode == PROCESS_MODE_SINGLE_CLIENT) | ||||
| { | { | ||||
| portName = m_name; | portName = m_name; | ||||
| portName += ":"; | portName += ":"; | ||||
| } | } | ||||
| #endif | |||||
| portName += "midi-out"; | portName += "midi-out"; | ||||
| portName.truncate(portNameSize); | portName.truncate(portNameSize); | ||||
| @@ -924,11 +912,7 @@ public: | |||||
| // -------------------------------------------------------------------------------------------------------- | // -------------------------------------------------------------------------------------------------------- | ||||
| // Input VU | // Input VU | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (aIn.count > 0 && x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | if (aIn.count > 0 && x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | ||||
| #else | |||||
| if (aIn.count > 0) | |||||
| #endif | |||||
| { | { | ||||
| if (aIn.count == 1) | if (aIn.count == 1) | ||||
| { | { | ||||
| @@ -1378,9 +1362,7 @@ public: | |||||
| } | } | ||||
| // Output VU | // Output VU | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | if (x_engine->getOptions().processMode != PROCESS_MODE_CONTINUOUS_RACK) | ||||
| #endif | |||||
| { | { | ||||
| for (k=0; i < 2 && k < frames; k++) | for (k=0; i < 2 && k < frames; k++) | ||||
| { | { | ||||
| @@ -1636,13 +1618,11 @@ public: | |||||
| if (! m_enabled) | if (! m_enabled) | ||||
| return 1; | return 1; | ||||
| #ifndef BUILD_BRIDGE | |||||
| if (x_engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | if (x_engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | ||||
| { | { | ||||
| qCritical("VstPlugin::handleAudioMasterIOChanged() - plugin asked IO change, but it's not supported in rack mode"); | qCritical("VstPlugin::handleAudioMasterIOChanged() - plugin asked IO change, but it's not supported in rack mode"); | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| #endif | |||||
| engineProcessLock(); | engineProcessLock(); | ||||
| m_enabled = false; | m_enabled = false; | ||||
| @@ -1777,10 +1757,8 @@ public: | |||||
| return -1; | return -1; | ||||
| if (strcmp(feature, "acceptIOChanges") == 0) | if (strcmp(feature, "acceptIOChanges") == 0) | ||||
| { | { | ||||
| #ifndef BUILD_BRIDGE | |||||
| //if (CarlaEngine::processMode == PROCESS_MODE_CONTINUOUS_RACK) | //if (CarlaEngine::processMode == PROCESS_MODE_CONTINUOUS_RACK) | ||||
| // return -1; | // return -1; | ||||
| #endif | |||||
| return 1; | return 1; | ||||
| } | } | ||||
| if (strcmp(feature, "sizeWindow") == 0) | if (strcmp(feature, "sizeWindow") == 0) | ||||
| @@ -1986,11 +1964,8 @@ public: | |||||
| case audioMasterGetNumAutomatableParameters: | case audioMasterGetNumAutomatableParameters: | ||||
| // Deprecated in VST SDK 2.4 | // Deprecated in VST SDK 2.4 | ||||
| #ifdef BUILD_BRIDGE | |||||
| ret = MAX_PARAMETERS; | |||||
| #else | |||||
| ret = 0; //x_engine->options.maxParameters; | ret = 0; //x_engine->options.maxParameters; | ||||
| #endif | |||||
| if (effect && ret > effect->numParams) | if (effect && ret > effect->numParams) | ||||
| ret = effect->numParams; | ret = effect->numParams; | ||||
| // FIXME | // FIXME | ||||
| @@ -2050,11 +2025,8 @@ public: | |||||
| else | else | ||||
| qWarning("VstPlugin::hostCallback::audioMasterGetBlockSize called without valid object"); | qWarning("VstPlugin::hostCallback::audioMasterGetBlockSize called without valid object"); | ||||
| if (ret == 0) | if (ret == 0) | ||||
| //#ifndef BUILD_BRIDGE | |||||
| // ret = CarlaEngine::processHighPrecision ? 8 : 512; | // ret = CarlaEngine::processHighPrecision ? 8 : 512; | ||||
| //#else | |||||
| ret = 512; | ret = 512; | ||||
| //#endif | |||||
| break; | break; | ||||
| case audioMasterGetInputLatency: | case audioMasterGetInputLatency: | ||||
| @@ -2347,7 +2319,7 @@ public: | |||||
| { | { | ||||
| m_hints |= PLUGIN_HAS_GUI; | m_hints |= PLUGIN_HAS_GUI; | ||||
| #if defined(Q_OS_LINUX) && ! defined(BUILD_BRIDGE) && 0 // FIXME | |||||
| #if defined(Q_OS_LINUX) && 0 // FIXME | |||||
| if (x_engine->options.bridge_vstx11 && x_engine->preferUiBridges() && ! (effect->flags & effFlagsProgramChunks)) | if (x_engine->options.bridge_vstx11 && x_engine->preferUiBridges() && ! (effect->flags & effFlagsProgramChunks)) | ||||
| { | { | ||||
| osc.thread = new CarlaPluginThread(x_engine, this, CarlaPluginThread::PLUGIN_THREAD_VST_GUI); | osc.thread = new CarlaPluginThread(x_engine, this, CarlaPluginThread::PLUGIN_THREAD_VST_GUI); | ||||
| @@ -2437,7 +2409,6 @@ CarlaPlugin* CarlaPlugin::newVST(const initializer& init) | |||||
| plugin->reload(); | plugin->reload(); | ||||
| # ifndef BUILD_BRIDGE | |||||
| if (init.engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | if (init.engine->getOptions().processMode == PROCESS_MODE_CONTINUOUS_RACK) | ||||
| { | { | ||||
| if (! (plugin->hints() & PLUGIN_CAN_FORCE_STEREO)) | if (! (plugin->hints() & PLUGIN_CAN_FORCE_STEREO)) | ||||
| @@ -2447,7 +2418,6 @@ CarlaPlugin* CarlaPlugin::newVST(const initializer& init) | |||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| } | } | ||||
| # endif | |||||
| plugin->registerToOscClient(); | plugin->registerToOscClient(); | ||||
| @@ -369,77 +369,77 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI uri) | |||||
| if (typeNodes.size() > 0) | if (typeNodes.size() > 0) | ||||
| { | { | ||||
| if (typeNodes.contains(lv2World.class_allpass)) | if (typeNodes.contains(lv2World.class_allpass)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_ALLPASS; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_ALLPASS; | |||||
| if (typeNodes.contains(lv2World.class_amplifier)) | if (typeNodes.contains(lv2World.class_amplifier)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_AMPLIFIER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_AMPLIFIER; | |||||
| if (typeNodes.contains(lv2World.class_analyzer)) | if (typeNodes.contains(lv2World.class_analyzer)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_ANALYSER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_ANALYSER; | |||||
| if (typeNodes.contains(lv2World.class_bandpass)) | if (typeNodes.contains(lv2World.class_bandpass)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_BANDPASS; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_BANDPASS; | |||||
| if (typeNodes.contains(lv2World.class_chorus)) | if (typeNodes.contains(lv2World.class_chorus)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_CHORUS; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_CHORUS; | |||||
| if (typeNodes.contains(lv2World.class_comb)) | if (typeNodes.contains(lv2World.class_comb)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_COMB; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_COMB; | |||||
| if (typeNodes.contains(lv2World.class_compressor)) | if (typeNodes.contains(lv2World.class_compressor)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_COMPRESSOR; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_COMPRESSOR; | |||||
| if (typeNodes.contains(lv2World.class_constant)) | if (typeNodes.contains(lv2World.class_constant)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_CONSTANT; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_CONSTANT; | |||||
| if (typeNodes.contains(lv2World.class_converter)) | if (typeNodes.contains(lv2World.class_converter)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_CONVERTER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_CONVERTER; | |||||
| if (typeNodes.contains(lv2World.class_delay)) | if (typeNodes.contains(lv2World.class_delay)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_DELAY; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_DELAY; | |||||
| if (typeNodes.contains(lv2World.class_distortion)) | if (typeNodes.contains(lv2World.class_distortion)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_DISTORTION; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_DISTORTION; | |||||
| if (typeNodes.contains(lv2World.class_dynamics)) | if (typeNodes.contains(lv2World.class_dynamics)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_DYNAMICS; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_DYNAMICS; | |||||
| if (typeNodes.contains(lv2World.class_eq)) | if (typeNodes.contains(lv2World.class_eq)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_EQ; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_EQ; | |||||
| if (typeNodes.contains(lv2World.class_expander)) | if (typeNodes.contains(lv2World.class_expander)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_EXPANDER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_EXPANDER; | |||||
| if (typeNodes.contains(lv2World.class_filter)) | if (typeNodes.contains(lv2World.class_filter)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_FILTER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_FILTER; | |||||
| if (typeNodes.contains(lv2World.class_flanger)) | if (typeNodes.contains(lv2World.class_flanger)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_FLANGER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_FLANGER; | |||||
| if (typeNodes.contains(lv2World.class_function)) | if (typeNodes.contains(lv2World.class_function)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_FUNCTION; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_FUNCTION; | |||||
| if (typeNodes.contains(lv2World.class_gate)) | if (typeNodes.contains(lv2World.class_gate)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_GATE; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_GATE; | |||||
| if (typeNodes.contains(lv2World.class_generator)) | if (typeNodes.contains(lv2World.class_generator)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_GENERATOR; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_GENERATOR; | |||||
| if (typeNodes.contains(lv2World.class_highpass)) | if (typeNodes.contains(lv2World.class_highpass)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_HIGHPASS; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_HIGHPASS; | |||||
| if (typeNodes.contains(lv2World.class_instrument)) | if (typeNodes.contains(lv2World.class_instrument)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_INSTRUMENT; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_INSTRUMENT; | |||||
| if (typeNodes.contains(lv2World.class_limiter)) | if (typeNodes.contains(lv2World.class_limiter)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_LIMITER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_LIMITER; | |||||
| if (typeNodes.contains(lv2World.class_lowpass)) | if (typeNodes.contains(lv2World.class_lowpass)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_LOWPASS; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_LOWPASS; | |||||
| if (typeNodes.contains(lv2World.class_mixer)) | if (typeNodes.contains(lv2World.class_mixer)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_MIXER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_MIXER; | |||||
| if (typeNodes.contains(lv2World.class_modulator)) | if (typeNodes.contains(lv2World.class_modulator)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_MODULATOR; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_MODULATOR; | |||||
| if (typeNodes.contains(lv2World.class_multiEQ)) | if (typeNodes.contains(lv2World.class_multiEQ)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_MULTI_EQ; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_MULTI_EQ; | |||||
| if (typeNodes.contains(lv2World.class_oscillator)) | if (typeNodes.contains(lv2World.class_oscillator)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_OSCILLATOR; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_OSCILLATOR; | |||||
| if (typeNodes.contains(lv2World.class_paraEQ)) | if (typeNodes.contains(lv2World.class_paraEQ)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_PARA_EQ; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_PARA_EQ; | |||||
| if (typeNodes.contains(lv2World.class_phaser)) | if (typeNodes.contains(lv2World.class_phaser)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_PHASER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_PHASER; | |||||
| if (typeNodes.contains(lv2World.class_pitch)) | if (typeNodes.contains(lv2World.class_pitch)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_PITCH; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_PITCH; | |||||
| if (typeNodes.contains(lv2World.class_reverb)) | if (typeNodes.contains(lv2World.class_reverb)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_REVERB; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_REVERB; | |||||
| if (typeNodes.contains(lv2World.class_simulator)) | if (typeNodes.contains(lv2World.class_simulator)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_SIMULATOR; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_SIMULATOR; | |||||
| if (typeNodes.contains(lv2World.class_spatial)) | if (typeNodes.contains(lv2World.class_spatial)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_SPATIAL; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_SPATIAL; | |||||
| if (typeNodes.contains(lv2World.class_spectral)) | if (typeNodes.contains(lv2World.class_spectral)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_SPECTRAL; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_SPECTRAL; | |||||
| if (typeNodes.contains(lv2World.class_utility)) | if (typeNodes.contains(lv2World.class_utility)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_UTILITY; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_UTILITY; | |||||
| if (typeNodes.contains(lv2World.class_waveshaper)) | if (typeNodes.contains(lv2World.class_waveshaper)) | ||||
| rdfDescriptor->Type |= LV2_CLASS_WAVESHAPER; | |||||
| rdfDescriptor->Type |= LV2_PLUGIN_WAVESHAPER; | |||||
| } | } | ||||
| } | } | ||||
| @@ -512,6 +512,7 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI uri) | |||||
| // -------------------------------------- | // -------------------------------------- | ||||
| // Set Port Mode and Type | // Set Port Mode and Type | ||||
| { | { | ||||
| #if 0 | |||||
| // Mode | // Mode | ||||
| if (lilvPort.is_a(lv2World.port_input)) | if (lilvPort.is_a(lv2World.port_input)) | ||||
| rdf_port->Type |= LV2_PORT_INPUT; | rdf_port->Type |= LV2_PORT_INPUT; | ||||
| @@ -544,9 +545,9 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI uri) | |||||
| Lilv::Nodes supportNodes(lilvPort.get_value(lv2World.atom_supports)); | Lilv::Nodes supportNodes(lilvPort.get_value(lv2World.atom_supports)); | ||||
| if (supportNodes.contains(lv2World.midi_event)) | if (supportNodes.contains(lv2World.midi_event)) | ||||
| rdf_port->Type |= LV2_PORT_SUPPORTS_MIDI_EVENT; | |||||
| rdf_port->Type |= LV2_PORT_DATA_MIDI_EVENT; | |||||
| if (supportNodes.contains(lv2World.patch_message)) | if (supportNodes.contains(lv2World.patch_message)) | ||||
| rdf_port->Type |= LV2_PORT_SUPPORTS_PATCH_MESSAGE; | |||||
| rdf_port->Type |= LV2_PORT_DATA_PATCH_MESSAGE; | |||||
| } | } | ||||
| else if (lilvPort.is_a(lv2World.port_event)) | else if (lilvPort.is_a(lv2World.port_event)) | ||||
| @@ -564,6 +565,7 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI uri) | |||||
| } | } | ||||
| else | else | ||||
| #endif | |||||
| qWarning("lv2_rdf_new(\"%s\") - port '%s' is of unkown type", uri, rdf_port->Name); | qWarning("lv2_rdf_new(\"%s\") - port '%s' is of unkown type", uri, rdf_port->Name); | ||||
| } | } | ||||
| @@ -714,58 +716,58 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI uri) | |||||
| if (unitTypeNodes.size() > 0) | if (unitTypeNodes.size() > 0) | ||||
| { | { | ||||
| rdf_port->Unit.Hints |= LV2_PORT_UNIT; | |||||
| rdf_port->Unit.Hints |= LV2_PORT_UNIT_UNIT; | |||||
| const char* const unitType = unitTypeNodes.get_first().as_uri(); | const char* const unitType = unitTypeNodes.get_first().as_uri(); | ||||
| if (strcmp(unitType, LV2_UNITS__bar) == 0) | if (strcmp(unitType, LV2_UNITS__bar) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_BAR; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_BAR; | |||||
| else if (strcmp(unitType, LV2_UNITS__beat) == 0) | else if (strcmp(unitType, LV2_UNITS__beat) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_BEAT; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_BEAT; | |||||
| else if (strcmp(unitType, LV2_UNITS__bpm) == 0) | else if (strcmp(unitType, LV2_UNITS__bpm) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_BPM; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_BPM; | |||||
| else if (strcmp(unitType, LV2_UNITS__cent) == 0) | else if (strcmp(unitType, LV2_UNITS__cent) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_CENT; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_CENT; | |||||
| else if (strcmp(unitType, LV2_UNITS__cm) == 0) | else if (strcmp(unitType, LV2_UNITS__cm) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_CM; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_CM; | |||||
| else if (strcmp(unitType, LV2_UNITS__coef) == 0) | else if (strcmp(unitType, LV2_UNITS__coef) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_COEF; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_COEF; | |||||
| else if (strcmp(unitType, LV2_UNITS__db) == 0) | else if (strcmp(unitType, LV2_UNITS__db) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_DB; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_DB; | |||||
| else if (strcmp(unitType, LV2_UNITS__degree) == 0) | else if (strcmp(unitType, LV2_UNITS__degree) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_DEGREE; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_DEGREE; | |||||
| else if (strcmp(unitType, LV2_UNITS__frame) == 0) | else if (strcmp(unitType, LV2_UNITS__frame) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_FRAME; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_FRAME; | |||||
| else if (strcmp(unitType, LV2_UNITS__hz) == 0) | else if (strcmp(unitType, LV2_UNITS__hz) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_HZ; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_HZ; | |||||
| else if (strcmp(unitType, LV2_UNITS__inch) == 0) | else if (strcmp(unitType, LV2_UNITS__inch) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_INCH; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_INCH; | |||||
| else if (strcmp(unitType, LV2_UNITS__khz) == 0) | else if (strcmp(unitType, LV2_UNITS__khz) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_KHZ; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_KHZ; | |||||
| else if (strcmp(unitType, LV2_UNITS__km) == 0) | else if (strcmp(unitType, LV2_UNITS__km) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_KM; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_KM; | |||||
| else if (strcmp(unitType, LV2_UNITS__m) == 0) | else if (strcmp(unitType, LV2_UNITS__m) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_M; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_M; | |||||
| else if (strcmp(unitType, LV2_UNITS__mhz) == 0) | else if (strcmp(unitType, LV2_UNITS__mhz) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_MHZ; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_MHZ; | |||||
| else if (strcmp(unitType, LV2_UNITS__midiNote) == 0) | else if (strcmp(unitType, LV2_UNITS__midiNote) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_MIDINOTE; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_MIDINOTE; | |||||
| else if (strcmp(unitType, LV2_UNITS__mile) == 0) | else if (strcmp(unitType, LV2_UNITS__mile) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_MILE; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_MILE; | |||||
| else if (strcmp(unitType, LV2_UNITS__min) == 0) | else if (strcmp(unitType, LV2_UNITS__min) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_MIN; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_MIN; | |||||
| else if (strcmp(unitType, LV2_UNITS__mm) == 0) | else if (strcmp(unitType, LV2_UNITS__mm) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_MM; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_MM; | |||||
| else if (strcmp(unitType, LV2_UNITS__ms) == 0) | else if (strcmp(unitType, LV2_UNITS__ms) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_MS; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_MS; | |||||
| else if (strcmp(unitType, LV2_UNITS__oct) == 0) | else if (strcmp(unitType, LV2_UNITS__oct) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_OCT; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_OCT; | |||||
| else if (strcmp(unitType, LV2_UNITS__pc) == 0) | else if (strcmp(unitType, LV2_UNITS__pc) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_PC; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_PC; | |||||
| else if (strcmp(unitType, LV2_UNITS__s) == 0) | else if (strcmp(unitType, LV2_UNITS__s) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_S; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_S; | |||||
| else if (strcmp(unitType, LV2_UNITS__semitone12TET) == 0) | else if (strcmp(unitType, LV2_UNITS__semitone12TET) == 0) | ||||
| rdf_port->Unit.Type = LV2_UNIT_SEMITONE; | |||||
| rdf_port->Unit.Unit = LV2_PORT_UNIT_SEMITONE; | |||||
| else | else | ||||
| qWarning("lv2_rdf_new(\"%s\") - got unknown Unit type '%s'", uri, unitType); | qWarning("lv2_rdf_new(\"%s\") - got unknown Unit type '%s'", uri, unitType); | ||||
| } | } | ||||
| @@ -993,6 +995,7 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI uri) | |||||
| // -------------------------------------- | // -------------------------------------- | ||||
| // Set UI Type | // Set UI Type | ||||
| { | { | ||||
| #if 0 | |||||
| if (lilvUI.is_a(lv2World.ui_gtk2)) | if (lilvUI.is_a(lv2World.ui_gtk2)) | ||||
| rdf_ui->Type = LV2_UI_GTK2; | rdf_ui->Type = LV2_UI_GTK2; | ||||
| else if (lilvUI.is_a(lv2World.ui_gtk3)) | else if (lilvUI.is_a(lv2World.ui_gtk3)) | ||||
| @@ -1010,6 +1013,7 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI uri) | |||||
| else if (lilvUI.is_a(lv2World.ui_externalOld)) | else if (lilvUI.is_a(lv2World.ui_externalOld)) | ||||
| rdf_ui->Type = LV2_UI_OLD_EXTERNAL; | rdf_ui->Type = LV2_UI_OLD_EXTERNAL; | ||||
| else | else | ||||
| #endif | |||||
| qWarning("lv2_rdf_new(\"%s\") - got unknown UI type for '%s'", uri, lilvUI.get_uri().as_uri()); | qWarning("lv2_rdf_new(\"%s\") - got unknown UI type for '%s'", uri, lilvUI.get_uri().as_uri()); | ||||
| } | } | ||||