@@ -103,8 +103,6 @@ void* CarlaPluginProtectedData::uiLibSymbol(const char* const symbol) | |||
// ------------------------------------------------------------------- | |||
// Settings functions, defined in CarlaPluginInternal.hpp | |||
// FIXME - this doesn't work!! | |||
void CarlaPluginProtectedData::saveSetting(const unsigned int option, const bool yesNo) | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(identifier != nullptr && identifier[0] != '\0',); | |||
@@ -490,10 +490,7 @@ public: | |||
pData->param.createNew(params); | |||
fParamBuffers = new float[params]; | |||
#ifdef USE_JUCE | |||
FloatVectorOperations::clear(fParamBuffers, params); | |||
#else | |||
#endif | |||
FLOAT_CLEAR(fParamBuffers, params); | |||
} | |||
const uint portNameSize(pData->engine->getMaxPortNameSize()); | |||
@@ -626,7 +623,7 @@ public: | |||
if (LADSPA_IS_PORT_INPUT(portType)) | |||
{ | |||
//pData->param.data[j].hints |= PARAMETER_IS_INPUT; | |||
pData->param.data[j].type = PARAMETER_INPUT; | |||
pData->param.data[j].hints |= PARAMETER_IS_ENABLED; | |||
pData->param.data[j].hints |= PARAMETER_IS_AUTOMABLE; | |||
needsCtrlIn = true; | |||
@@ -642,8 +639,8 @@ public: | |||
stepSmall = 1.0f; | |||
stepLarge = 1.0f; | |||
//pData->param.data[j].type = PARAMETER_LATENCY; | |||
pData->param.data[j].hints = 0; | |||
pData->param.data[j].type = PARAMETER_SPECIAL; | |||
pData->param.data[j].hints = 0; // TODO PARAMETER_LATENCY | |||
} | |||
else if (std::strcmp(fDescriptor->PortNames[i], "_sample-rate") == 0) | |||
{ | |||
@@ -652,11 +649,12 @@ public: | |||
stepSmall = 1.0f; | |||
stepLarge = 1.0f; | |||
//pData->param.data[j].type = PARAMETER_SAMPLE_RATE; | |||
pData->param.data[j].hints = 0; | |||
pData->param.data[j].type = PARAMETER_SPECIAL; | |||
pData->param.data[j].hints = 0; // TODO PARAMETER_SAMPLE_RATE | |||
} | |||
else | |||
{ | |||
pData->param.data[j].type = PARAMETER_OUTPUT; | |||
pData->param.data[j].hints |= PARAMETER_IS_ENABLED; | |||
pData->param.data[j].hints |= PARAMETER_IS_AUTOMABLE; | |||
needsCtrlOut = true; | |||
@@ -664,6 +662,7 @@ public: | |||
} | |||
else | |||
{ | |||
pData->param.data[j].type = PARAMETER_UNKNOWN; | |||
carla_stderr2("WARNING - Got a broken Port (Control, but not input or output)"); | |||
} | |||
@@ -765,6 +764,7 @@ public: | |||
{ | |||
for (uint32_t i=0; i < pData->param.count; ++i) | |||
{ | |||
// TODO | |||
//if (pData->param.data[i].type != PARAMETER_LATENCY) | |||
// continue; | |||
@@ -858,12 +858,7 @@ public: | |||
{ | |||
// disable any output sound | |||
for (uint32_t i=0; i < pData->audioOut.count; ++i) | |||
{ | |||
#ifdef USE_JUCE | |||
FloatVectorOperations::clear(outBuffer[i], frames); | |||
#else | |||
#endif | |||
} | |||
FLOAT_CLEAR(outBuffer[i], frames); | |||
return; | |||
} | |||
@@ -876,12 +871,7 @@ public: | |||
if (pData->latency > 0) | |||
{ | |||
for (uint32_t i=0; i < pData->audioIn.count; ++i) | |||
{ | |||
#ifdef USE_JUCE | |||
FloatVectorOperations::clear(pData->latencyBuffers[i], pData->latency); | |||
#else | |||
#endif | |||
} | |||
FLOAT_CLEAR(pData->latencyBuffers[i], pData->latency); | |||
} | |||
pData->needsReset = false; | |||
@@ -990,7 +980,7 @@ public: | |||
continue; | |||
if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
continue; | |||
if (pData->param.data[k].hints != PARAMETER_INPUT) | |||
if (pData->param.data[k].type != PARAMETER_INPUT) | |||
continue; | |||
if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
continue; | |||
@@ -1113,20 +1103,10 @@ public: | |||
// Reset audio buffers | |||
for (uint32_t i=0; i < pData->audioIn.count; ++i) | |||
{ | |||
#ifdef USE_JUCE | |||
FloatVectorOperations::copy(fAudioInBuffers[i], inBuffer[i]+timeOffset, frames); | |||
#else | |||
#endif | |||
} | |||
FLOAT_COPY(fAudioInBuffers[i], inBuffer[i]+timeOffset, frames); | |||
for (uint32_t i=0; i < pData->audioOut.count; ++i) | |||
{ | |||
#ifdef USE_JUCE | |||
FloatVectorOperations::clear(fAudioOutBuffers[i], frames); | |||
#else | |||
#endif | |||
} | |||
FLOAT_CLEAR(fAudioOutBuffers[i], frames); | |||
// -------------------------------------------------------------------------------------------------------- | |||
// Run plugin | |||
@@ -1173,10 +1153,7 @@ public: | |||
if (isPair) | |||
{ | |||
CARLA_ASSERT(i+1 < pData->audioOut.count); | |||
#ifdef USE_JUCE | |||
FloatVectorOperations::copy(oldBufLeft, fAudioOutBuffers[i], frames); | |||
#else | |||
#endif | |||
FLOAT_COPY(oldBufLeft, fAudioOutBuffers[i], frames); | |||
} | |||
float balRangeL = (pData->postProc.balanceLeft + 1.0f)/2.0f; | |||
@@ -13,59 +13,60 @@ BUILD_CXX_FLAGS += -I../backend -I../includes -I../modules -I../utils -Wno-multi | |||
BUILD_CXX_FLAGS += $(QTCORE_FLAGS) | |||
LINK_FLAGS += $(QTCORE_LIBS) | |||
ifeq ($(HAVE_JUCE),true) | |||
BUILD_CXX_FLAGS += $(JUCE_CORE_FLAGS) $(JUCE_AUDIO_BASICS_FLAGS) -DHAVE_JUCE | |||
LINK_FLAGS += $(JUCE_CORE_LIBS) $(JUCE_AUDIO_BASICS_LIBS) | |||
endif | |||
# ifeq ($(HAVE_JUCE),true) | |||
# BUILD_CXX_FLAGS += -DHAVE_JUCE | |||
# endif | |||
# -------------------------------------------------------------- | |||
BUILD_CXX_FLAGS += -DWANT_NATIVE | |||
# BUILD_CXX_FLAGS += -DWANT_NATIVE | |||
ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||
BUILD_CXX_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST | |||
ifeq ($(CARLA_VESTIGE_HEADER),true) | |||
BUILD_CXX_FLAGS += -DVESTIGE_HEADER | |||
endif | |||
BUILD_CXX_FLAGS += -DWANT_LADSPA | |||
# -DWANT_DSSI -DWANT_LV2 -DWANT_VST | |||
# ifeq ($(CARLA_VESTIGE_HEADER),true) | |||
# BUILD_CXX_FLAGS += -DVESTIGE_HEADER | |||
# endif | |||
endif | |||
# -------------------------------------------------------------- | |||
ifeq ($(HAVE_CSOUND),true) | |||
NATIVE_FLAGS += $(shell pkg-config --cflags --libs sndfile) -lcsound64 -DWANT_CSOUND | |||
endif | |||
ifeq ($(HAVE_FLUIDSYNTH),true) | |||
NATIVE_FLAGS += $(shell pkg-config --cflags --libs fluidsynth) -DWANT_FLUIDSYNTH | |||
endif | |||
ifeq ($(HAVE_LINUXSAMPLER),true) | |||
NATIVE_FLAGS += $(shell pkg-config --cflags --libs linuxsampler) -DWANT_LINUXSAMPLER | |||
endif | |||
# ifeq ($(HAVE_CSOUND),true) | |||
# NATIVE_FLAGS += $(shell pkg-config --cflags --libs sndfile) -lcsound64 -DWANT_CSOUND | |||
# endif | |||
# | |||
# ifeq ($(HAVE_FLUIDSYNTH),true) | |||
# NATIVE_FLAGS += $(shell pkg-config --cflags --libs fluidsynth) -DWANT_FLUIDSYNTH | |||
# endif | |||
# | |||
# ifeq ($(HAVE_LINUXSAMPLER),true) | |||
# NATIVE_FLAGS += $(shell pkg-config --cflags --libs linuxsampler) -DWANT_LINUXSAMPLER | |||
# endif | |||
# -------------------------------------------------------------- | |||
ifeq ($(HAVE_JUCE),true) | |||
LIBS += ../modules/juce_audio_basics.a | |||
LIBS_posix32 += ../modules/juce_audio_basics.posix32.a | |||
LIBS_posix64 += ../modules/juce_audio_basics.posix64.a | |||
LIBS_win32 += ../modules/juce_audio_basics.win32.a | |||
LIBS_win64 += ../modules/juce_audio_basics.win64.a | |||
LIBS += ../modules/juce_core.a | |||
LIBS_posix32 += ../modules/juce_core.posix32.a | |||
LIBS_posix64 += ../modules/juce_core.posix64.a | |||
LIBS_win32 += ../modules/juce_core.win32.a | |||
LIBS_win64 += ../modules/juce_core.win64.a | |||
endif | |||
ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||
LIBS += ../modules/lilv.a | |||
LIBS_posix32 += ../modules/lilv.posix32.a | |||
LIBS_posix64 += ../modules/lilv.posix64.a | |||
LIBS_win32 += ../modules/lilv.win32.a | |||
LIBS_win64 += ../modules/lilv.win64.a | |||
LINK_FLAGS += $(LILV_LIBS) | |||
endif | |||
# ifeq ($(HAVE_JUCE),true) | |||
# LIBS += ../modules/juce_audio_basics.a | |||
# LIBS_posix32 += ../modules/juce_audio_basics.posix32.a | |||
# LIBS_posix64 += ../modules/juce_audio_basics.posix64.a | |||
# LIBS_win32 += ../modules/juce_audio_basics.win32.a | |||
# LIBS_win64 += ../modules/juce_audio_basics.win64.a | |||
# LIBS += ../modules/juce_core.a | |||
# LIBS_posix32 += ../modules/juce_core.posix32.a | |||
# LIBS_posix64 += ../modules/juce_core.posix64.a | |||
# LIBS_win32 += ../modules/juce_core.win32.a | |||
# LIBS_win64 += ../modules/juce_core.win64.a | |||
# LINK_FLAGS += $(JUCE_CORE_LIBS) $(JUCE_AUDIO_BASICS_LIBS) | |||
# endif | |||
# ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||
# LIBS += ../modules/lilv.a | |||
# LIBS_posix32 += ../modules/lilv.posix32.a | |||
# LIBS_posix64 += ../modules/lilv.posix64.a | |||
# LIBS_win32 += ../modules/lilv.win32.a | |||
# LIBS_win64 += ../modules/lilv.win64.a | |||
# LINK_FLAGS += $(LILV_LIBS) | |||
# endif | |||
POSIX_BUILD_FLAGS = $(BUILD_CXX_FLAGS) | |||
POSIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu | |||
@@ -66,8 +66,9 @@ CARLA_BACKEND_USE_NAMESPACE | |||
// -------------------------------------------------------------------------- | |||
// Dummy values to test plugins with | |||
const uint32_t kBufferSize = 512; | |||
const double kSampleRate = 44100.0; | |||
const uint32_t kBufferSize = 512; | |||
const double kSampleRate = 44100.0; | |||
const float kSampleRatef = 44100.0f; | |||
// -------------------------------------------------------------------------- | |||
// Don't print ELF/EXE related errors since discovery can find multi-architecture binaries | |||
@@ -579,9 +580,9 @@ void do_ladspa_check(void*& libHandle, const char* const filename, const bool in | |||
if (LADSPA_IS_HINT_SAMPLE_RATE(portRangeHints.HintDescriptor)) | |||
{ | |||
min *= kSampleRate; | |||
max *= kSampleRate; | |||
def *= kSampleRate; | |||
min *= kSampleRatef; | |||
max *= kSampleRatef; | |||
def *= kSampleRatef; | |||
} | |||
if (LADSPA_IS_PORT_OUTPUT(portDescriptor) && (std::strcmp(portName, "latency") == 0 || std::strcmp(portName, "_latency") == 0)) | |||
@@ -857,9 +858,9 @@ void do_dssi_check(void*& libHandle, const char* const filename, const bool init | |||
if (LADSPA_IS_HINT_SAMPLE_RATE(portRangeHints.HintDescriptor)) | |||
{ | |||
min *= kSampleRate; | |||
max *= kSampleRate; | |||
def *= kSampleRate; | |||
min *= kSampleRatef; | |||
max *= kSampleRatef; | |||
def *= kSampleRatef; | |||
} | |||
if (LADSPA_IS_PORT_OUTPUT(portDescriptor) && (std::strcmp(portName, "latency") == 0 || std::strcmp(portName, "_latency") == 0)) | |||