SLV2  0.6.6
plugin.h
1 /* SLV2
2  * Copyright (C) 2007-2009 Dave Robillard <http://drobilla.net>
3  *
4  * This library is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the Free
6  * Software Foundation; either version 2 of the License, or (at your option)
7  * any later version.
8  *
9  * This library is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12  * for more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #ifndef __SLV2_PLUGIN_H__
20 #define __SLV2_PLUGIN_H__
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #include <stdint.h>
27 #include <stdbool.h>
28 #include "slv2/types.h"
29 #include "slv2/port.h"
30 #include "slv2/collections.h"
31 
59 bool
60 slv2_plugin_verify(SLV2Plugin plugin);
61 
62 
79 SLV2Value
80 slv2_plugin_get_uri(SLV2Plugin plugin);
81 
82 
98 SLV2Value
99 slv2_plugin_get_bundle_uri(SLV2Plugin plugin);
100 
101 
114 SLV2Values
115 slv2_plugin_get_data_uris(SLV2Plugin plugin);
116 
117 
127 SLV2Value
128 slv2_plugin_get_library_uri(SLV2Plugin plugin);
129 
130 
139 SLV2Value
140 slv2_plugin_get_name(SLV2Plugin plugin);
141 
142 
145 SLV2PluginClass
146 slv2_plugin_get_class(SLV2Plugin plugin);
147 
148 
165 SLV2Values
167  SLV2Value predicate);
168 
169 
176 SLV2Values
178  const char* predicate);
179 
180 
188 SLV2Values
190  const char* predicate);
191 
192 
212 SLV2Values
214  SLV2Value subject_uri,
215  SLV2Value predicate_uri);
216 
217 
225 bool
227  SLV2Value feature_uri);
228 
229 
242 SLV2Values
244 
245 
259 SLV2Values
261 
262 
273 SLV2Values
275 
276 
281 uint32_t
283 
284 
299 void
301  float* min_values,
302  float* max_values,
303  float* def_values);
304 
313 uint32_t
315  SLV2Value class_1, ...);
316 
324 bool
326 
327 
339 uint32_t
341 
342 
353 SLV2Values
354 slv2_plugin_query_variable(SLV2Plugin plugin,
355  const char* sparql_str,
356  unsigned variable);
357 
358 
369 unsigned
370 slv2_plugin_query_count(SLV2Plugin plugin,
371  const char* sparql_str);
372 
373 
381 SLV2Port
383  uint32_t index);
384 
385 
395 SLV2Port
397  SLV2Value symbol);
398 
399 
412 SLV2UIs
413 slv2_plugin_get_uis(SLV2Plugin plugin);
414 
415 
423 SLV2Value
424 slv2_plugin_get_author_name(SLV2Plugin plugin);
425 
426 
434 SLV2Value
435 slv2_plugin_get_author_email(SLV2Plugin plugin);
436 
437 
445 SLV2Value
447 
448 
451 #ifdef __cplusplus
452 } /* extern "C" */
453 #endif
454 
455 #endif /* __SLV2_PLUGIN_H__ */
456 
SLV2Value slv2_plugin_get_uri(SLV2Plugin plugin)
Get the URI of plugin.
SLV2Port slv2_plugin_get_port_by_symbol(SLV2Plugin plugin, SLV2Value symbol)
Get a port on this plugin by symbol.
SLV2Value slv2_plugin_get_bundle_uri(SLV2Plugin plugin)
Get the (resolvable) URI of the plugins "main" bundle.
bool slv2_plugin_has_feature(SLV2Plugin p, SLV2Value feature_uri)
Return whether a feature is supported by a plugin.
bool slv2_plugin_has_latency(SLV2Plugin p)
Return whether or not the plugin introduces (and reports) latency.
unsigned slv2_plugin_query_count(SLV2Plugin plugin, const char *sparql_str)
Query a plugin and return the number of results found.
SLV2Value slv2_plugin_get_author_homepage(SLV2Plugin plugin)
Get the email address of the plugin's author.
SLV2Value slv2_plugin_get_author_email(SLV2Plugin plugin)
Get the email address of the plugin's author.
SLV2Value slv2_plugin_get_name(SLV2Plugin plugin)
Get the name of plugin.
SLV2Values slv2_plugin_query_variable(SLV2Plugin plugin, const char *sparql_str, unsigned variable)
Query a plugin for a single variable (i.e.
SLV2PluginClass slv2_plugin_get_class(SLV2Plugin plugin)
Get the class this plugin belongs to (ie Filters).
SLV2Values slv2_plugin_get_value(SLV2Plugin p, SLV2Value predicate)
Get a value associated with the plugin in a plugin's data files.
SLV2Values slv2_plugin_get_data_uris(SLV2Plugin plugin)
Get the (resolvable) URIs of the RDF data files that define a plugin.
uint32_t slv2_plugin_get_latency_port_index(SLV2Plugin p)
Return the index of the plugin's latency port.
SLV2UIs slv2_plugin_get_uis(SLV2Plugin plugin)
Get a list of all UIs available for this plugin.
uint32_t slv2_plugin_get_num_ports_of_class(SLV2Plugin p, SLV2Value class_1,...)
Get the number of ports on this plugin that are members of some class(es).
SLV2Values slv2_plugin_get_required_features(SLV2Plugin p)
Get the LV2 Features required by a plugin.
SLV2Value slv2_plugin_get_library_uri(SLV2Plugin plugin)
Get the (resolvable) URI of the shared library for plugin.
SLV2Value slv2_plugin_get_author_name(SLV2Plugin plugin)
Get the full name of the plugin's author.
SLV2Values slv2_plugin_get_value_by_qname_i18n(SLV2Plugin p, const char *predicate)
Get a translated value associated with the plugin in a plugin's data files.
SLV2Values slv2_plugin_get_supported_features(SLV2Plugin p)
Get the LV2 Features supported (required or optionally) by a plugin.
SLV2Values slv2_plugin_get_value_for_subject(SLV2Plugin p, SLV2Value subject_uri, SLV2Value predicate_uri)
Get a value associated with some subject in a plugin's data files.
SLV2Values slv2_plugin_get_optional_features(SLV2Plugin p)
Get the LV2 Features optionally supported by a plugin.
SLV2Port slv2_plugin_get_port_by_index(SLV2Plugin plugin, uint32_t index)
Get a port on this plugin by index.
uint32_t slv2_plugin_get_num_ports(SLV2Plugin p)
Get the number of ports on this plugin.
void slv2_plugin_get_port_ranges_float(SLV2Plugin p, float *min_values, float *max_values, float *def_values)
Get the port ranges (minimum, maximum and default values) for all ports.
bool slv2_plugin_verify(SLV2Plugin plugin)
Check if this plugin is valid.
SLV2Values slv2_plugin_get_value_by_qname(SLV2Plugin p, const char *predicate)
Get a value associated with the plugin in a plugin's data files.

Generated for SLV2 by doxygen 1.9.1