lv2.h | lv2.h | |||
---|---|---|---|---|
/* LV2 - LADSPA (Linux Audio Developer's Simple Plugin API) Version 2.0 | /* LV2 - LADSPA (Linux Audio Developer's Simple Plugin API) Version 2.0 | |||
* *** PROVISIONAL Revision 1.0beta6 (2007-10-03) *** | * *** PROVISIONAL Revision 1.0beta7 (2007-11-14) *** | |||
* | * | |||
* Copyright (C) 2000-2002 Richard W.E. Furse, Paul Barton-Davis, | * Copyright (C) 2000-2002 Richard W.E. Furse, Paul Barton-Davis, | |||
* Stefan Westerfeld. | * Stefan Westerfeld. | |||
* Copyright (C) 2006-2007 Steve Harris, Dave Robillard. | * Copyright (C) 2006-2007 Steve Harris, Dave Robillard. | |||
* | * | |||
* This header is free software; you can redistribute it and/or modify it | * This header is free software; you can redistribute it and/or modify it | |||
* under the terms of the GNU Lesser General Public License as published | * under the terms of the GNU Lesser General Public License as published | |||
* by the Free Software Foundation; either version 2.1 of the License, | * by the Free Software Foundation; either version 2.1 of the License, | |||
* or (at your option) any later version. | * or (at your option) any later version. | |||
* | * | |||
skipping to change at line 37 | skipping to change at line 37 | |||
#include <stdint.h> | #include <stdint.h> | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/* ************************************************************************ * */ | /* ************************************************************************ * */ | |||
/** @file lv2.h | /** @file lv2.h | |||
* | * | |||
* Revision: 1.0beta6 | * Revision: 1.0beta7 | |||
* | * | |||
* == Overview == | * == Overview == | |||
* | * | |||
* There are a large number of open source and free software synthesis | * There are a large number of open source and free software synthesis | |||
* packages in use or development at this time. This API ('LV2') | * packages in use or development at this time. This API ('LV2') | |||
* attempts to give programmers the ability to write simple 'plugin' | * attempts to give programmers the ability to write simple 'plugin' | |||
* audio processors in C/C++ and link them dynamically ('plug') into | * audio processors in C/C++ and link them dynamically ('plug') into | |||
* a range of these packages ('hosts'). It should be possible for any | * a range of these packages ('hosts'). It should be possible for any | |||
* host and any plugin to communicate completely through this interface. | * host and any plugin to communicate completely through this interface. | |||
* | * | |||
skipping to change at line 172 | skipping to change at line 172 | |||
* same ports (etc) which is 100% compatible. */ | * same ports (etc) which is 100% compatible. */ | |||
const char * URI; | const char * URI; | |||
/** Function pointer that instantiates a plugin. | /** Function pointer that instantiates a plugin. | |||
* | * | |||
* A handle is returned indicating the new plugin instance. The | * A handle is returned indicating the new plugin instance. The | |||
* instantiation function accepts a sample rate as a parameter as we ll | * instantiation function accepts a sample rate as a parameter as we ll | |||
* as the plugin descriptor from which this instantiate function was | * as the plugin descriptor from which this instantiate function was | |||
* found. This function must return NULL if instantiation fails. | * found. This function must return NULL if instantiation fails. | |||
* | * | |||
* BundlePath is a string of the path to the LV2 bundle which contai ns | * bundle_path is a string of the path to the LV2 bundle which conta ins | |||
* this plugin binary. It MUST include the trailing directory separ ator | * this plugin binary. It MUST include the trailing directory separ ator | |||
* (e.g. '/') so that BundlePath + filename gives the path to a file | * (e.g. '/') so that BundlePath + filename gives the path to a file | |||
* in the bundle. | * in the bundle. | |||
* | * | |||
* HostFeatures is a NULL terminated array of the URIs of the LV2 | * features is a NULL terminated array of LV2_Feature structs which | |||
* features that the host supports. Plugins may refuse to instantiat | * represent the features the host supports. Plugins may refuse to | |||
e | * instantiate if required features are not found here (however host | |||
* if required features are not found here (however hosts SHOULD NOT | s | |||
use | * SHOULD NOT use this as a discovery mechanism, instead reading the | |||
* this as a discovery mechanism, instead reading the data file befo | * data file before attempting to instantiate the plugin). This arr | |||
re | ay | |||
* attempting to instantiate the plugin). This array must always ex | * must always exist; if a host has no features, it MUST pass a sing | |||
ist; | le | |||
* if a host has no features, it MUST pass a single element array | * element array containing NULL (to simplify plugins). | |||
* containing NULL (to simplify plugins). | ||||
* | * | |||
* Note that instance initialisation should generally occur in | * Note that instance initialisation should generally occur in | |||
* activate() rather than here. If a host calls instantiate, it MUS T | * activate() rather than here. If a host calls instantiate, it MUS T | |||
* call cleanup() at some point in the future. */ | * call cleanup() at some point in the future. */ | |||
LV2_Handle (*instantiate)(const struct _LV2_Descriptor * descriptor, | LV2_Handle (*instantiate)(const struct _LV2_Descriptor * descriptor, | |||
double sample_rate , | double sample_rate , | |||
const char * bundle_path , | const char * bundle_path , | |||
const LV2_Feature *const * features); | const LV2_Feature *const * features); | |||
/** Function pointer that connects a port on a plugin instance to a memory | /** Function pointer that connects a port on a plugin instance to a memory | |||
skipping to change at line 271 | skipping to change at line 271 | |||
* | * | |||
* Note that if an activate() function exists then it must be called | * Note that if an activate() function exists then it must be called | |||
* before run(). If deactivate() is called for a plugin instance the n | * before run(). If deactivate() is called for a plugin instance the n | |||
* the plugin instance may not be reused until activate() has been | * the plugin instance may not be reused until activate() has been | |||
* called again. | * called again. | |||
* | * | |||
* If the plugin has the feature lv2:hardRTCapable then there are | * If the plugin has the feature lv2:hardRTCapable then there are | |||
* various things that the plugin MUST NOT do within the run() | * various things that the plugin MUST NOT do within the run() | |||
* function (see lv2.ttl). */ | * function (see lv2.ttl). */ | |||
void (*run)(LV2_Handle instance, | void (*run)(LV2_Handle instance, | |||
uint32_t sampleCount); | uint32_t sample_count); | |||
/** This is the counterpart to activate() (see above). If there is | /** This is the counterpart to activate() (see above). If there is | |||
* nothing for deactivate() to do then the plugin writer may provide | * nothing for deactivate() to do then the plugin writer may provide | |||
* a NULL rather than an empty function. | * a NULL rather than an empty function. | |||
* | * | |||
* Hosts must deactivate all activated units after they have been ru n() | * Hosts must deactivate all activated units after they have been ru n() | |||
* for the last time. This call SHOULD be made as close to the last | * for the last time. This call SHOULD be made as close to the last | |||
* run() call as possible and indicates to real-time plugins that | * run() call as possible and indicates to real-time plugins that | |||
* they are no longer live, however plugins MUST NOT rely on prompt | * they are no longer live, however plugins MUST NOT rely on prompt | |||
* deactivation. Note that connect_port() may be called before or | * deactivation. Note that connect_port() may be called before or | |||
End of changes. 5 change blocks. | ||||
15 lines changed or deleted | 14 lines changed or added | |||