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