diff options
author | David Robillard <d@drobilla.net> | 2008-01-12 17:58:12 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-01-12 17:58:12 +0000 |
commit | 98cc3bd853c47f6cd1cf02cf14e00413993fd6f5 (patch) | |
tree | fc31d4304b5a9bb4ba5df30704c3b773558359b1 /src/slv2_internal.h | |
parent | 2ea341ef3313b189315367ad6beadc23eec227e3 (diff) | |
download | lilv-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.h | 40 |
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 |