Browse Source

Fix build; Remove debug prints; Implement drag/touch for bridges

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.1-rc1
falkTX 5 years ago
parent
commit
d218b58249
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
12 changed files with 31 additions and 16 deletions
  1. +1
    -1
      source/backend/CarlaEngine.hpp
  2. +1
    -1
      source/backend/engine/CarlaEngine.cpp
  3. +11
    -0
      source/backend/engine/CarlaEngineBridge.cpp
  4. +0
    -4
      source/backend/engine/CarlaEngineNative.cpp
  5. +8
    -0
      source/backend/plugin/CarlaPluginBridge.cpp
  6. +1
    -0
      source/backend/plugin/CarlaPluginJack.cpp
  7. +1
    -1
      source/backend/plugin/CarlaPluginLV2.cpp
  8. +0
    -1
      source/backend/plugin/CarlaPluginNative.cpp
  9. +2
    -4
      source/backend/plugin/CarlaPluginVST2.cpp
  10. +0
    -1
      source/plugin/carla-vst.cpp
  11. +3
    -2
      source/utils/CarlaBridgeDefines.hpp
  12. +3
    -1
      source/utils/CarlaBridgeUtils.hpp

+ 1
- 1
source/backend/CarlaEngine.hpp View File

@@ -880,6 +880,7 @@ public:
* Switch plugins with id @a idA and @a idB.
*/
bool switchPlugins(const uint idA, const uint idB) noexcept;
#endif

/*!
* Set a plugin's parameter in drag/touch mode.
@@ -889,7 +890,6 @@ public:
* @param touch The new state for the parameter
*/
virtual void touchPluginParameter(const uint id, const uint32_t parameterId, const bool touch) noexcept;
#endif

/*!
* Get plugin with id @a id.


+ 1
- 1
source/backend/engine/CarlaEngine.cpp View File

@@ -877,11 +877,11 @@ bool CarlaEngine::switchPlugins(const uint idA, const uint idB) noexcept

return true;
}
#endif

void CarlaEngine::touchPluginParameter(const uint, const uint32_t, const bool) noexcept
{
}
#endif

CarlaPlugin* CarlaEngine::getPlugin(const uint id) const noexcept
{


+ 11
- 0
source/backend/engine/CarlaEngineBridge.cpp View File

@@ -256,6 +256,17 @@ public:
return "Bridge";
}

void touchPluginParameter(const uint id, const uint32_t parameterId, const bool touch) noexcept override
{
CARLA_SAFE_ASSERT_RETURN(id == 0,);

const CarlaMutexLocker _cml(fShmNonRtServerControl.mutex);
fShmNonRtServerControl.writeOpcode(kPluginBridgeNonRtServerParameterTouch);
fShmNonRtServerControl.writeUInt(parameterId);
fShmNonRtServerControl.writeBool(touch);
fShmNonRtServerControl.commitWrite();
}

CarlaEngineClient* addClient(CarlaPlugin* const) override
{
return new CarlaEngineBridgeClient(*this, this);


+ 0
- 4
source/backend/engine/CarlaEngineNative.cpp View File

@@ -333,7 +333,6 @@ public:

void touchPluginParameter(const uint id, const uint32_t parameterId, const bool touch) noexcept override
{
carla_stdout("engineNative touchPluginParameter %u %u %s", id, parameterId, bool2str(touch));
setParameterTouchFromUI(id, parameterId, touch);
}

@@ -353,7 +352,6 @@ public:
if (pluginId != 0)
return;

carla_stdout("engineNative setParameterTouchFromUI %u %u %s", pluginId,index, bool2str(touch));
pHost->ui_parameter_touch(pHost->handle, index, touch);
}

@@ -1394,8 +1392,6 @@ protected:

void uiSetParameterValue(const uint32_t index, const float value)
{
carla_stdout("uiSetParameterValue(%d, %f)", index, static_cast<double>(value));

if (CarlaPlugin* const plugin = _getFirstPlugin())
{
if (index < plugin->getParameterCount())


+ 8
- 0
source/backend/plugin/CarlaPluginBridge.cpp View File

@@ -2079,6 +2079,14 @@ public:
}
} break;

case kPluginBridgeNonRtServerParameterTouch: {
// uint/index, bool/touch
const uint32_t index = fShmNonRtServerControl.readUInt();
const bool touch = fShmNonRtServerControl.readBool();

pData->engine->touchPluginParameter(pData->id, index, touch);
} break;

case kPluginBridgeNonRtServerDefaultValue: {
// uint/index, float/value
const uint32_t index = fShmNonRtServerControl.readUInt();


+ 1
- 0
source/backend/plugin/CarlaPluginJack.cpp View File

@@ -1397,6 +1397,7 @@ public:
case kPluginBridgeNonRtServerParameterRanges:
case kPluginBridgeNonRtServerParameterValue:
case kPluginBridgeNonRtServerParameterValue2:
case kPluginBridgeNonRtServerParameterTouch:
case kPluginBridgeNonRtServerDefaultValue:
case kPluginBridgeNonRtServerCurrentProgram:
case kPluginBridgeNonRtServerCurrentMidiProgram:


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

@@ -5114,7 +5114,7 @@ public:

void handleUITouch(const uint32_t rindex, const bool touch)
{
carla_stdout("CarlaPluginLV2::handleUITouch(%u, %s)", rindex, bool2str(touch));
carla_debug("CarlaPluginLV2::handleUITouch(%u, %s)", rindex, bool2str(touch));

uint32_t index = LV2UI_INVALID_PORT_INDEX;



+ 0
- 1
source/backend/plugin/CarlaPluginNative.cpp View File

@@ -2396,7 +2396,6 @@ protected:

void handleUiParameterTouch(const uint32_t index, const bool touch) const
{
carla_stdout("pluginNative handleUiParameterTouch %u %s", index, bool2str(touch));
pData->engine->touchPluginParameter(pData->id, index, touch);
}



+ 2
- 4
source/backend/plugin/CarlaPluginVST2.cpp View File

@@ -2197,14 +2197,12 @@ protected:
break;

case audioMasterBeginEdit:
CARLA_SAFE_ASSERT_BREAK(index > 0);
carla_stdout("audioMasterBeginEdit %i", index);
CARLA_SAFE_ASSERT_BREAK(index >= 0);
pData->engine->touchPluginParameter(pData->id, static_cast<uint32_t>(index), true);
break;

case audioMasterEndEdit:
CARLA_SAFE_ASSERT_BREAK(index > 0);
carla_stdout("audioMasterEndEdit %i", index);
CARLA_SAFE_ASSERT_BREAK(index >= 0);
pData->engine->touchPluginParameter(pData->id, static_cast<uint32_t>(index), false);
break;



+ 0
- 1
source/plugin/carla-vst.cpp View File

@@ -725,7 +725,6 @@ protected:

void handleUiParameterTouch(const uint32_t index, const bool touch) const
{
carla_stdout("VST handleUiParameterTouch %u %s", index, bool2str(touch));
hostCallback(touch ? audioMasterBeginEdit : audioMasterEndEdit, static_cast<int32_t>(index));
}



+ 3
- 2
source/utils/CarlaBridgeDefines.hpp View File

@@ -1,6 +1,6 @@
/*
* Carla Bridge definitions
* Copyright (C) 2013-2018 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2013-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -20,7 +20,7 @@

#include "CarlaRingBuffer.hpp"

#define CARLA_PLUGIN_BRIDGE_API_VERSION 5
#define CARLA_PLUGIN_BRIDGE_API_VERSION 6

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

@@ -90,6 +90,7 @@ enum PluginBridgeNonRtServerOpcode {
kPluginBridgeNonRtServerParameterRanges, // uint/index, float/def, float/min, float/max, float/step, float/stepSmall, float/stepLarge
kPluginBridgeNonRtServerParameterValue, // uint/index, float/value
kPluginBridgeNonRtServerParameterValue2, // uint/index, float/value (used for init/output parameters only, don't resend values)
kPluginBridgeNonRtServerParameterTouch, // uint/index, bool/touch
kPluginBridgeNonRtServerDefaultValue, // uint/index, float/value
kPluginBridgeNonRtServerCurrentProgram, // int/index
kPluginBridgeNonRtServerCurrentMidiProgram, // int/index


+ 3
- 1
source/utils/CarlaBridgeUtils.hpp View File

@@ -1,6 +1,6 @@
/*
* Carla Bridge utils
* Copyright (C) 2013-2018 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2013-2019 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -163,6 +163,8 @@ const char* PluginBridgeNonRtServerOpcode2str(const PluginBridgeNonRtServerOpcod
return "kPluginBridgeNonRtServerParameterValue";
case kPluginBridgeNonRtServerParameterValue2:
return "kPluginBridgeNonRtServerParameterValue2";
case kPluginBridgeNonRtServerParameterTouch:
return "kPluginBridgeNonRtServerParameterTouch";
case kPluginBridgeNonRtServerDefaultValue:
return "kPluginBridgeNonRtServerDefaultValue";
case kPluginBridgeNonRtServerCurrentProgram:


Loading…
Cancel
Save