LMMS
Loading...
Searching...
No Matches
lv2.h
Go to the documentation of this file.
1/*
2 LV2 - An audio plugin interface specification.
3 Copyright 2006-2012 Steve Harris, David Robillard.
4
5 Based on LADSPA, Copyright 2000-2002 Richard W.E. Furse,
6 Paul Barton-Davis, Stefan Westerfeld.
7
8 Permission to use, copy, modify, and/or distribute this software for any
9 purpose with or without fee is hereby granted, provided that the above
10 copyright notice and this permission notice appear in all copies.
11
12 THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19*/
20
28
29#ifndef LV2_H_INCLUDED
30#define LV2_H_INCLUDED
31
32#include <stdint.h>
33
34#define LV2_CORE_URI "http://lv2plug.in/ns/lv2core"
35#define LV2_CORE_PREFIX LV2_CORE_URI "#"
36
37#define LV2_CORE__AllpassPlugin LV2_CORE_PREFIX "AllpassPlugin"
38#define LV2_CORE__AmplifierPlugin LV2_CORE_PREFIX "AmplifierPlugin"
39#define LV2_CORE__AnalyserPlugin LV2_CORE_PREFIX "AnalyserPlugin"
40#define LV2_CORE__AudioPort LV2_CORE_PREFIX "AudioPort"
41#define LV2_CORE__BandpassPlugin LV2_CORE_PREFIX "BandpassPlugin"
42#define LV2_CORE__CVPort LV2_CORE_PREFIX "CVPort"
43#define LV2_CORE__ChorusPlugin LV2_CORE_PREFIX "ChorusPlugin"
44#define LV2_CORE__CombPlugin LV2_CORE_PREFIX "CombPlugin"
45#define LV2_CORE__CompressorPlugin LV2_CORE_PREFIX "CompressorPlugin"
46#define LV2_CORE__ConstantPlugin LV2_CORE_PREFIX "ConstantPlugin"
47#define LV2_CORE__ControlPort LV2_CORE_PREFIX "ControlPort"
48#define LV2_CORE__ConverterPlugin LV2_CORE_PREFIX "ConverterPlugin"
49#define LV2_CORE__DelayPlugin LV2_CORE_PREFIX "DelayPlugin"
50#define LV2_CORE__DistortionPlugin LV2_CORE_PREFIX "DistortionPlugin"
51#define LV2_CORE__DynamicsPlugin LV2_CORE_PREFIX "DynamicsPlugin"
52#define LV2_CORE__EQPlugin LV2_CORE_PREFIX "EQPlugin"
53#define LV2_CORE__EnvelopePlugin LV2_CORE_PREFIX "EnvelopePlugin"
54#define LV2_CORE__ExpanderPlugin LV2_CORE_PREFIX "ExpanderPlugin"
55#define LV2_CORE__ExtensionData LV2_CORE_PREFIX "ExtensionData"
56#define LV2_CORE__Feature LV2_CORE_PREFIX "Feature"
57#define LV2_CORE__FilterPlugin LV2_CORE_PREFIX "FilterPlugin"
58#define LV2_CORE__FlangerPlugin LV2_CORE_PREFIX "FlangerPlugin"
59#define LV2_CORE__FunctionPlugin LV2_CORE_PREFIX "FunctionPlugin"
60#define LV2_CORE__GatePlugin LV2_CORE_PREFIX "GatePlugin"
61#define LV2_CORE__GeneratorPlugin LV2_CORE_PREFIX "GeneratorPlugin"
62#define LV2_CORE__HighpassPlugin LV2_CORE_PREFIX "HighpassPlugin"
63#define LV2_CORE__InputPort LV2_CORE_PREFIX "InputPort"
64#define LV2_CORE__InstrumentPlugin LV2_CORE_PREFIX "InstrumentPlugin"
65#define LV2_CORE__LimiterPlugin LV2_CORE_PREFIX "LimiterPlugin"
66#define LV2_CORE__LowpassPlugin LV2_CORE_PREFIX "LowpassPlugin"
67#define LV2_CORE__MixerPlugin LV2_CORE_PREFIX "MixerPlugin"
68#define LV2_CORE__ModulatorPlugin LV2_CORE_PREFIX "ModulatorPlugin"
69#define LV2_CORE__MultiEQPlugin LV2_CORE_PREFIX "MultiEQPlugin"
70#define LV2_CORE__OscillatorPlugin LV2_CORE_PREFIX "OscillatorPlugin"
71#define LV2_CORE__OutputPort LV2_CORE_PREFIX "OutputPort"
72#define LV2_CORE__ParaEQPlugin LV2_CORE_PREFIX "ParaEQPlugin"
73#define LV2_CORE__PhaserPlugin LV2_CORE_PREFIX "PhaserPlugin"
74#define LV2_CORE__PitchPlugin LV2_CORE_PREFIX "PitchPlugin"
75#define LV2_CORE__Plugin LV2_CORE_PREFIX "Plugin"
76#define LV2_CORE__PluginBase LV2_CORE_PREFIX "PluginBase"
77#define LV2_CORE__Point LV2_CORE_PREFIX "Point"
78#define LV2_CORE__Port LV2_CORE_PREFIX "Port"
79#define LV2_CORE__PortProperty LV2_CORE_PREFIX "PortProperty"
80#define LV2_CORE__Resource LV2_CORE_PREFIX "Resource"
81#define LV2_CORE__ReverbPlugin LV2_CORE_PREFIX "ReverbPlugin"
82#define LV2_CORE__ScalePoint LV2_CORE_PREFIX "ScalePoint"
83#define LV2_CORE__SimulatorPlugin LV2_CORE_PREFIX "SimulatorPlugin"
84#define LV2_CORE__SpatialPlugin LV2_CORE_PREFIX "SpatialPlugin"
85#define LV2_CORE__Specification LV2_CORE_PREFIX "Specification"
86#define LV2_CORE__SpectralPlugin LV2_CORE_PREFIX "SpectralPlugin"
87#define LV2_CORE__UtilityPlugin LV2_CORE_PREFIX "UtilityPlugin"
88#define LV2_CORE__WaveshaperPlugin LV2_CORE_PREFIX "WaveshaperPlugin"
89#define LV2_CORE__appliesTo LV2_CORE_PREFIX "appliesTo"
90#define LV2_CORE__binary LV2_CORE_PREFIX "binary"
91#define LV2_CORE__connectionOptional LV2_CORE_PREFIX "connectionOptional"
92#define LV2_CORE__control LV2_CORE_PREFIX "control"
93#define LV2_CORE__default LV2_CORE_PREFIX "default"
94#define LV2_CORE__designation LV2_CORE_PREFIX "designation"
95#define LV2_CORE__documentation LV2_CORE_PREFIX "documentation"
96#define LV2_CORE__enumeration LV2_CORE_PREFIX "enumeration"
97#define LV2_CORE__extensionData LV2_CORE_PREFIX "extensionData"
98#define LV2_CORE__freeWheeling LV2_CORE_PREFIX "freeWheeling"
99#define LV2_CORE__hardRTCapable LV2_CORE_PREFIX "hardRTCapable"
100#define LV2_CORE__inPlaceBroken LV2_CORE_PREFIX "inPlaceBroken"
101#define LV2_CORE__index LV2_CORE_PREFIX "index"
102#define LV2_CORE__integer LV2_CORE_PREFIX "integer"
103#define LV2_CORE__isLive LV2_CORE_PREFIX "isLive"
104#define LV2_CORE__latency LV2_CORE_PREFIX "latency"
105#define LV2_CORE__maximum LV2_CORE_PREFIX "maximum"
106#define LV2_CORE__microVersion LV2_CORE_PREFIX "microVersion"
107#define LV2_CORE__minimum LV2_CORE_PREFIX "minimum"
108#define LV2_CORE__minorVersion LV2_CORE_PREFIX "minorVersion"
109#define LV2_CORE__name LV2_CORE_PREFIX "name"
110#define LV2_CORE__optionalFeature LV2_CORE_PREFIX "optionalFeature"
111#define LV2_CORE__port LV2_CORE_PREFIX "port"
112#define LV2_CORE__portProperty LV2_CORE_PREFIX "portProperty"
113#define LV2_CORE__project LV2_CORE_PREFIX "project"
114#define LV2_CORE__prototype LV2_CORE_PREFIX "prototype"
115#define LV2_CORE__reportsLatency LV2_CORE_PREFIX "reportsLatency"
116#define LV2_CORE__requiredFeature LV2_CORE_PREFIX "requiredFeature"
117#define LV2_CORE__sampleRate LV2_CORE_PREFIX "sampleRate"
118#define LV2_CORE__scalePoint LV2_CORE_PREFIX "scalePoint"
119#define LV2_CORE__symbol LV2_CORE_PREFIX "symbol"
120#define LV2_CORE__toggled LV2_CORE_PREFIX "toggled"
121
122#ifdef __cplusplus
123extern "C" {
124#endif
125
133typedef void * LV2_Handle;
134
143typedef struct _LV2_Feature {
149 const char * URI;
150
157 void * data;
159
166typedef struct _LV2_Descriptor {
174 const char * URI;
175
205 double sample_rate,
206 const char * bundle_path,
207 const LV2_Feature *const * features);
208
244 uint32_t port,
245 void * data_location);
246
269
293 void (*run)(LV2_Handle instance,
294 uint32_t sample_count);
295
315
327 void (*cleanup)(LV2_Handle instance);
328
342 const void * (*extension_data)(const char * uri);
344
348#ifdef __cplusplus
349# define LV2_SYMBOL_EXTERN extern "C"
350#else
351# define LV2_SYMBOL_EXTERN
352#endif
353
358#ifdef _WIN32
359# define LV2_SYMBOL_EXPORT LV2_SYMBOL_EXTERN __declspec(dllexport)
360#else
361# define LV2_SYMBOL_EXPORT LV2_SYMBOL_EXTERN __attribute__((visibility("default")))
362#endif
363
389
393typedef const LV2_Descriptor *
394(*LV2_Descriptor_Function)(uint32_t index);
395
399typedef void* LV2_Lib_Handle;
400
437
455const LV2_Lib_Descriptor *
456lv2_lib_descriptor(const char * bundle_path,
457 const LV2_Feature *const * features);
458
462typedef const LV2_Lib_Descriptor *
463(*LV2_Lib_Descriptor_Function)(const char * bundle_path,
464 const LV2_Feature *const * features);
465
466#ifdef __cplusplus
467}
468#endif
469
470#endif /* LV2_H_INCLUDED */
471
static const LV2_Descriptor descriptor
Definition bindings_test_plugin.c:165
#define LV2_SYMBOL_EXPORT
Definition lv2.h:361
LV2_SYMBOL_EXPORT const LV2_Lib_Descriptor * lv2_lib_descriptor(const char *bundle_path, const LV2_Feature *const *features)
Definition failed_lib_descriptor.c:26
LV2_SYMBOL_EXPORT const LV2_Descriptor * lv2_descriptor(uint32_t index)
Definition CarlaBridgeSingleLV2.cpp:702
void * LV2_Handle
Definition lv2.h:133
void * LV2_Lib_Handle
Definition lv2.h:399
struct _LV2_Feature LV2_Feature
static SordNode * uri(SordWorld *world, int num)
Definition sord_test.c:47
unsigned int uint32_t
Definition mid.cpp:100
Definition lv2.h:166
LV2_Handle(* instantiate)(const struct _LV2_Descriptor *descriptor, double sample_rate, const char *bundle_path, const LV2_Feature *const *features)
Definition lv2.h:204
const char * URI
Definition lv2.h:174
void(* cleanup)(LV2_Handle instance)
Definition lv2.h:327
void(* connect_port)(LV2_Handle instance, uint32_t port, void *data_location)
Definition lv2.h:243
void(* deactivate)(LV2_Handle instance)
Definition lv2.h:314
void(* run)(LV2_Handle instance, uint32_t sample_count)
Definition lv2.h:293
void(* activate)(LV2_Handle instance)
Definition lv2.h:268
Definition lv2.h:143
const char * URI
Definition lv2.h:149
void * data
Definition lv2.h:157
Definition lv2.h:180
Definition lv2.h:157
Definition lv2.h:407
uint32_t size
Definition lv2.h:420
LV2_Lib_Handle handle
Definition lv2.h:412
void(* cleanup)(LV2_Lib_Handle handle)
Definition lv2.h:425
#define void
Definition unzip.h:396