plugin.h   plugin.h 
skipping to change at line 32 skipping to change at line 32
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <stdint.h> #include <stdint.h>
#include <stdbool.h> #include <stdbool.h>
#include <slv2/types.h> #include <slv2/types.h>
#include <slv2/port.h> #include <slv2/port.h>
#include <slv2/values.h> #include <slv2/values.h>
/** \defgroup data Plugin data access /** \defgroup slv2_data Plugin data access
* *
* These functions work exclusively with the plugin's RDF data. * These functions work exclusively with the plugin's RDF data,
* They do not load or access the plugin dynamic library in any way. * they do not access the plugin's shared library in any way.
* *
* An SLV2Plugin contains an in-memory cache of the plugin data, loaded * An SLV2Plugin contains an in-memory cache of the plugin data, loaded
* on demand. Duplicating plugins should be avoided when possible for * on demand. Duplicating plugins should be avoided when possible for
* performance reasons. * performance reasons.
* *
* @{ * @{
*/ */
/** Check if this plugin is valid. /** Check if this plugin is valid.
* *
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 pluginclass.h   pluginclass.h 
skipping to change at line 28 skipping to change at line 28
#ifndef __SLV2_PLUGIN_CLASS_H__ #ifndef __SLV2_PLUGIN_CLASS_H__
#define __SLV2_PLUGIN_CLASS_H__ #define __SLV2_PLUGIN_CLASS_H__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <slv2/types.h> #include <slv2/types.h>
/** \addtogroup data /** \addtogroup slv2_data
* @{ * @{
*/ */
/** Get the URI of this class' superclass. /** Get the URI of this class' superclass.
* *
* Returned value is owned by \a plugin_class and must not be freed by call er. * Returned value is owned by \a plugin_class and must not be freed by call er.
* Returned value may be NULL, if class has no parent. * Returned value may be NULL, if class has no parent.
* *
* Time = O(1) * Time = O(1)
*/ */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 pluginclasses.h   pluginclasses.h 
skipping to change at line 28 skipping to change at line 28
#ifndef __SLV2_PLUGIN_CLASSES_H__ #ifndef __SLV2_PLUGIN_CLASSES_H__
#define __SLV2_PLUGIN_CLASSES_H__ #define __SLV2_PLUGIN_CLASSES_H__
#include <slv2/pluginclass.h> #include <slv2/pluginclass.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** \addtogroup collections /** \addtogroup slv2_collections
* @{ * @{
*/ */
/** Get the number of plugins in the list. /** Get the number of plugins in the list.
*/ */
unsigned unsigned
slv2_plugin_classes_size(SLV2PluginClasses list); slv2_plugin_classes_size(SLV2PluginClasses list);
/** Get a plugin class from the list by URI. /** Get a plugin class from the list by URI.
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 plugininstance.h   plugininstance.h 
skipping to change at line 31 skipping to change at line 31
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <assert.h> #include <assert.h>
#include <slv2/lv2.h> #include <slv2/lv2.h>
#include <slv2/plugin.h> #include <slv2/plugin.h>
#include <slv2/port.h> #include <slv2/port.h>
/** \defgroup lib Plugin library access
*
* An SLV2Instance is an instantiated SLV2Plugin (ie a loaded dynamic
* library). These functions interact with the binary library code only,
* they do not read data files in any way.
*
* @{
*/
typedef struct _InstanceImpl* SLV2InstanceImpl; typedef struct _InstanceImpl* SLV2InstanceImpl;
/** Instance of a plugin. /* Instance of a plugin.
* *
* The LV2 descriptor and handle of this are exposed to allow inlining of * The LV2 descriptor and handle of this are exposed to allow inlining of
* performance critical functions like slv2_instance_run (which are exposed * performance critical functions like slv2_instance_run (which are exposed
* in lv2.h anyway). The remaining implementation details are * in lv2.h anyway). This is for performance only, this struct is not
* in the opaque pimpl member. * documented and should not be used directly. The remaining implementatio
n
* details are in the opaque pimpl member.
*/ */
typedef struct _Instance { typedef struct _Instance {
const LV2_Descriptor* lv2_descriptor; const LV2_Descriptor* lv2_descriptor;
LV2_Handle lv2_handle; LV2_Handle lv2_handle;
SLV2InstanceImpl pimpl; ///< Private implementation SLV2InstanceImpl pimpl; ///< Private implementation
}* SLV2Instance; }* SLV2Instance;
/** \defgroup slv2_library Plugin library access
*
* An SLV2Instance is an instantiated SLV2Plugin (ie a loaded dynamic
* library). These functions interact with the binary library code only,
* they do not read data files in any way.
*
* @{
*/
/** Instantiate a plugin. /** Instantiate a plugin.
* *
* The returned object represents shared library objects loaded into memory , * The returned object represents shared library objects loaded into memory ,
* it must be cleaned up with slv2_instance_free when no longer * it must be cleaned up with slv2_instance_free when no longer
* needed. * needed.
* *
* \a plugin is not modified or directly referenced by the returned object * \a plugin is not modified or directly referenced by the returned object
* (instances store only a copy of the plugin's URI). * (instances store only a copy of the plugin's URI).
* *
* \a host_features NULL-terminated array of features the host supports. * \a host_features NULL-terminated array of features the host supports.
* NULL may be passed if the host supports no additional features (unlike * NULL may be passed if the host supports no additional features (unlike
* the LV2 specification - SLV2 takes care of it). * the LV2 specification - SLV2 takes care of it).
* *
* \return NULL if instantiation failed. * \return NULL if instantiation failed.
*/ */
SLV2Instance SLV2Instance
slv2_plugin_instantiate(SLV2Plugin plugin, slv2_plugin_instantiate(SLV2Plugin plugin,
double sample_rate, double sample_rate,
const LV2_Feature** features); const LV2_Feature*const* features);
/** Free a plugin instance. /** Free a plugin instance.
* *
* \a instance is invalid after this call. * \a instance is invalid after this call.
*/ */
void void
slv2_instance_free(SLV2Instance instance); slv2_instance_free(SLV2Instance instance);
#ifndef LIBSLV2_SOURCE #ifndef LIBSLV2_SOURCE
 End of changes. 5 change blocks. 
15 lines changed or deleted 17 lines changed or added


 plugins.h   plugins.h 
skipping to change at line 29 skipping to change at line 29
#ifndef __SLV2_PLUGINS_H__ #ifndef __SLV2_PLUGINS_H__
#define __SLV2_PLUGINS_H__ #define __SLV2_PLUGINS_H__
#include <slv2/types.h> #include <slv2/types.h>
#include <slv2/plugin.h> #include <slv2/plugin.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** \addtogroup collections /** \addtogroup slv2_collections
* @{ * @{
*/ */
/** Free a plugin list. /** Free a plugin list.
* *
* Freeing a plugin list does not destroy the plugins it contains (plugins * Freeing a plugin list does not destroy the plugins it contains (plugins
* are owned by the world). \a list is invalid after this call. * are owned by the world). \a list is invalid after this call.
*/ */
void void
slv2_plugins_free(SLV2World world, slv2_plugins_free(SLV2World world,
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 pluginui.h   pluginui.h 
skipping to change at line 26 skipping to change at line 26
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#ifndef __SLV2_PLUGIN_UI_H__ #ifndef __SLV2_PLUGIN_UI_H__
#define __SLV2_PLUGIN_UI_H__ #define __SLV2_PLUGIN_UI_H__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** \addtogroup data /** \addtogroup slv2_data
* @{ * @{
*/ */
/** Get the URI of a Plugin UI. /** Get the URI of a Plugin UI.
* *
* \param ui The Plugin UI * \param ui The Plugin UI
* *
* Time = O(1) * Time = O(1)
*/ */
const char* const char*
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 pluginuiinstance.h   pluginuiinstance.h 
skipping to change at line 31 skipping to change at line 31
#define __SLV2_PLUGINUIINSTANCE_H__ #define __SLV2_PLUGINUIINSTANCE_H__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <assert.h> #include <assert.h>
#include <slv2/lv2_gui.h> #include <slv2/lv2_gui.h>
#include <slv2/plugin.h> #include <slv2/plugin.h>
/** \addtogroup lib
* @{
*/
typedef struct _SLV2UIInstanceImpl* SLV2UIInstanceImpl; typedef struct _SLV2UIInstanceImpl* SLV2UIInstanceImpl;
/** Instance of a plugin UI. /* Instance of a plugin UI.
* *
* All details are in hidden in the pimpl member to avoid making the * All details are in hidden in the pimpl member to avoid making the
* implementation a part of the ABI. * implementation a part of the ABI.
*/ */
typedef struct _SLV2UIInstance { typedef struct _SLV2UIInstance {
SLV2UIInstanceImpl pimpl; ///< Private implementation SLV2UIInstanceImpl pimpl; ///< Private implementation
}* SLV2UIInstance; }* SLV2UIInstance;
/** \addtogroup slv2_library
* @{
*/
/** Instantiate a plugin UI. /** Instantiate a plugin UI.
* *
* The returned object represents shared library objects loaded into memory , * The returned object represents shared library objects loaded into memory ,
* it must be cleaned up with slv2_ui_instance_free when no longer * it must be cleaned up with slv2_ui_instance_free when no longer
* needed. * needed.
* *
* \a plugin is not modified or directly referenced by the returned object * \a plugin is not modified or directly referenced by the returned object
* (instances store only a copy of the plugin's URI). * (instances store only a copy of the plugin's URI).
* *
* \a host_features NULL-terminated array of features the host supports. * \a host_features NULL-terminated array of features the host supports.
 End of changes. 3 change blocks. 
5 lines changed or deleted 5 lines changed or added


 pluginuis.h   pluginuis.h 
skipping to change at line 29 skipping to change at line 29
#ifndef __SLV2_PLUGIN_UIS_H__ #ifndef __SLV2_PLUGIN_UIS_H__
#define __SLV2_PLUGIN_UIS_H__ #define __SLV2_PLUGIN_UIS_H__
#include <slv2/types.h> #include <slv2/types.h>
#include <slv2/plugin.h> #include <slv2/plugin.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** \addtogroup collections /** \addtogroup slv2_collections
* *
* @{ * @{
*/ */
/** Free a plugin list. /** Free a plugin list.
* *
* Freeing a plugin list does not destroy the plugins it contains (plugins * Freeing a plugin list does not destroy the plugins it contains (plugins
* are owned by the world). \a list is invalid after this call. * are owned by the world). \a list is invalid after this call.
*/ */
void void
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 port.h   port.h 
skipping to change at line 31 skipping to change at line 31
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <slv2/types.h> #include <slv2/types.h>
#include <slv2/plugin.h> #include <slv2/plugin.h>
#include <slv2/port.h> #include <slv2/port.h>
#include <slv2/values.h> #include <slv2/values.h>
/** \addtogroup data /** \addtogroup slv2_data
* @{ * @{
*/ */
/** Port analog of slv2_plugin_get_value. /** Port analog of slv2_plugin_get_value.
* *
* Time = Query * Time = Query
*/ */
SLV2Values SLV2Values
slv2_port_get_value(SLV2Plugin plugin, slv2_port_get_value(SLV2Plugin plugin,
SLV2Port port, SLV2Port port,
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 util.h   util.h 
skipping to change at line 28 skipping to change at line 28
#ifndef __SLV2_UTIL_H__ #ifndef __SLV2_UTIL_H__
#define __SLV2_UTIL_H__ #define __SLV2_UTIL_H__
#include <stdarg.h> #include <stdarg.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** \defgroup util Utility functions /** \defgroup slv2_util Utility functions
* *
* @{ * @{
*/ */
/** Convert a full URI (eg file://foo/bar/baz.ttl) to a local path (e.g. /f oo/bar/baz.ttl). /** Convert a full URI (eg file://foo/bar/baz.ttl) to a local path (e.g. /f oo/bar/baz.ttl).
* *
* Return value is shared and must not be deleted by caller. * Return value is shared and must not be deleted by caller.
* \return \a uri converted to a path, or NULL on failure (URI is not local ). * \return \a uri converted to a path, or NULL on failure (URI is not local ).
*/ */
const char* slv2_uri_to_path(const char* uri); const char* slv2_uri_to_path(const char* uri);
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 value.h   value.h 
skipping to change at line 29 skipping to change at line 29
#ifndef __SLV2_VALUE_H__ #ifndef __SLV2_VALUE_H__
#define __SLV2_VALUE_H__ #define __SLV2_VALUE_H__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <stdbool.h> #include <stdbool.h>
#include <slv2/types.h> #include <slv2/types.h>
/** \addtogroup data /** \addtogroup slv2_data
* @{ * @{
*/ */
/*SLV2Value /*SLV2Value
slv2_value_new_uri(const char* uri);*/ slv2_value_new_uri(const char* uri);*/
/** Free an SLV2Value. /** Free an SLV2Value.
*/ */
void void
slv2_value_free(SLV2Value val); slv2_value_free(SLV2Value val);
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 values.h   values.h 
skipping to change at line 29 skipping to change at line 29
#ifndef __SLV2_VALUES_H__ #ifndef __SLV2_VALUES_H__
#define __SLV2_VALUES_H__ #define __SLV2_VALUES_H__
#include <stdbool.h> #include <stdbool.h>
#include <slv2/value.h> #include <slv2/value.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** \defgroup collections Collections of values/objects /** \defgroup slv2_collections Collections of values/objects
* *
* Ordered collections of typed values which are fast for random * Ordered collections of typed values which are fast for random
* access by index (i.e. a fancy array). * access by index (i.e. a fancy array).
* *
* @{ * @{
*/ */
/** Allocate a new, empty SLV2Values /** Allocate a new, empty SLV2Values
*/ */
SLV2Values SLV2Values
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 world.h   world.h 
skipping to change at line 30 skipping to change at line 30
#define __SLV2_WORLD_H__ #define __SLV2_WORLD_H__
#include <slv2/plugins.h> #include <slv2/plugins.h>
#include <slv2/pluginclasses.h> #include <slv2/pluginclasses.h>
#include <librdf.h> #include <librdf.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/** \defgroup world Global library state /** \defgroup slv2_world Global library state
* *
* The "world" represents all library state, and the data found in bundles' * The "world" represents all library state, and the data found in bundles'
* manifest.ttl (ie it is an in-memory index of all things LV2 found). * manifest.ttl (ie it is an in-memory index of all things LV2 found).
* Plugins (and plugin extensions) and the LV2 specification (and LV2 * Plugins (and plugin extensions) and the LV2 specification (and LV2
* extensions) itself can be queried from the world for use. * extensions) itself can be queried from the world for use.
* *
* Normal hosts which just want to easily load plugins by URI are strongly * Normal hosts which just want to easily load plugins by URI are strongly
* recommended to simply call \ref slv2_world_load_all to find all installe d * recommended to simply call \ref slv2_world_load_all to find all installe d
* data in the recommended way. * data in the recommended way.
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/