Browse Source

Add NATIVE_PLUGIN_OPCODE_HOST_USES_EMBED, for special hosts

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.4.1
parent
commit
d61f507e72
3 changed files with 13 additions and 4 deletions
  1. +9
    -3
      source/backend/engine/CarlaEngineNative.cpp
  2. +2
    -1
      source/includes/CarlaNative.h
  3. +2
    -0
      source/includes/CarlaNative.hpp

+ 9
- 3
source/backend/engine/CarlaEngineNative.cpp View File

@@ -160,6 +160,7 @@ public:
kHasMidiOut(withMidiOut), kHasMidiOut(withMidiOut),
fIsActive(false), fIsActive(false),
fIsRunning(false), fIsRunning(false),
fUsesEmbed(false),
fUiServer(this), fUiServer(this),
fLastScaleFactor(1.0f), fLastScaleFactor(1.0f),
fLastProjectFolder(), fLastProjectFolder(),
@@ -346,7 +347,7 @@ public:
{ {
fParameters[rindex] = valuef; fParameters[rindex] = valuef;


if (fUiServer.isPipeRunning())
if (fUsesEmbed || fUiServer.isPipeRunning())
{ {
pHost->ui_parameter_changed(pHost->handle, rindex, valuef); pHost->ui_parameter_changed(pHost->handle, rindex, valuef);
} }
@@ -1701,6 +1702,9 @@ public:
return 0; return 0;
case NATIVE_PLUGIN_OPCODE_UI_MIDI_EVENT: case NATIVE_PLUGIN_OPCODE_UI_MIDI_EVENT:
return 0; return 0;
case NATIVE_PLUGIN_OPCODE_HOST_USES_EMBED:
handlePtr->fUsesEmbed = true;
return 0;
} }


return 0; return 0;
@@ -1766,7 +1770,7 @@ private:


const bool kIsPatchbay; // rack if false const bool kIsPatchbay; // rack if false
const bool kHasMidiOut; const bool kHasMidiOut;
bool fIsActive, fIsRunning;
bool fIsActive, fIsRunning, fUsesEmbed;
CarlaEngineNativeUI fUiServer; CarlaEngineNativeUI fUiServer;


float fParameters[kNumInParams+kNumOutParams]; float fParameters[kNumInParams+kNumOutParams];
@@ -2881,7 +2885,9 @@ const char* getJuceApiName(const uint) { return nullptr; }
const char* const* getJuceApiDeviceNames(const uint) { return nullptr; } const char* const* getJuceApiDeviceNames(const uint) { return nullptr; }
const EngineDriverDeviceInfo* getJuceDeviceInfo(const uint, const char* const) { return nullptr; } const EngineDriverDeviceInfo* getJuceDeviceInfo(const uint, const char* const) { return nullptr; }
bool showJuceDeviceControlPanel(const uint, const char* const) { return false; } bool showJuceDeviceControlPanel(const uint, const char* const) { return false; }
#else
#endif

#ifdef USING_RTAUDIO
CarlaEngine* newRtAudio(const AudioApi) { return nullptr; } CarlaEngine* newRtAudio(const AudioApi) { return nullptr; }
uint getRtAudioApiCount() { return 0; } uint getRtAudioApiCount() { return 0; }
const char* getRtAudioApiName(const uint) { return nullptr; } const char* getRtAudioApiName(const uint) { return nullptr; }


+ 2
- 1
source/includes/CarlaNative.h View File

@@ -106,7 +106,8 @@ typedef enum {
NATIVE_PLUGIN_OPCODE_UI_NAME_CHANGED = 4, /** uses ptr */ NATIVE_PLUGIN_OPCODE_UI_NAME_CHANGED = 4, /** uses ptr */
NATIVE_PLUGIN_OPCODE_GET_INTERNAL_HANDLE = 5, /** nothing */ NATIVE_PLUGIN_OPCODE_GET_INTERNAL_HANDLE = 5, /** nothing */
NATIVE_PLUGIN_OPCODE_IDLE = 6, /** nothing */ NATIVE_PLUGIN_OPCODE_IDLE = 6, /** nothing */
NATIVE_PLUGIN_OPCODE_UI_MIDI_EVENT = 7 /** uses ptr */
NATIVE_PLUGIN_OPCODE_UI_MIDI_EVENT = 7, /** uses ptr */
NATIVE_PLUGIN_OPCODE_HOST_USES_EMBED = 8 /** nothing */
} NativePluginDispatcherOpcode; } NativePluginDispatcherOpcode;


typedef enum { typedef enum {


+ 2
- 0
source/includes/CarlaNative.hpp View File

@@ -566,6 +566,8 @@ public:
CARLA_SAFE_ASSERT_RETURN(ptr != nullptr, 0); CARLA_SAFE_ASSERT_RETURN(ptr != nullptr, 0);
return handlePtr->uiMIDIEvent(static_cast<uint8_t>(index), return handlePtr->uiMIDIEvent(static_cast<uint8_t>(index),
static_cast<uint8_t*>(ptr)); static_cast<uint8_t*>(ptr));
case NATIVE_PLUGIN_OPCODE_HOST_USES_EMBED:
return 0;
} }


return 0; return 0;


Loading…
Cancel
Save