|
LV2
|
00001 /* 00002 LV2 - An audio plugin interface specification. 00003 Copyright 2006-2011 Steve Harris, David Robillard. 00004 00005 Based on LADSPA, Copyright 2000-2002 Richard W.E. Furse, 00006 Paul Barton-Davis, Stefan Westerfeld. 00007 00008 Permission to use, copy, modify, and/or distribute this software for any 00009 purpose with or without fee is hereby granted, provided that the above 00010 copyright notice and this permission notice appear in all copies. 00011 00012 THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 00013 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 00014 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 00015 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 00016 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00017 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 00018 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00019 */ 00020 00027 #ifndef LV2_H_INCLUDED 00028 #define LV2_H_INCLUDED 00029 00030 #include <stdint.h> 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00043 typedef void * LV2_Handle; 00044 00053 typedef struct _LV2_Feature { 00059 const char * URI; 00060 00067 void * data; 00068 } LV2_Feature; 00069 00076 typedef struct _LV2_Descriptor { 00084 const char * URI; 00085 00114 LV2_Handle (*instantiate)(const struct _LV2_Descriptor * descriptor, 00115 double sample_rate, 00116 const char * bundle_path, 00117 const LV2_Feature *const * features); 00118 00153 void (*connect_port)(LV2_Handle instance, 00154 uint32_t port, 00155 void * data_location); 00156 00178 void (*activate)(LV2_Handle instance); 00179 00203 void (*run)(LV2_Handle instance, 00204 uint32_t sample_count); 00205 00224 void (*deactivate)(LV2_Handle instance); 00225 00237 void (*cleanup)(LV2_Handle instance); 00238 00252 const void * (*extension_data)(const char * uri); 00253 } LV2_Descriptor; 00254 00276 const LV2_Descriptor * lv2_descriptor(uint32_t index); 00277 00281 typedef const LV2_Descriptor * 00282 (*LV2_Descriptor_Function)(uint32_t index); 00283 00288 #ifdef WIN32 00289 #define LV2_SYMBOL_EXPORT __declspec(dllexport) 00290 #else 00291 #define LV2_SYMBOL_EXPORT 00292 #endif 00293 00294 #ifdef __cplusplus 00295 } 00296 #endif 00297 00298 #endif /* LV2_H_INCLUDED */
1.7.6.1