summaryrefslogtreecommitdiffstats
path: root/ext/lv2/gstlv2.h
diff options
context:
space:
mode:
authorDave Robillard <dave@drobilla.net>2009-07-03 20:00:11 -0400
committerDave Robillard <dave@drobilla.net>2009-07-03 20:00:11 -0400
commited06ed3b658b49b1313df38909bcb2f907be83a7 (patch)
tree319a55a036601be296a5eb04ce6551dfecfcb7f3 /ext/lv2/gstlv2.h
parent35bf93456372d0204c35e28ab105ab7d463a90d2 (diff)
downloadgst-plugins-bad-ed06ed3b658b49b1313df38909bcb2f907be83a7.tar.gz
gst-plugins-bad-ed06ed3b658b49b1313df38909bcb2f907be83a7.tar.bz2
gst-plugins-bad-ed06ed3b658b49b1313df38909bcb2f907be83a7.zip
Working multi-channel pads for LV2 plugins.
Diffstat (limited to 'ext/lv2/gstlv2.h')
-rw-r--r--ext/lv2/gstlv2.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/ext/lv2/gstlv2.h b/ext/lv2/gstlv2.h
index 836f1a0b..fb384cce 100644
--- a/ext/lv2/gstlv2.h
+++ b/ext/lv2/gstlv2.h
@@ -46,6 +46,8 @@ typedef struct _lv2_control_info {
typedef struct _GstLV2 GstLV2;
typedef struct _GstLV2Class GstLV2Class;
+typedef struct _GstLV2Group GstLV2Group;
+typedef struct _GstLV2Port GstLV2Port;
struct _GstLV2 {
@@ -57,9 +59,16 @@ struct _GstLV2 {
gboolean activated;
};
+struct _GstLV2Group {
+ SLV2Value uri; /**< RDF resource (URI or blank node) */
+ guint pad; /**< Gst pad index */
+ SLV2Value symbol; /**< Gst pad name / LV2 group symbol */
+ GArray *ports; /**< Array of GstLV2Port */
+};
+
struct _GstLV2Port {
- gint index;
- SLV2Value group;
+ gint index; /**< LV2 port index (on LV2 plugin) */
+ gint pad; /**< Gst pad index (iff not part of a group) */
};
struct _GstLV2Class {
@@ -67,12 +76,13 @@ struct _GstLV2Class {
SLV2Plugin plugin;
- GSList *groups;
+ GArray *in_groups; /**< Array of GstLV2Group */
+ GArray *out_groups; /**< Array of GstLV2Group */
+ GArray *audio_in_ports; /**< Array of GstLV2Port */
+ GArray *audio_out_ports; /**< Array of GstLV2Port */
+ GArray *control_in_ports; /**< Array of GstLV2Port */
+ GArray *control_out_ports; /**< Array of GstLV2Port */
- struct _GstLV2Port *audio_in_ports;
- struct _GstLV2Port *audio_out_ports;
- struct _GstLV2Port *control_in_ports;
- struct _GstLV2Port *control_out_ports;
};