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
23extern "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
59bool
60slv2_plugin_verify(SLV2Plugin plugin);
61
62
79SLV2Value
80slv2_plugin_get_uri(SLV2Plugin plugin);
81
82
98SLV2Value
99slv2_plugin_get_bundle_uri(SLV2Plugin plugin);
100
101
114SLV2Values
115slv2_plugin_get_data_uris(SLV2Plugin plugin);
116
117
127SLV2Value
129
130
139SLV2Value
140slv2_plugin_get_name(SLV2Plugin plugin);
141
142
145SLV2PluginClass
146slv2_plugin_get_class(SLV2Plugin plugin);
147
148
165SLV2Values
167 SLV2Value predicate);
168
169
176SLV2Values
178 const char* predicate);
179
180
188SLV2Values
190 const char* predicate);
191
192
212SLV2Values
214 SLV2Value subject_uri,
215 SLV2Value predicate_uri);
216
217
225bool
227 SLV2Value feature_uri);
228
229
242SLV2Values
244
245
259SLV2Values
261
262
273SLV2Values
275
276
281uint32_t
283
284
299void
301 float* min_values,
302 float* max_values,
303 float* def_values);
304
313uint32_t
315 SLV2Value class_1, ...);
316
324bool
326
327
339uint32_t
341
342
353SLV2Values
355 const char* sparql_str,
356 unsigned variable);
357
358
369unsigned
370slv2_plugin_query_count(SLV2Plugin plugin,
371 const char* sparql_str);
372
373
381SLV2Port
383 uint32_t index);
384
385
395SLV2Port
397 SLV2Value symbol);
398
399
412SLV2UIs
413slv2_plugin_get_uis(SLV2Plugin plugin);
414
415
423SLV2Value
425
426
434SLV2Value
436
437
445SLV2Value
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.12.0