| @@ -569,7 +569,7 @@ void CarlaEngine::setOscBridgeData(const CarlaOscData* const oscData) | |||
| // ----------------------------------------------------------------------- | |||
| // protected calls | |||
| void CarlaEngine::bufferSizeChanged(uint32_t newBufferSize) | |||
| void CarlaEngine::bufferSizeChanged(const uint32_t newBufferSize) | |||
| { | |||
| qDebug("CarlaEngine::bufferSizeChanged(%i)", newBufferSize); | |||
| @@ -585,12 +585,11 @@ void CarlaEngine::bufferSizeChanged(uint32_t newBufferSize) | |||
| // ------------------------------------------------------------------------------------------------------------------- | |||
| // Carla Engine Client | |||
| CarlaEngineClient::CarlaEngineClient(const CarlaEngineType& type_, const CarlaEngineClientNativeHandle& handle_) | |||
| : type(type_), | |||
| handle(handle_) | |||
| CarlaEngineClient::CarlaEngineClient(const CarlaEngineClientNativeHandle& handle_) | |||
| : handle(handle_) | |||
| { | |||
| qDebug("CarlaEngineClient::CarlaEngineClient()"); | |||
| CARLA_ASSERT(type != CarlaEngineTypeNull); | |||
| CARLA_ASSERT(handle.type != CarlaEngineTypeNull); | |||
| m_active = false; | |||
| } | |||
| @@ -681,11 +680,11 @@ bool CarlaEngineClient::isOk() const | |||
| #endif | |||
| { | |||
| #ifdef CARLA_ENGINE_JACK | |||
| if (type == CarlaEngineTypeJack) | |||
| if (handle.type == CarlaEngineTypeJack) | |||
| return bool(handle.jackClient); | |||
| #endif | |||
| #ifdef CARLA_ENGINE_RTAUDIO | |||
| if (type == CarlaEngineTypeRtAudio) | |||
| if (handle.type == CarlaEngineTypeRtAudio) | |||
| return bool(handle.rtAudioPtr); | |||
| #endif | |||
| } | |||
| @@ -695,7 +694,7 @@ bool CarlaEngineClient::isOk() const | |||
| const CarlaEngineBasePort* CarlaEngineClient::addPort(const CarlaEnginePortType portType, const char* const name, const bool isInput) | |||
| { | |||
| qDebug("CarlaEngineClient::addPort(%i, \"%s\", %s)", type, name, bool2str(isInput)); | |||
| qDebug("CarlaEngineClient::addPort(%i, \"%s\", %s)", portType, name, bool2str(isInput)); | |||
| CarlaEnginePortNativeHandle portHandle; | |||
| #ifdef CARLA_ENGINE_JACK | |||
| @@ -707,7 +706,7 @@ const CarlaEngineBasePort* CarlaEngineClient::addPort(const CarlaEnginePortType | |||
| #endif | |||
| { | |||
| #ifdef CARLA_ENGINE_JACK | |||
| if (type == CarlaEngineTypeJack) | |||
| if (handle.type == CarlaEngineTypeJack) | |||
| { | |||
| switch (portType) | |||
| { | |||
| @@ -723,7 +722,7 @@ const CarlaEngineBasePort* CarlaEngineClient::addPort(const CarlaEnginePortType | |||
| #endif | |||
| #ifdef CARLA_ENGINE_RTAUDIO | |||
| if (type == CarlaEngineTypeRtAudio) | |||
| if (handle.type == CarlaEngineTypeRtAudio) | |||
| { | |||
| // TODO | |||
| } | |||
| @@ -740,7 +739,7 @@ const CarlaEngineBasePort* CarlaEngineClient::addPort(const CarlaEnginePortType | |||
| return new CarlaEngineMidiPort(portHandle, isInput); | |||
| } | |||
| qCritical("CarlaEngineClient::addPort(%i, \"%s\", %s) - invalid type", type, name, bool2str(isInput)); | |||
| qCritical("CarlaEngineClient::addPort(%i, \"%s\", %s) - invalid type", portType, name, bool2str(isInput)); | |||
| return nullptr; | |||
| } | |||
| @@ -52,7 +52,9 @@ const uint32_t CarlaEngineTimeBBT = 0x1; | |||
| enum CarlaEngineType { | |||
| CarlaEngineTypeNull, | |||
| CarlaEngineTypeJack, | |||
| CarlaEngineTypeRtAudio | |||
| CarlaEngineTypeRtAudio, | |||
| CarlaEngineTypePluginLv2, | |||
| CarlaEngineTypePluginVst | |||
| }; | |||
| enum CarlaEnginePortType { | |||
| @@ -96,7 +98,7 @@ struct CarlaEngineMidiEvent { | |||
| size(0), | |||
| data{0} {} | |||
| #else | |||
| size(0) { memset(data, 0, sizeof(uint8_t)*4); } | |||
| size(0) { data[0] = data[1] = data[2] = data[3] = 0; } | |||
| #endif | |||
| }; | |||
| @@ -136,6 +138,7 @@ struct CarlaTimeInfo { | |||
| }; | |||
| struct CarlaEngineClientNativeHandle { | |||
| CarlaEngineType type; | |||
| #ifdef CARLA_ENGINE_JACK | |||
| jack_client_t* jackClient; | |||
| #endif | |||
| @@ -145,6 +148,7 @@ struct CarlaEngineClientNativeHandle { | |||
| CarlaEngineClientNativeHandle() | |||
| { | |||
| type = CarlaEngineTypeNull; | |||
| #ifdef CARLA_ENGINE_JACK | |||
| jackClient = nullptr; | |||
| #endif | |||
| @@ -374,7 +378,7 @@ protected: | |||
| double sampleRate; | |||
| CarlaTimeInfo timeInfo; | |||
| void bufferSizeChanged(uint32_t newBufferSize); | |||
| void bufferSizeChanged(const uint32_t newBufferSize); | |||
| private: | |||
| CarlaCheckThread m_checkThread; | |||
| @@ -404,7 +408,7 @@ private: | |||
| class CarlaEngineClient | |||
| { | |||
| public: | |||
| CarlaEngineClient(const CarlaEngineType& type, const CarlaEngineClientNativeHandle& handle); | |||
| CarlaEngineClient(const CarlaEngineClientNativeHandle& handle); | |||
| ~CarlaEngineClient(); | |||
| void activate(); | |||
| @@ -417,7 +421,6 @@ public: | |||
| private: | |||
| bool m_active; | |||
| const CarlaEngineType type; | |||
| const CarlaEngineClientNativeHandle handle; | |||
| }; | |||
| @@ -489,7 +492,6 @@ public: | |||
| bool init(const char* const clientName); | |||
| bool close(); | |||
| bool isOnAudioThread(); | |||
| bool isOffline(); | |||
| bool isRunning(); | |||
| @@ -227,6 +227,7 @@ bool CarlaEngineJack::isRunning() | |||
| CarlaEngineClient* CarlaEngineJack::addClient(CarlaPlugin* const plugin) | |||
| { | |||
| CarlaEngineClientNativeHandle handle; | |||
| handle.type = type; | |||
| #ifndef BUILD_BRIDGE | |||
| if (carlaOptions.processMode == PROCESS_MODE_SINGLE_CLIENT) | |||
| @@ -243,7 +244,7 @@ CarlaEngineClient* CarlaEngineJack::addClient(CarlaPlugin* const plugin) | |||
| //{ | |||
| //} | |||
| return new CarlaEngineClient(CarlaEngineTypeJack, handle); | |||
| return new CarlaEngineClient(handle); | |||
| } | |||
| // ------------------------------------------------------------------------------------------------------------------- | |||
| @@ -143,6 +143,7 @@ bool CarlaEngineRtAudio::isRunning() | |||
| CarlaEngineClient* CarlaEngineRtAudio::addClient(CarlaPlugin* const plugin) | |||
| { | |||
| CarlaEngineClientNativeHandle handle; | |||
| handle.type = type; | |||
| // unsigned int rtBufferFrames = getBufferSize(); | |||
| @@ -163,7 +164,7 @@ CarlaEngineClient* CarlaEngineRtAudio::addClient(CarlaPlugin* const plugin) | |||
| // return false; | |||
| // } | |||
| return new CarlaEngineClient(CarlaEngineTypeRtAudio, handle); | |||
| return new CarlaEngineClient(handle); | |||
| Q_UNUSED(plugin); | |||
| } | |||
| @@ -15,7 +15,7 @@ VERSION = 0.5.0 | |||
| SOURCES = \ | |||
| ../carla_backend_standalone.cpp \ | |||
| # ../carla_backend_lv2.cpp \ | |||
| ../carla_backend_vst.cpp \ | |||
| ../carla_bridge.cpp \ | |||
| ../carla_engine.cpp \ | |||
| ../carla_engine_jack.cpp \ | |||
| @@ -73,6 +73,7 @@ DEFINES += DEBUG NDEBUG | |||
| DEFINES += CARLA_ENGINE_JACK | |||
| DEFINES += CARLA_ENGINE_RTAUDIO HAVE_GETTIMEOFDAY __LINUX_ALSA__ __LINUX_ALSASEQ__ __LINUX_PULSE__ __RTAUDIO_DEBUG__ __RTMIDI_DEBUG__ | |||
| DEFINES += CARLA_ENGINE_LV2 | |||
| DEFINES += CARLA_ENGINE_VST | |||
| DEFINES += HAVE_SUIL | |||
| DEFINES += WANT_LADSPA WANT_DSSI WANT_LV2 WANT_VST | |||
| DEFINES += WANT_FLUIDSYNTH WANT_LINUXSAMPLER | |||