Browse Source

Import fixes from main branch into hotfix-2.5 one

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.5.2
falkTX 3 years ago
parent
commit
4547f26116
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
7 changed files with 46 additions and 57 deletions
  1. +31
    -31
      source/backend/plugin/CarlaPluginLV2.cpp
  2. +11
    -11
      source/backend/plugin/CarlaPluginVST2.cpp
  3. +2
    -3
      source/backend/utils/Makefile
  4. +0
    -5
      source/frontend/carla_utils.py
  5. +2
    -2
      source/includes/CarlaDefines.h
  6. +0
    -1
      source/includes/CarlaNativePrograms.hpp
  7. +0
    -4
      source/utils/CarlaThread.hpp

+ 31
- 31
source/backend/plugin/CarlaPluginLV2.cpp View File

@@ -4352,6 +4352,37 @@ public:
fExt.worker->end_run(fHandle2);
}

#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
// --------------------------------------------------------------------------------------------------------
// Control Output

if (pData->event.portOut != nullptr)
{
uint8_t channel;
uint16_t param;
float value;

for (uint32_t k=0; k < pData->param.count; ++k)
{
if (pData->param.data[k].type != PARAMETER_OUTPUT)
continue;

if (fStrictBounds >= 0 && (pData->param.data[k].hints & PARAMETER_IS_STRICT_BOUNDS) != 0)
// plugin is responsible to ensure correct bounds
pData->param.ranges[k].fixValue(fParamBuffers[k]);

if (pData->param.data[k].mappedControlIndex > 0)
{
channel = pData->param.data[k].midiChannel;
param = static_cast<uint16_t>(pData->param.data[k].mappedControlIndex);
value = pData->param.ranges[k].getNormalizedValue(fParamBuffers[k]);
pData->event.portOut->writeControlEvent(0, channel, kEngineControlEventTypeParameter,
param, -1, value);
}
}
} // End of Control Output
#endif

// --------------------------------------------------------------------------------------------------------
// Events/MIDI Output

@@ -4458,37 +4489,6 @@ public:
}
}

#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
// --------------------------------------------------------------------------------------------------------
// Control Output

if (pData->event.portOut != nullptr)
{
uint8_t channel;
uint16_t param;
float value;

for (uint32_t k=0; k < pData->param.count; ++k)
{
if (pData->param.data[k].type != PARAMETER_OUTPUT)
continue;

if (fStrictBounds >= 0 && (pData->param.data[k].hints & PARAMETER_IS_STRICT_BOUNDS) != 0)
// plugin is responsible to ensure correct bounds
pData->param.ranges[k].fixValue(fParamBuffers[k]);

if (pData->param.data[k].mappedControlIndex > 0)
{
channel = pData->param.data[k].midiChannel;
param = static_cast<uint16_t>(pData->param.data[k].mappedControlIndex);
value = pData->param.ranges[k].getNormalizedValue(fParamBuffers[k]);
pData->event.portOut->writeControlEvent(0, channel, kEngineControlEventTypeParameter,
param, -1, value);
}
}
} // End of Control Output
#endif

fFirstActive = false;

// --------------------------------------------------------------------------------------------------------


+ 11
- 11
source/backend/plugin/CarlaPluginVST2.cpp View File

@@ -1235,17 +1235,17 @@ public:
{
fMidiEventCount = MAX_MIDI_CHANNELS*2;

for (uint8_t i=0, k=MAX_MIDI_CHANNELS; i < MAX_MIDI_CHANNELS; ++i)
for (uint8_t i=0; i < MAX_MIDI_CHANNELS; ++i)
{
fMidiEvents[k].type = kVstMidiType;
fMidiEvents[k].byteSize = kVstMidiEventSize;
fMidiEvents[k].midiData[0] = char(MIDI_STATUS_CONTROL_CHANGE | (k & MIDI_CHANNEL_BIT));
fMidiEvents[k].midiData[1] = MIDI_CONTROL_ALL_NOTES_OFF;
fMidiEvents[k+i].type = kVstMidiType;
fMidiEvents[k+i].byteSize = kVstMidiEventSize;
fMidiEvents[k+i].midiData[0] = char(MIDI_STATUS_CONTROL_CHANGE | (k & MIDI_CHANNEL_BIT));
fMidiEvents[k+i].midiData[1] = MIDI_CONTROL_ALL_SOUND_OFF;
fMidiEvents[i].type = kVstMidiType;
fMidiEvents[i].byteSize = kVstMidiEventSize;
fMidiEvents[i].midiData[0] = char(MIDI_STATUS_CONTROL_CHANGE | (i & MIDI_CHANNEL_BIT));
fMidiEvents[i].midiData[1] = MIDI_CONTROL_ALL_NOTES_OFF;
fMidiEvents[MAX_MIDI_CHANNELS + i].type = kVstMidiType;
fMidiEvents[MAX_MIDI_CHANNELS + i].byteSize = kVstMidiEventSize;
fMidiEvents[MAX_MIDI_CHANNELS + i].midiData[0] = char(MIDI_STATUS_CONTROL_CHANGE | (i & MIDI_CHANNEL_BIT));
fMidiEvents[MAX_MIDI_CHANNELS + i].midiData[1] = MIDI_CONTROL_ALL_SOUND_OFF;
}
}
else if (pData->ctrlChannel >= 0 && pData->ctrlChannel < MAX_MIDI_CHANNELS)
@@ -1342,7 +1342,7 @@ public:

if (pData->extNotes.mutex.tryLock())
{
ExternalMidiNote note = { 0, 0, 0 };
ExternalMidiNote note = { -1, 0, 0 };

for (; fMidiEventCount < kPluginMaxMidiEvents*2 && ! pData->extNotes.data.isEmpty();)
{


+ 2
- 3
source/backend/utils/Makefile View File

@@ -28,6 +28,7 @@ TARGETS = $(BINDIR)/libcarla_utils$(LIB_EXT)

LIBS = $(MODULEDIR)/lilv.a
LIBS += $(MODULEDIR)/water.files.a
LIBS += $(MODULEDIR)/ysfx.a

ifeq ($(USING_JUCE),true)
LIBS += $(MODULEDIR)/carla_juce.a
@@ -43,6 +44,7 @@ endif

LINK_FLAGS += $(LILV_LIBS)
LINK_FLAGS += $(WATER_LIBS)
LINK_FLAGS += $(YSFX_GRAPHICS_LIBS)

ifeq ($(HAVE_X11),true)
LINK_FLAGS += $(X11_LIBS)
@@ -65,9 +67,6 @@ LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS)
LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS)
endif

LINK_FLAGS += $(MODULEDIR)/ysfx.a
LINK_FLAGS += $(YSFX_GRAPHICS_LIBS)

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

all: $(TARGETS)


+ 0
- 5
source/frontend/carla_utils.py View File

@@ -49,7 +49,6 @@ from carla_backend import (
PLUGIN_SF2,
PLUGIN_SFZ,
PLUGIN_JACK,
PLUGIN_JSFX,
PLUGIN_CATEGORY_NONE,
PLUGIN_CATEGORY_SYNTH,
PLUGIN_CATEGORY_DELAY,
@@ -98,8 +97,6 @@ def getPluginTypeAsString(ptype):
return "SFZ"
if ptype == PLUGIN_JACK:
return "JACK"
if ptype == PLUGIN_JSFX:
return "JSFX"

print("getPluginTypeAsString(%i) - invalid type" % ptype)
return "Unknown"
@@ -138,8 +135,6 @@ def getPluginTypeFromString(stype):
return PLUGIN_SFZ
if stype == "jack":
return PLUGIN_JACK
if stype == "jsfx":
return PLUGIN_JSFX

print("getPluginTypeFromString(\"%s\") - invalid string type" % stype)
return PLUGIN_NONE


+ 2
- 2
source/includes/CarlaDefines.h View File

@@ -76,8 +76,8 @@
# if __cplusplus >= 201103L || (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && defined(__GXX_EXPERIMENTAL_CXX0X__)) || __has_extension(cxx_noexcept)
# define CARLA_PROPER_CPP11_SUPPORT
# if (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) < 407 && ! defined(__clang__)) || (defined(__clang__) && ! __has_extension(cxx_override_control))
# define override // gcc4.7+ only
# define final // gcc4.7+ only
# define override /* gcc4.7+ only */
# define final /* gcc4.7+ only */
# endif
# endif
#endif


+ 0
- 1
source/includes/CarlaNativePrograms.hpp View File

@@ -27,7 +27,6 @@
#include "water/memory/SharedResourcePointer.h"
#include "water/text/StringArray.h"

using water::Array;
using water::File;
using water::SharedResourcePointer;
using water::String;


+ 0
- 4
source/utils/CarlaThread.hpp View File

@@ -22,10 +22,6 @@
#include "CarlaString.hpp"
#include "CarlaProcessUtils.hpp"

#ifdef CARLA_OS_LINUX
# include <sys/prctl.h>
#endif

#ifdef CARLA_OS_WASM
# error Threads do not work under wasm!
#endif


Loading…
Cancel
Save