Browse Source

Add OPTION_PATH_RESOURCES

tags/1.9.4
falkTX 12 years ago
parent
commit
4d33281294
9 changed files with 64 additions and 34 deletions
  1. +23
    -15
      source/backend/CarlaBackend.hpp
  2. +2
    -0
      source/backend/CarlaEngine.hpp
  3. +1
    -0
      source/backend/CarlaNative.h
  4. +4
    -0
      source/backend/engine/CarlaEngine.cpp
  5. +10
    -2
      source/backend/plugin/NativePlugin.cpp
  6. +5
    -0
      source/backend/standalone/CarlaStandalone.cpp
  7. +1
    -2
      source/carla.py
  8. +16
    -15
      source/carla_backend.py
  9. +2
    -0
      source/utils/CarlaBackendUtils.hpp

+ 23
- 15
source/backend/CarlaBackend.hpp View File

@@ -288,36 +288,44 @@ enum OptionsType {
OPTION_RTAUDIO_DEVICE = 13,
#endif

/*!
* Set path to the backend resource files.\n
* Default unset.
*
* \note Must be set for some internal plugins to work!
*/
OPTION_PATH_RESOURCES = 14,

#ifndef BUILD_BRIDGE
/*!
* Set path to the native plugin bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_NATIVE = 14,
OPTION_PATH_BRIDGE_NATIVE = 15,

/*!
* Set path to the POSIX 32bit plugin bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_POSIX32 = 15,
OPTION_PATH_BRIDGE_POSIX32 = 16,

/*!
* Set path to the POSIX 64bit plugin bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_POSIX64 = 16,
OPTION_PATH_BRIDGE_POSIX64 = 17,

/*!
* Set path to the Windows 32bit plugin bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_WIN32 = 17,
OPTION_PATH_BRIDGE_WIN32 = 18,

/*!
* Set path to the Windows 64bit plugin bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_WIN64 = 18,
OPTION_PATH_BRIDGE_WIN64 = 19,
#endif

#ifdef WANT_LV2
@@ -325,43 +333,43 @@ enum OptionsType {
* Set path to the LV2 Gtk2 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_GTK2 = 19,
OPTION_PATH_BRIDGE_LV2_GTK2 = 20,

/*!
* Set path to the LV2 Gtk3 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_GTK3 = 20,
OPTION_PATH_BRIDGE_LV2_GTK3 = 21,

/*!
* Set path to the LV2 Qt4 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_QT4 = 21,
OPTION_PATH_BRIDGE_LV2_QT4 = 22,

/*!
* Set path to the LV2 Qt5 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_QT5 = 22,
OPTION_PATH_BRIDGE_LV2_QT5 = 23,

/*!
* Set path to the LV2 Cocoa UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_COCOA = 23,
OPTION_PATH_BRIDGE_LV2_COCOA = 24,

/*!
* Set path to the LV2 Windows UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_WINDOWS = 24,
OPTION_PATH_BRIDGE_LV2_WINDOWS = 25,

/*!
* Set path to the LV2 X11 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_LV2_X11 = 25,
OPTION_PATH_BRIDGE_LV2_X11 = 26,
#endif

#ifdef WANT_VST
@@ -369,19 +377,19 @@ enum OptionsType {
* Set path to the VST Cocoa UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_VST_COCOA = 26,
OPTION_PATH_BRIDGE_VST_COCOA = 27,

/*!
* Set path to the VST HWND UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_VST_HWND = 27,
OPTION_PATH_BRIDGE_VST_HWND = 28,

/*!
* Set path to the VST X11 UI bridge executable.\n
* Default unset.
*/
OPTION_PATH_BRIDGE_VST_X11 = 28
OPTION_PATH_BRIDGE_VST_X11 = 29
#endif
};



+ 2
- 0
source/backend/CarlaEngine.hpp View File

@@ -245,6 +245,8 @@ struct EngineOptions {
CarlaString rtaudioDevice;
#endif

CarlaString resourceDir;

#ifndef BUILD_BRIDGE
CarlaString bridge_native;
CarlaString bridge_posix32;


+ 1
- 0
source/backend/CarlaNative.h View File

@@ -149,6 +149,7 @@ typedef struct _TimeInfo {

typedef struct _HostDescriptor {
HostHandle handle;
const char* resource_dir;
const char* ui_name;

uint32_t (*get_buffer_size)(HostHandle handle);


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

@@ -1628,6 +1628,10 @@ void CarlaEngine::setOption(const OptionsType option, const int value, const cha
break;
#endif

case OPTION_PATH_RESOURCES:
fOptions.resourceDir = valueStr;
break;

#ifndef BUILD_BRIDGE
case OPTION_PATH_BRIDGE_NATIVE:
fOptions.bridge_native = valueStr;


+ 10
- 2
source/backend/plugin/NativePlugin.cpp View File

@@ -173,8 +173,10 @@ public:

carla_zeroStruct< ::MidiEvent>(fMidiEvents, MAX_MIDI_EVENTS*2);

fHost.handle = this;
fHost.ui_name = nullptr;
fHost.handle = this;
fHost.resource_dir = carla_strdup((const char*)engine->getOptions().resourceDir);
fHost.ui_name = nullptr;

fHost.get_buffer_size = carla_host_get_buffer_size;
fHost.get_sample_rate = carla_host_get_sample_rate;
fHost.get_time_info = carla_host_get_time_info;
@@ -224,6 +226,12 @@ public:
fDescriptor = nullptr;
}

if (fHost.resource_dir != nullptr)
{
delete[] fHost.resource_dir;
fHost.resource_dir = nullptr;
}

if (fHost.ui_name != nullptr)
{
delete[] fHost.ui_name;


+ 5
- 0
source/backend/standalone/CarlaStandalone.cpp View File

@@ -536,6 +536,7 @@ bool carla_engine_init(const char* driverName, const char* clientName)
standalone.engine->setOption(CarlaBackend::OPTION_RTAUDIO_SAMPLE_RATE, static_cast<int>(standalone.options.rtaudioSampleRate), nullptr);
standalone.engine->setOption(CarlaBackend::OPTION_RTAUDIO_DEVICE, 0, (const char*)standalone.options.rtaudioDevice);
# endif
standalone.engine->setOption(CarlaBackend::OPTION_PATH_RESOURCES, 0, (const char*)standalone.options.resourceDir);
standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_NATIVE, 0, (const char*)standalone.options.bridge_native);
standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_POSIX32, 0, (const char*)standalone.options.bridge_posix32);
standalone.engine->setOption(CarlaBackend::OPTION_PATH_BRIDGE_POSIX64, 0, (const char*)standalone.options.bridge_posix64);
@@ -729,6 +730,10 @@ void carla_set_engine_option(CarlaOptionsType option, int value, const char* val
break;
#endif

case CarlaBackend::OPTION_PATH_RESOURCES:
standalone.options.resourceDir = valueStr;
break;

#ifndef BUILD_BRIDGE
case CarlaBackend::OPTION_PATH_BRIDGE_NATIVE:
standalone.options.bridge_native = valueStr;


+ 1
- 2
source/carla.py View File

@@ -2317,8 +2317,7 @@ if __name__ == '__main__':
else:
Carla.host.set_engine_option(OPTION_PROCESS_NAME, 0, "carla")

# Change dir to where DLL and resources are
os.chdir(libPath)
Carla.host.set_engine_option(OPTION_PATH_RESOURCES, 0, libPath)

# Set bridge paths
if carla_bridge_native:


+ 16
- 15
source/carla_backend.py View File

@@ -201,21 +201,22 @@ OPTION_JACK_TIMEMASTER = 10
OPTION_RTAUDIO_BUFFER_SIZE = 11
OPTION_RTAUDIO_SAMPLE_RATE = 12
OPTION_RTAUDIO_DEVICE = 13
OPTION_PATH_BRIDGE_NATIVE = 14
OPTION_PATH_BRIDGE_POSIX32 = 15
OPTION_PATH_BRIDGE_POSIX64 = 16
OPTION_PATH_BRIDGE_WIN32 = 17
OPTION_PATH_BRIDGE_WIN64 = 18
OPTION_PATH_BRIDGE_LV2_GTK2 = 19
OPTION_PATH_BRIDGE_LV2_GTK3 = 20
OPTION_PATH_BRIDGE_LV2_QT4 = 21
OPTION_PATH_BRIDGE_LV2_QT5 = 22
OPTION_PATH_BRIDGE_LV2_COCOA = 23
OPTION_PATH_BRIDGE_LV2_WINDOWS = 24
OPTION_PATH_BRIDGE_LV2_X11 = 25
OPTION_PATH_BRIDGE_VST_COCOA = 26
OPTION_PATH_BRIDGE_VST_HWND = 27
OPTION_PATH_BRIDGE_VST_X11 = 28
OPTION_PATH_RESOURCES = 14
OPTION_PATH_BRIDGE_NATIVE = 15
OPTION_PATH_BRIDGE_POSIX32 = 16
OPTION_PATH_BRIDGE_POSIX64 = 17
OPTION_PATH_BRIDGE_WIN32 = 18
OPTION_PATH_BRIDGE_WIN64 = 19
OPTION_PATH_BRIDGE_LV2_GTK2 = 20
OPTION_PATH_BRIDGE_LV2_GTK3 = 21
OPTION_PATH_BRIDGE_LV2_QT4 = 22
OPTION_PATH_BRIDGE_LV2_QT5 = 23
OPTION_PATH_BRIDGE_LV2_COCOA = 24
OPTION_PATH_BRIDGE_LV2_WINDOWS = 25
OPTION_PATH_BRIDGE_LV2_X11 = 26
OPTION_PATH_BRIDGE_VST_COCOA = 27
OPTION_PATH_BRIDGE_VST_HWND = 28
OPTION_PATH_BRIDGE_VST_X11 = 29

# Callback Type
CALLBACK_DEBUG = 0


+ 2
- 0
source/utils/CarlaBackendUtils.hpp View File

@@ -232,6 +232,8 @@ const char* OptionsType2Str(const OptionsType& type)
case OPTION_RTAUDIO_DEVICE:
return "OPTION_RTAUDIO_DEVICE";
#endif
case OPTION_PATH_RESOURCES:
return "OPTION_PATH_RESOURCES";
#ifndef BUILD_BRIDGE
case OPTION_PATH_BRIDGE_NATIVE:
return "OPTION_PATH_BRIDGE_NATIVE";


Loading…
Cancel
Save