From bb9372f2df47956b74cf9b7f08b7ec0c96f88b23 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 17 Sep 2016 13:23:59 -0400 Subject: Unify control port and parameter implementations --- src/jalv_internal.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/jalv_internal.h') diff --git a/src/jalv_internal.h b/src/jalv_internal.h index b34df86..c46a2ac 100644 --- a/src/jalv_internal.h +++ b/src/jalv_internal.h @@ -101,12 +101,17 @@ int scale_point_cmp(const ScalePoint* a, const ScalePoint* b); typedef struct { Jalv* jalv; ControlType type; + LilvNode* node; + LilvNode* symbol; ///< Symbol + LilvNode* label; ///< Human readable label LV2_URID property; ///< Iff type == PROPERTY uint32_t index; ///< Iff type == PORT + LilvNode* group; ///< Port/control group, or NULL void* widget; ///< Control Widget size_t n_points; ///< Number of scale points ScalePoint* points; ///< Scale points LV2_URID value_type; ///< Type of control value + LV2_Atom value; ///< Current value LilvNode* min; ///< Minimum value LilvNode* max; ///< Maximum value LilvNode* def; ///< Default value @@ -114,6 +119,8 @@ typedef struct { bool is_integer; ///< Integer values only bool is_enumeration; ///< Point values only bool is_logarithmic; ///< Logarithmic scale + bool is_writable; ///< Writable (input) + bool is_readable; ///< Readable (output) } ControlID; ControlID* @@ -316,6 +323,18 @@ jalv_create_ports(Jalv* jalv); struct Port* jalv_port_by_symbol(Jalv* jalv, const char* sym); +void +jalv_create_controls(Jalv* jalv, bool writable); + +ControlID* +jalv_control_by_symbol(Jalv* jalv, const char* sym); + +void +jalv_set_control(const ControlID* control, + uint32_t size, + LV2_URID type, + const void* body); + const char* jalv_native_ui_type(Jalv* jalv); @@ -325,6 +344,9 @@ jalv_discover_ui(Jalv* jalv); int jalv_open_ui(Jalv* jalv); +void +jalv_init_ui(Jalv* jalv); + int jalv_close_ui(Jalv* jalv); -- cgit v1.2.1