From f885fe814c66e761d1f014c3e8428d7a3aafc271 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 12 Jun 2012 19:32:42 +0000 Subject: Add basic function documentation. --- plugins/eg-amp.lv2/amp.c | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'plugins') diff --git a/plugins/eg-amp.lv2/amp.c b/plugins/eg-amp.lv2/amp.c index c52eedd..344f7b4 100644 --- a/plugins/eg-amp.lv2/amp.c +++ b/plugins/eg-amp.lv2/amp.c @@ -1,7 +1,6 @@ /* - LV2 Amp Example Plugin - Copyright 2006-2011 Steve Harris , - David Robillard + Copyright 2006-2011 David Robillard + Copyright 2006 Steve Harris Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -16,6 +15,14 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +/** + @file amp.c Implementation of the LV2 Amp example plugin. + + This is a basic working LV2 plugin, about as small as one can get. It is + useful as a skeleton to copy to build more advanced plugins. See lv2.h for + more detailed descriptions of the rules for the various functions. +*/ + #include #include #include @@ -24,18 +31,21 @@ #define AMP_URI "http://lv2plug.in/plugins/eg-amp" +/** Port indices. */ typedef enum { AMP_GAIN = 0, AMP_INPUT = 1, AMP_OUTPUT = 2 } PortIndex; +/** Plugin instance. */ typedef struct { float* gain; float* input; float* output; } Amp; +/** Called to create a new plugin instance. */ static LV2_Handle instantiate(const LV2_Descriptor* descriptor, double rate, @@ -47,6 +57,7 @@ instantiate(const LV2_Descriptor* descriptor, return (LV2_Handle)amp; } +/** Called to connect a port to a buffer (audio thread, must be RT safe). */ static void connect_port(LV2_Handle instance, uint32_t port, @@ -67,13 +78,16 @@ connect_port(LV2_Handle instance, } } +/** Called to initialise and prepare the instance for running. */ static void activate(LV2_Handle instance) { + /* Nothing to do here in this trivial mostly stateless plugin. */ } #define DB_CO(g) ((g) > -90.0f ? powf(10.0f, (g) * 0.05f) : 0.0f) +/** Called to process a block of audio (audio thread, must be RT safe). */ static void run(LV2_Handle instance, uint32_t n_samples) { @@ -90,23 +104,28 @@ run(LV2_Handle instance, uint32_t n_samples) } } +/** Called when running is finished (counterpart to activate()). */ static void deactivate(LV2_Handle instance) { + /* Nothing to do here in this trivial mostly stateless plugin. */ } +/** Called to destroy a plugin instance (counterpart to instantiate()). */ static void cleanup(LV2_Handle instance) { free(instance); } +/** Called to access extension data provided by the plugin. */ const void* extension_data(const char* uri) { - return NULL; + return NULL; /* This plugin has no extension data. */ } +/** The LV2_Descriptor for this plugin. */ static const LV2_Descriptor descriptor = { AMP_URI, instantiate, @@ -118,6 +137,7 @@ static const LV2_Descriptor descriptor = { extension_data }; +/** Entry point, the host will call this function to access descriptors. */ LV2_SYMBOL_EXPORT const LV2_Descriptor* lv2_descriptor(uint32_t index) -- cgit v1.2.1