diff options
author | David Robillard <d@drobilla.net> | 2022-05-30 18:34:07 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2022-08-17 13:50:22 -0400 |
commit | 0133dc3e000496fb0667c7548f1404958b6eeca5 (patch) | |
tree | 379d82ee876fd8192bf96add8a84ebe67443a130 /src/jalv_internal.h | |
parent | b58430c852867ab546cd3644765e33813e1aa5bb (diff) | |
download | jalv-0133dc3e000496fb0667c7548f1404958b6eeca5.tar.gz jalv-0133dc3e000496fb0667c7548f1404958b6eeca5.tar.bz2 jalv-0133dc3e000496fb0667c7548f1404958b6eeca5.zip |
Remove Jalv back pointer from ControlID
Bit of a kludge, but this unblocks further cleanup and modularization. The Gtk
static data / signal issues can be addressed later.
Diffstat (limited to 'src/jalv_internal.h')
-rw-r--r-- | src/jalv_internal.h | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/src/jalv_internal.h b/src/jalv_internal.h index 800f88a..d186679 100644 --- a/src/jalv_internal.h +++ b/src/jalv_internal.h @@ -80,27 +80,27 @@ typedef struct { /// Plugin control 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 - LilvNode* min; ///< Minimum value - LilvNode* max; ///< Maximum value - LilvNode* def; ///< Default value - bool is_toggle; ///< Boolean (0 and 1 only) - 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) + ControlType type; ///< Type of control + LilvNode* node; ///< Port or property + LilvNode* symbol; ///< Symbol + LilvNode* label; ///< Human readable label + LV2_Atom_Forge* forge; ///< Forge (for URIDs) + 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 + LilvNode* min; ///< Minimum value + LilvNode* max; ///< Maximum value + LilvNode* def; ///< Default value + bool is_toggle; ///< Boolean (0 and 1 only) + 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; typedef struct { @@ -325,7 +325,8 @@ ControlID* jalv_control_by_symbol(Jalv* jalv, const char* sym); void -jalv_set_control(const ControlID* control, +jalv_set_control(Jalv* jalv, + const ControlID* control, uint32_t size, LV2_URID type, const void* body); |