SLV2 0.6.6

- Main Page
- Modules
- Files

- File List

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
166 slv2_plugin_get_value(SLV2Plugin p,
167 SLV2Value predicate);
168
169
176 SLV2Values
177 slv2_plugin_get_value_by_qname(SLV2Plugin p,
178 const char* predicate);
179
180
188 SLV2Values
189 slv2_plugin_get_value_by_qname_i18n(SLV2Plugin p,
190 const char* predicate);
191
192
212 SLV2Values
213 slv2_plugin_get_value_for_subject(SLV2Plugin p,
214 SLV2Value subject_uri,
215 SLV2Value predicate_uri);
216
217
225 bool
226 slv2_plugin_has_feature(SLV2Plugin p,
227 SLV2Value feature_uri);
228
229
242 SLV2Values
243 slv2_plugin_get_supported_features(SLV2Plugin p);
244
245
259 SLV2Values
260 slv2_plugin_get_required_features(SLV2Plugin p);
261
262
273 SLV2Values
274 slv2_plugin_get_optional_features(SLV2Plugin p);
275
276
281 uint32_t
282 slv2_plugin_get_num_ports(SLV2Plugin p);
283
284
299 void
300 slv2_plugin_get_port_ranges_float(SLV2Plugin p,
301 float* min_values,
302 float* max_values,
303 float* def_values);
304
313 uint32_t
314 slv2_plugin_get_num_ports_of_class(SLV2Plugin p,
315 SLV2Value class_1, ...);
316
324 bool
325 slv2_plugin_has_latency(SLV2Plugin p);
326
327
339 uint32_t
340 slv2_plugin_get_latency_port_index(SLV2Plugin p);
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
382 slv2_plugin_get_port_by_index(SLV2Plugin plugin,
383 uint32_t index);
384
385
395 SLV2Port
396 slv2_plugin_get_port_by_symbol(SLV2Plugin plugin,
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
446 slv2_plugin_get_author_homepage(SLV2Plugin plugin);
447
448
451 #ifdef __cplusplus
452 } /* extern "C" */
453 #endif
454
455 #endif /* __SLV2_PLUGIN_H__ */
456
slv2_plugin_get_value_by_qname
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.
slv2_plugin_get_port_by_index
SLV2Port slv2_plugin_get_port_by_index(SLV2Plugin plugin, uint32_t index)
Get a port on this plugin by index.
slv2_plugin_get_class
SLV2PluginClass slv2_plugin_get_class(SLV2Plugin plugin)
Get the class this plugin belongs to (ie Filters).
slv2_plugin_get_supported_features
SLV2Values slv2_plugin_get_supported_features(SLV2Plugin p)
Get the LV2 Features supported (required or optionally) by a plugin.
slv2_plugin_get_data_uris
SLV2Values slv2_plugin_get_data_uris(SLV2Plugin plugin)
Get the (resolvable) URIs of the RDF data files that define a plugin.
slv2_plugin_query_count
unsigned slv2_plugin_query_count(SLV2Plugin plugin, const char *sparql_str)
Query a plugin and return the number of results found.
slv2_plugin_get_author_name
SLV2Value slv2_plugin_get_author_name(SLV2Plugin plugin)
Get the full name of the plugin's author.
slv2_plugin_get_latency_port_index
uint32_t slv2_plugin_get_latency_port_index(SLV2Plugin p)
Return the index of the plugin's latency port.
slv2_plugin_get_author_email
SLV2Value slv2_plugin_get_author_email(SLV2Plugin plugin)
Get the email address of the plugin's author.
slv2_plugin_get_num_ports
uint32_t slv2_plugin_get_num_ports(SLV2Plugin p)
Get the number of ports on this plugin.
slv2_plugin_query_variable
SLV2Values slv2_plugin_query_variable(SLV2Plugin plugin, const char *sparql_str, unsigned variable)
Query a plugin for a single variable (i.e.
slv2_plugin_get_required_features
SLV2Values slv2_plugin_get_required_features(SLV2Plugin p)
Get the LV2 Features required by a plugin.
slv2_plugin_has_latency
bool slv2_plugin_has_latency(SLV2Plugin p)
Return whether or not the plugin introduces (and reports) latency.
slv2_plugin_get_bundle_uri
SLV2Value slv2_plugin_get_bundle_uri(SLV2Plugin plugin)
Get the (resolvable) URI of the plugins "main" bundle.
slv2_plugin_get_author_homepage
SLV2Value slv2_plugin_get_author_homepage(SLV2Plugin plugin)
Get the email address of the plugin's author.
slv2_plugin_get_value_by_qname_i18n
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.
slv2_plugin_get_uis
SLV2UIs slv2_plugin_get_uis(SLV2Plugin plugin)
Get a list of all UIs available for this plugin.
slv2_plugin_has_feature
bool slv2_plugin_has_feature(SLV2Plugin p, SLV2Value feature_uri)
Return whether a feature is supported by a plugin.
slv2_plugin_get_optional_features
SLV2Values slv2_plugin_get_optional_features(SLV2Plugin p)
Get the LV2 Features optionally supported by a plugin.
slv2_plugin_get_value_for_subject
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.
slv2_plugin_get_name
SLV2Value slv2_plugin_get_name(SLV2Plugin plugin)
Get the name of plugin.
slv2_plugin_get_uri
SLV2Value slv2_plugin_get_uri(SLV2Plugin plugin)
Get the URI of plugin.
slv2_plugin_verify
bool slv2_plugin_verify(SLV2Plugin plugin)
Check if this plugin is valid.
slv2_plugin_get_port_by_symbol
SLV2Port slv2_plugin_get_port_by_symbol(SLV2Plugin plugin, SLV2Value symbol)
Get a port on this plugin by symbol.
slv2_plugin_get_port_ranges_float
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.
slv2_plugin_get_num_ports_of_class
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).
slv2_plugin_get_library_uri
SLV2Value slv2_plugin_get_library_uri(SLV2Plugin plugin)
Get the (resolvable) URI of the shared library for plugin.
slv2_plugin_get_value
SLV2Values slv2_plugin_get_value(SLV2Plugin p, SLV2Value predicate)
Get a value associated with the plugin in a plugin's data files.