summaryrefslogtreecommitdiffstats
path: root/src/slv2_internal.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-01-12 17:58:12 +0000
committerDavid Robillard <d@drobilla.net>2008-01-12 17:58:12 +0000
commit98cc3bd853c47f6cd1cf02cf14e00413993fd6f5 (patch)
treefc31d4304b5a9bb4ba5df30704c3b773558359b1 /src/slv2_internal.h
parent2ea341ef3313b189315367ad6beadc23eec227e3 (diff)
downloadlilv-98cc3bd853c47f6cd1cf02cf14e00413993fd6f5.tar.gz
lilv-98cc3bd853c47f6cd1cf02cf14e00413993fd6f5.tar.bz2
lilv-98cc3bd853c47f6cd1cf02cf14e00413993fd6f5.zip
Add plugin template interface (fast discovery of plugins with certain I/O
characteristics). git-svn-id: http://svn.drobilla.net/lad/slv2@1051 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/slv2_internal.h')
-rw-r--r--src/slv2_internal.h40
1 files changed, 31 insertions, 9 deletions
diff --git a/src/slv2_internal.h b/src/slv2_internal.h
index 2f66670..07df8f5 100644
--- a/src/slv2_internal.h
+++ b/src/slv2_internal.h
@@ -58,14 +58,15 @@ void slv2_port_free(SLV2Port port);
*/
struct _SLV2Plugin {
struct _SLV2World* world;
- librdf_uri* plugin_uri;
- librdf_uri* bundle_uri; ///< Bundle directory plugin was loaded from
- librdf_uri* binary_uri; ///< lv2:binary
- SLV2PluginClass plugin_class;
- raptor_sequence* data_uris; ///< rdfs::seeAlso
- raptor_sequence* ports;
- librdf_storage* storage;
- librdf_model* rdf;
+ librdf_uri* plugin_uri;
+ librdf_uri* bundle_uri; ///< Bundle directory plugin was loaded from
+ librdf_uri* binary_uri; ///< lv2:binary
+ SLV2PluginClass plugin_class;
+ SLV2Template templt;
+ raptor_sequence* data_uris; ///< rdfs::seeAlso
+ raptor_sequence* ports;
+ librdf_storage* storage;
+ librdf_model* rdf;
};
SLV2Plugin slv2_plugin_new(SLV2World world, librdf_uri* uri, librdf_uri* bundle_uri, librdf_uri* binary_uri);
@@ -191,7 +192,6 @@ void slv2_ui_free(SLV2UI ui);
/* ********* Value ********* */
-
typedef enum _SLV2ValueType {
SLV2_VALUE_URI,
SLV2_VALUE_STRING,
@@ -212,6 +212,28 @@ SLV2Value slv2_value_new(SLV2ValueType type, const char* val);
+/* ********* PortSignature ********* */
+
+struct _SLV2PortSignature {
+ SLV2PortDirection direction;
+ SLV2PortDataType type;
+};
+
+SLV2PortSignature slv2_port_signature_new(SLV2PortDirection direction,
+ SLV2PortDataType type);
+
+void slv2_port_signature_free(SLV2PortSignature val);
+
+
+/* ********* Template ********* */
+
+SLV2Template slv2_template_new();
+void slv2_template_free(SLV2Template t);
+void slv2_template_add_port(SLV2Template t);
+void slv2_template_port_type(SLV2Template t,
+ uint32_t port_index,
+ const char* type_uri);
+
#ifdef __cplusplus
}
#endif