Browse Source

Fixes to last commit

tags/1.9.4
falkTX 11 years ago
parent
commit
ebf610055f
1 changed files with 30 additions and 15 deletions
  1. +30
    -15
      source/modules/CarlaNative.h

+ 30
- 15
source/modules/CarlaNative.h View File

@@ -71,16 +71,28 @@ extern "C" {
* Multiple features can be set by using ":" in between them.
* @{
*/
#define PLUGIN_FEATURE_RTSAFE "rtsafe" //!< Is hard-realtime safe.
#define PLUGIN_FEATURE_GUI "gui" //!< Provides custom UI.
#define PLUGIN_FEATURE_STATE "state" //!< Supports get_state() and set_state().
#define PLUGIN_FEATURE_TIME "time" //!< Uses get_time_info().
#define PLUGIN_FEATURE_WRITE_EVENT "writeevent" //!< Uses write_event().
#define PLUGIN_FEATURE_FIXED_BUFFERS "fixedbuffers" //!< Needs fixed-size audio buffers.
#define PLUGIN_FEATURE_MONO_PANNING "monopanning" //!< Prefers mono-style panning.
#define PLUGIN_FEATURE_STEREO_BALANCE "stereobalance" //!< Prefers stereo balance.
#define PLUGIN_FEATURE_OPENSAVE "uiopensave" //!< UI uses ui_open_file() and/or ui_save_file() functions.
#define PLUGIN_FEATURE_SINGLE_THREAD "uisinglethread" //!< UI needs paramter, midi-program and custom-data changes in the main thread.
#define PLUGIN_FEATURE_RTSAFE "rtsafe" //!< Is hard-realtime safe.
#define PLUGIN_FEATURE_STATE "state" //!< Supports get_state() and set_state().
#define PLUGIN_FEATURE_TIME "time" //!< Uses get_time_info().
#define PLUGIN_FEATURE_WRITE_EVENT "writeevent" //!< Uses write_event().
#define PLUGIN_FEATURE_FIXED_BUFFERS "fixedbuffers" //!< Needs fixed-size audio buffers.
#define PLUGIN_FEATURE_MONO_PANNING "monopanning" //!< Prefers mono-style panning.
#define PLUGIN_FEATURE_STEREO_BALANCE "stereobalance" //!< Prefers stereo balance.
/**@}*/

/*!
* @defgroup UiFeatures UI Features
*
* A list of UI features or hints.
*
* Custom features are allowed, as long as they are lowercase and contain ASCII characters only.
* The host can decide if it can load the plugin or not based on this information.
*
* Multiple features can be set by using ":" in between them.
* @{
*/
#define UI_FEATURE_OPENSAVE "opensave" //!< Uses ui_open_file() and/or ui_save_file() functions.
#define UI_FEATURE_SINGLE_THREAD "singlethread" //!< Needs paramter, midi-program and custom-data changes in the main thread.
/**@}*/

/*!
@@ -358,6 +370,8 @@ typedef struct {
void (*ui_closed)(UiHostHandle handle);

// TODO: add some msgbox call

// ui must set "opensave" feature to use these
const char* (*ui_open_file)(UiHostHandle handle, bool isDir, const char* title, const char* filter);
const char* (*ui_save_file)(UiHostHandle handle, bool isDir, const char* title, const char* filter);

@@ -369,7 +383,7 @@ typedef struct {
typedef struct _PluginDescriptor {
const int api_version; //!< Must be set to CARLA_NATIVE_API_VERSION
const char* const categories; //!< Categories. @see PluginCategories
const char* const hints; //!< Hints. @see PluginHints
const char* const features; //!< Features. @see PluginFeatures
const char* const supports; //!< MIDI supported events. @see PluginSupports
const uint32_t audioIns; //!< Default number of audio inputs.
const uint32_t audioOuts; //!< Default number of audio outputs.
@@ -404,7 +418,7 @@ typedef struct _PluginDescriptor {
void (*deactivate)(PluginHandle handle);
void (*process)(PluginHandle handle, float** inBuffer, float** outBuffer, uint32_t frames, const Event* events, uint32_t eventCount);

// only used is "state" feature is set
// only used if "state" feature is set
char* (*get_state)(PluginHandle handle);
void (*set_state)(PluginHandle handle, const char* data);

@@ -416,9 +430,10 @@ typedef struct _PluginDescriptor {
// UiDescriptor

typedef struct {
const int api_version; //!< Must be set to CARLA_NATIVE_API_VERSION
const char* const author; //!< Author this UI matches to.
const char* const label; //!< Label this UI matches to, can only contain letters, numbers and "_". May be null, in which case represents all UIs for @a maker.
const int api_version; //!< Must be set to CARLA_NATIVE_API_VERSION
const char* const features; //!< Features. @see UiFeatures
const char* const author; //!< Author this UI matches to.
const char* const label; //!< Label this UI matches to, can only contain letters, numbers and "_". May be null, in which case represents all UIs for @a maker.

UiHandle (*instantiate)(const UiHostDescriptor* host);
void (*cleanup)(UiHandle handle);


Loading…
Cancel
Save