Browse Source

More cleanup

tags/v0.9.0
falkTX 12 years ago
parent
commit
81569b76cf
10 changed files with 316 additions and 377 deletions
  1. +14
    -10
      c++/carla-backend/Makefile
  2. +13
    -14
      c++/carla-backend/carla_backend.hpp
  3. +2
    -2
      c++/carla-backend/carla_backend.pro
  4. +221
    -222
      c++/carla-backend/carla_backend_standalone.cpp
  5. +59
    -60
      c++/carla-backend/carla_backend_standalone.hpp
  6. +0
    -62
      c++/carla-backend/carla_backend_utils.hpp
  7. +1
    -1
      c++/carla-includes/lv2_atom_queue.hpp
  8. +1
    -1
      c++/carla-plugin/carla_plugin.hpp
  9. +2
    -2
      src/carla.py
  10. +3
    -3
      src/carla_backend.py

+ 14
- 10
c++/carla-backend/Makefile View File

@@ -56,15 +56,15 @@ endif
OBJS = \
carla_backend_standalone.o \

OBJS += ../carla-engine/carla_engine.a
OBJS += ../carla-plugin/carla_plugin.a
OBJS += ../carla-native/carla_native.a
# others
ifeq ($(CARLA_PLUGIN_SUPPORT),true)
OBJS += ../carla-lilv/carla_lilv.a
OBJS += ../carla-rtmempool/carla_rtmempool.a
endif
# OBJS += ../carla-engine/carla_engine.a
# OBJS += ../carla-plugin/carla_plugin.a
# OBJS += ../carla-native/carla_native.a
#
# # others
# ifeq ($(CARLA_PLUGIN_SUPPORT),true)
# OBJS += ../carla-lilv/carla_lilv.a
# OBJS += ../carla-rtmempool/carla_rtmempool.a
# endif

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

@@ -73,9 +73,13 @@ all: carla_backend.so
doxygen: carla_backend.doxygen
doxygen $<

carla_backend.dll: $(OBJS)
carla_backend.so: $(OBJS)
$(CXX) $^ $(LINK_FLAGS) -o $@ && $(STRIP) $@

carla_backend.dylib: $(OBJS)
$(CXX) $^ $(LINK_FLAGS) -bundle -o $@ && $(STRIP) $@

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

../carla-engine/carla_engine.a:
@@ -99,4 +103,4 @@ carla_backend.so: $(OBJS)
$(CXX) -c $< $(BUILD_CXX_FLAGS) -o $@

clean:
rm -f $(OBJS) *.so *.dll
rm -f $(OBJS) *.dll *.dylib *.so

+ 13
- 14
c++/carla-backend/carla_backend.hpp View File

@@ -80,6 +80,18 @@ const unsigned int PARAMETER_USES_SCALEPOINTS = 0x40; //!< Parameter uses scalep
const unsigned int PARAMETER_USES_CUSTOM_TEXT = 0x80; //!< Parameter uses custom text for displaying its value.\see CarlaPlugin::getParameterText()
/**@}*/

/*!
* @defgroup CustomDataTypes Custom Data types
*
* The type defines how the value in CustomData is stored.
*
* Types are valid URIs.\n
* Any non-string type is saved in a base64 format.
*/
const char* const CUSTOM_DATA_INVALID = nullptr; //!< Null/Invalid data.
const char* const CUSTOM_DATA_STRING = "urn:carla:string"; //!< Internal String (s)
/**@}*/

/*!
* @defgroup BridgeMessages Bridge Messages
*
@@ -164,19 +176,6 @@ enum InternalParametersIndex {
PARAMETER_BALANCE_RIGHT = -6 //!< Balance-Right parameter, range -1.0...1.0; default is 1.0.
};

/*!
* Custom Data types.\n
* The type defines how the value in CustomData is stored.\n
* Binary/chunks are stored in a base64 format string.
*/
enum CustomDataType {
CUSTOM_DATA_INVALID = 0, //!< Null/Invalid data.
CUSTOM_DATA_STRING = 1, //!< String
CUSTOM_DATA_PATH = 2, //!< Path (same as string, but used for filenames).
CUSTOM_DATA_CHUNK = 3, //!< Binary chunk (known type).
CUSTOM_DATA_BINARY = 4 //!< Binary chunk, used to store any unknown type.
};

/*!
* Plugin custom GUI type.
* \see OPTION_PREFER_UI_BRIDGES
@@ -558,7 +557,7 @@ struct MidiProgramData {
};

struct CustomData {
CustomDataType type;
const char* type;
const char* key;
const char* value;



+ 2
- 2
c++/carla-backend/carla_backend.pro View File

@@ -3,7 +3,7 @@
QT = core gui

CONFIG = debug
CONFIG += link_pkgconfig qt warn_on # plugin shared
CONFIG += link_pkgconfig qt warn_on

DEFINES = DEBUG
DEFINES += QTCREATOR_TEST
@@ -20,7 +20,7 @@ PKGCONFIG += fluidsynth linuxsampler
PKGCONFIG += fftw3 mxml

TARGET = carla_backend
TEMPLATE = app # lib
TEMPLATE = app
VERSION = 0.5.0

SOURCES = \


+ 221
- 222
c++/carla-backend/carla_backend_standalone.cpp
File diff suppressed because it is too large
View File


+ 59
- 60
c++/carla-backend/carla_backend_standalone.hpp View File

@@ -23,8 +23,7 @@
#include "carla_backend.hpp"

// TODO - create struct for internal plugin info
// TODO - dont strdup() on const-char* returns
// TODO - set_option caching values
// TODO - dont strdup() on const-char* returns, use static char[STR_MAX]

/*!
* @defgroup CarlaBackendStandalone Carla Backend Standalone
@@ -105,69 +104,69 @@ CARLA_EXPORT unsigned int get_engine_driver_count();
CARLA_EXPORT const char* get_engine_driver_name(unsigned int index);

CARLA_EXPORT unsigned int get_internal_plugin_count();
CARLA_EXPORT const PluginInfo* get_internal_plugin_info(unsigned int plugin_id);
CARLA_EXPORT const PluginInfo* get_internal_plugin_info(unsigned int pluginId);

CARLA_EXPORT bool engine_init(const char* driver_name, const char* client_name);
CARLA_EXPORT bool engine_init(const char* driverName, const char* clientName);
CARLA_EXPORT bool engine_close();
CARLA_EXPORT bool is_engine_running();

CARLA_EXPORT short add_plugin(CarlaBackend::BinaryType btype, CarlaBackend::PluginType ptype, const char* filename, const char* name, const char* label, void* extra_stuff);
CARLA_EXPORT bool remove_plugin(unsigned short plugin_id);
CARLA_EXPORT const PluginInfo* get_plugin_info(unsigned short plugin_id);
CARLA_EXPORT const PortCountInfo* get_audio_port_count_info(unsigned short plugin_id);
CARLA_EXPORT const PortCountInfo* get_midi_port_count_info(unsigned short plugin_id);
CARLA_EXPORT const PortCountInfo* get_parameter_count_info(unsigned short plugin_id);
CARLA_EXPORT const ParameterInfo* get_parameter_info(unsigned short plugin_id, uint32_t parameter_id);
CARLA_EXPORT const ScalePointInfo* get_parameter_scalepoint_info(unsigned short plugin_id, uint32_t parameter_id, uint32_t scalepoint_id);
CARLA_EXPORT const GuiInfo* get_gui_info(unsigned short plugin_id);
CARLA_EXPORT const CarlaBackend::ParameterData* get_parameter_data(unsigned short plugin_id, uint32_t parameter_id);
CARLA_EXPORT const CarlaBackend::ParameterRanges* get_parameter_ranges(unsigned short plugin_id, uint32_t parameter_id);
CARLA_EXPORT const CarlaBackend::MidiProgramData* get_midi_program_data(unsigned short plugin_id, uint32_t midi_program_id);
CARLA_EXPORT const CarlaBackend::CustomData* get_custom_data(unsigned short plugin_id, uint32_t custom_data_id);
CARLA_EXPORT const char* get_chunk_data(unsigned short plugin_id);
CARLA_EXPORT uint32_t get_parameter_count(unsigned short plugin_id);
CARLA_EXPORT uint32_t get_program_count(unsigned short plugin_id);
CARLA_EXPORT uint32_t get_midi_program_count(unsigned short plugin_id);
CARLA_EXPORT uint32_t get_custom_data_count(unsigned short plugin_id);
CARLA_EXPORT const char* get_parameter_text(unsigned short plugin_id, uint32_t parameter_id);
CARLA_EXPORT const char* get_program_name(unsigned short plugin_id, uint32_t program_id);
CARLA_EXPORT const char* get_midi_program_name(unsigned short plugin_id, uint32_t midi_program_id);
CARLA_EXPORT const char* get_real_plugin_name(unsigned short plugin_id);
CARLA_EXPORT int32_t get_current_program_index(unsigned short plugin_id);
CARLA_EXPORT int32_t get_current_midi_program_index(unsigned short plugin_id);
CARLA_EXPORT double get_default_parameter_value(unsigned short plugin_id, uint32_t parameter_id);
CARLA_EXPORT double get_current_parameter_value(unsigned short plugin_id, uint32_t parameter_id);
CARLA_EXPORT double get_input_peak_value(unsigned short plugin_id, unsigned short port_id);
CARLA_EXPORT double get_output_peak_value(unsigned short plugin_id, unsigned short port_id);
CARLA_EXPORT void set_active(unsigned short plugin_id, bool onoff);
CARLA_EXPORT void set_drywet(unsigned short plugin_id, double value);
CARLA_EXPORT void set_volume(unsigned short plugin_id, double value);
CARLA_EXPORT void set_balance_left(unsigned short plugin_id, double value);
CARLA_EXPORT void set_balance_right(unsigned short plugin_id, double value);
CARLA_EXPORT void set_parameter_value(unsigned short plugin_id, uint32_t parameter_id, double value);
CARLA_EXPORT void set_parameter_midi_channel(unsigned short plugin_id, uint32_t parameter_id, uint8_t channel);
CARLA_EXPORT void set_parameter_midi_cc(unsigned short plugin_id, uint32_t parameter_id, int16_t cc);
CARLA_EXPORT void set_program(unsigned short plugin_id, uint32_t program_id);
CARLA_EXPORT void set_midi_program(unsigned short plugin_id, uint32_t midi_program_id);
CARLA_EXPORT void set_custom_data(unsigned short plugin_id, CarlaBackend::CustomDataType dtype, const char* key, const char* value);
CARLA_EXPORT void set_chunk_data(unsigned short plugin_id, const char* chunk_data);
CARLA_EXPORT void set_gui_container(unsigned short plugin_id, uintptr_t gui_addr);
CARLA_EXPORT void show_gui(unsigned short plugin_id, bool yesno);
CARLA_EXPORT short add_plugin(CarlaBackend::BinaryType btype, CarlaBackend::PluginType ptype, const char* filename, const char* name, const char* label, void* extraStuff);
CARLA_EXPORT bool remove_plugin(unsigned short pluginId);
CARLA_EXPORT const PluginInfo* get_plugin_info(unsigned short pluginId);
CARLA_EXPORT const PortCountInfo* get_audio_port_count_info(unsigned short pluginId);
CARLA_EXPORT const PortCountInfo* get_midi_port_count_info(unsigned short pluginId);
CARLA_EXPORT const PortCountInfo* get_parameter_count_info(unsigned short pluginId);
CARLA_EXPORT const ParameterInfo* get_parameter_info(unsigned short plugin_id, uint32_t parameterId);
CARLA_EXPORT const ScalePointInfo* get_parameter_scalepoint_info(unsigned short pluginId, uint32_t parameterId, uint32_t scalePointId);
CARLA_EXPORT const GuiInfo* get_gui_info(unsigned short pluginId);
CARLA_EXPORT const CarlaBackend::ParameterData* get_parameter_data(unsigned short pluginId, uint32_t parameterId);
CARLA_EXPORT const CarlaBackend::ParameterRanges* get_parameter_ranges(unsigned short pluginId, uint32_t parameterId);
CARLA_EXPORT const CarlaBackend::MidiProgramData* get_midi_program_data(unsigned short pluginId, uint32_t midiProgramId);
CARLA_EXPORT const CarlaBackend::CustomData* get_custom_data(unsigned short pluginId, uint32_t customDataId);
CARLA_EXPORT const char* get_chunk_data(unsigned short pluginId);
CARLA_EXPORT uint32_t get_parameter_count(unsigned short pluginId);
CARLA_EXPORT uint32_t get_program_count(unsigned short pluginId);
CARLA_EXPORT uint32_t get_midi_program_count(unsigned short pluginId);
CARLA_EXPORT uint32_t get_custom_data_count(unsigned short pluginId);
CARLA_EXPORT const char* get_parameter_text(unsigned short pluginId, uint32_t parameterId);
CARLA_EXPORT const char* get_program_name(unsigned short pluginId, uint32_t programId);
CARLA_EXPORT const char* get_midi_program_name(unsigned short pluginId, uint32_t midiProgramId);
CARLA_EXPORT const char* get_real_plugin_name(unsigned short pluginId);
CARLA_EXPORT int32_t get_current_program_index(unsigned short pluginId);
CARLA_EXPORT int32_t get_current_midi_program_index(unsigned short pluginId);
CARLA_EXPORT double get_default_parameter_value(unsigned short pluginId, uint32_t parameterId);
CARLA_EXPORT double get_current_parameter_value(unsigned short pluginId, uint32_t parameterId);
CARLA_EXPORT double get_input_peak_value(unsigned short pluginId, unsigned short portId);
CARLA_EXPORT double get_output_peak_value(unsigned short pluginId, unsigned short portId);
CARLA_EXPORT void set_active(unsigned short pluginId, bool onOff);
CARLA_EXPORT void set_drywet(unsigned short pluginId, double value);
CARLA_EXPORT void set_volume(unsigned short pluginId, double value);
CARLA_EXPORT void set_balance_left(unsigned short pluginId, double value);
CARLA_EXPORT void set_balance_right(unsigned short pluginId, double value);
CARLA_EXPORT void set_parameter_value(unsigned short pluginId, uint32_t parameterId, double value);
CARLA_EXPORT void set_parameter_midi_channel(unsigned short pluginId, uint32_t parameterId, uint8_t channel);
CARLA_EXPORT void set_parameter_midi_cc(unsigned short pluginId, uint32_t parameterId, int16_t cc);
CARLA_EXPORT void set_program(unsigned short pluginId, uint32_t programId);
CARLA_EXPORT void set_midi_program(unsigned short pluginId, uint32_t midiProgramId);
CARLA_EXPORT void set_custom_data(unsigned short pluginId, const char* type, const char* key, const char* value);
CARLA_EXPORT void set_chunk_data(unsigned short pluginId, const char* chunkData);
CARLA_EXPORT void set_gui_container(unsigned short pluginId, uintptr_t guiAddr);
CARLA_EXPORT void show_gui(unsigned short pluginId, bool yesNo);
CARLA_EXPORT void idle_guis();

CARLA_EXPORT void send_midi_note(unsigned short plugin_id, uint8_t channel, uint8_t note, uint8_t velocity);
CARLA_EXPORT void prepare_for_save(unsigned short plugin_id);
CARLA_EXPORT void send_midi_note(unsigned short pluginId, uint8_t channel, uint8_t note, uint8_t velocity);
CARLA_EXPORT void prepare_for_save(unsigned short pluginId);

CARLA_EXPORT uint32_t get_buffer_size();
CARLA_EXPORT double get_sample_rate();
@@ -176,7 +175,7 @@ CARLA_EXPORT const char* get_last_error();
CARLA_EXPORT const char* get_host_osc_url();

CARLA_EXPORT void set_callback_function(CarlaBackend::CallbackFunc func);
CARLA_EXPORT void set_option(CarlaBackend::OptionsType option, int value, const char* value_str);
CARLA_EXPORT void set_option(CarlaBackend::OptionsType option, int value, const char* valueStr);

CARLA_EXPORT void nsm_announce(const char* url, int pid);
CARLA_EXPORT void nsm_reply_open();


+ 0
- 62
c++/carla-backend/carla_backend_utils.hpp View File

@@ -160,27 +160,6 @@ const char* InternalParametersIndex2Str(const InternalParametersIndex& index)
return nullptr;
}

static inline
const char* CustomDataType2Str(const CustomDataType& type)
{
switch (type)
{
case CUSTOM_DATA_INVALID:
return "CUSTOM_DATA_INVALID";
case CUSTOM_DATA_STRING:
return "CUSTOM_DATA_STRING";
case CUSTOM_DATA_PATH:
return "CUSTOM_DATA_PATH";
case CUSTOM_DATA_CHUNK:
return "CUSTOM_DATA_CHUNK";
case CUSTOM_DATA_BINARY:
return "CUSTOM_DATA_BINARY";
}

qWarning("CarlaBackend::CustomDataType2Str(%i) - invalid type", type);
return nullptr;
}

static inline
const char* GuiType2Str(const GuiType& type)
{
@@ -343,47 +322,6 @@ const char* ProcessMode2Str(const ProcessMode& mode)

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

static inline
CustomDataType getCustomDataStringType(const char* const stype)
{
qDebug("CarlaBackend::getCustomDataStringType(\"%s\")", stype);
CARLA_ASSERT(stype);

if (! stype)
return CUSTOM_DATA_INVALID;

if (strcmp(stype, "string") == 0)
return CUSTOM_DATA_STRING;
if (strcmp(stype, "path") == 0)
return CUSTOM_DATA_PATH;
if (strcmp(stype, "chunk") == 0)
return CUSTOM_DATA_CHUNK;
if (strcmp(stype, "binary") == 0)
return CUSTOM_DATA_BINARY;

return CUSTOM_DATA_INVALID;
}

static inline
const char* getCustomDataTypeString(const CustomDataType& type)
{
qDebug("CarlaBackend::getCustomDataTypeString(%s)", CustomDataType2Str(type));

switch (type)
{
case CUSTOM_DATA_STRING:
return "string";
case CUSTOM_DATA_PATH:
return "path";
case CUSTOM_DATA_CHUNK:
return "chunk";
case CUSTOM_DATA_BINARY:
return "binary";
default:
return "invalid";
}
}

static inline
const char* getPluginTypeString(const PluginType& type)
{


+ 1
- 1
c++/carla-includes/lv2_atom_queue.hpp View File

@@ -20,7 +20,7 @@

#include "lv2/atom.h"

#include <cstring>
#include <cstring> // memset
#include <QtCore/QMutex>

class Lv2AtomQueue


+ 1
- 1
c++/carla-plugin/carla_plugin.hpp View File

@@ -581,7 +581,7 @@ public:
*
* \see customData()
*/
virtual void setCustomData(const CustomDataType type, const char* const key, const char* const value, const bool sendGui);
virtual void setCustomData(const char* const type, const char* const key, const char* const value, const bool sendGui);

/*!
* Set the complete chunk data as \a stringData.\n


+ 2
- 2
src/carla.py View File

@@ -2019,10 +2019,10 @@ def callback_function(ptr, action, pluginId, value1, value2, value3, valueStr):
Carla.gui._nsmAnnounce2str = cString(Carla.host.get_last_error())
Carla.gui.emit(SIGNAL("NSM_AnnounceCallback()"))
elif action == CALLBACK_NSM_OPEN1:
Carla.gui._nsmOpen1str = cString(Carla.host.get_last_error())
Carla.gui._nsmOpen1str = cString(valueStr)
Carla.gui.emit(SIGNAL("NSM_Open1Callback()"))
elif action == CALLBACK_NSM_OPEN2:
Carla.gui._nsmOpen2str = cString(Carla.host.get_last_error())
Carla.gui._nsmOpen2str = cString(valueStr)
Carla.gui.emit(SIGNAL("NSM_Open2Callback()"))
elif action == CALLBACK_NSM_SAVE:
Carla.gui.emit(SIGNAL("NSM_SaveCallback()"))


+ 3
- 3
src/carla_backend.py View File

@@ -946,7 +946,7 @@ class Host(object):
self.lib.set_midi_program.argtypes = [c_ushort, c_uint32]
self.lib.set_midi_program.restype = None

self.lib.set_custom_data.argtypes = [c_ushort, c_enum, c_char_p, c_char_p]
self.lib.set_custom_data.argtypes = [c_ushort, c_char_p, c_char_p, c_char_p]
self.lib.set_custom_data.restype = None

self.lib.set_chunk_data.argtypes = [c_ushort, c_char_p]
@@ -1132,8 +1132,8 @@ class Host(object):
def set_midi_program(self, plugin_id, midi_program_id):
self.lib.set_midi_program(plugin_id, midi_program_id)

def set_custom_data(self, plugin_id, dtype, key, value):
self.lib.set_custom_data(plugin_id, dtype, key.encode("utf-8"), value.encode("utf-8"))
def set_custom_data(self, plugin_id, type_, key, value):
self.lib.set_custom_data(plugin_id, type_.encode("utf-8"), key.encode("utf-8"), value.encode("utf-8"))

def set_chunk_data(self, plugin_id, chunk_data):
self.lib.set_chunk_data(plugin_id, chunk_data.encode("utf-8"))


Loading…
Cancel
Save