comparison vamp-sdk/PluginBase.h @ 47:be8fdfe25693

* Change input buffers arg to process from float ** to const float *const * to avoid plugins modifying their input data * Some improvements to comments * Fix stupidity in frequency-domain input passing (there are n/2+1 values, not n/2)
author cannam
date Fri, 08 Dec 2006 17:39:32 +0000
parents 3bbe244611bb
children aa64a46320d4
comparison
equal deleted inserted replaced
46:2858c897d90f 47:be8fdfe25693
61 virtual ~PluginBase() { } 61 virtual ~PluginBase() { }
62 62
63 /** 63 /**
64 * Get the computer-usable name of the plugin. This should be 64 * Get the computer-usable name of the plugin. This should be
65 * reasonably short and contain no whitespace or punctuation 65 * reasonably short and contain no whitespace or punctuation
66 * characters. It may be shown to the user, but it won't be the 66 * characters. It may only contain the characters [a-zA-Z0-9_].
67 * main method for a user to identify a plugin (that will be the 67 * This is the authoritative way for a program to identify a
68 * description, below). This may only contain the characters 68 * plugin within a given library.
69 * [a-zA-Z0-9_]. 69 *
70 * This text may be visible to the user, but it should not be the
71 * main text used to identify a plugin to the user (that will be
72 * the description, below).
70 */ 73 */
71 virtual std::string getName() const = 0; 74 virtual std::string getName() const = 0;
72 75
73 /** 76 /**
74 * Get a human-readable description of the plugin. This should be 77 * Get a human-readable description or title of the plugin. This
75 * self-contained, as it may be shown to the user in isolation 78 * should be brief and self-contained, as it may be used to
76 * without also showing the plugin's "name". 79 * identify the plugin to the user in isolation (i.e. without also
80 * showing the plugin's "name").
77 */ 81 */
78 virtual std::string getDescription() const = 0; 82 virtual std::string getDescription() const = 0;
79 83
80 /** 84 /**
81 * Get the name of the author or vendor of the plugin in 85 * Get the name of the author or vendor of the plugin in
82 * human-readable form. 86 * human-readable form. This should be a short identifying text,
87 * as it may be used to label plugins from the same source in a
88 * menu or similar.
83 */ 89 */
84 virtual std::string getMaker() const = 0; 90 virtual std::string getMaker() const = 0;
85 91
86 /** 92 /**
93 * Get the copyright statement or licensing summary for the
94 * plugin. This can be an informative text, without the same
95 * presentation constraints as mentioned for getMaker above.
96 */
97 virtual std::string getCopyright() const = 0;
98
99 /**
87 * Get the version number of the plugin. 100 * Get the version number of the plugin.
88 */ 101 */
89 virtual int getPluginVersion() const = 0; 102 virtual int getPluginVersion() const = 0;
90
91 /**
92 * Get the copyright statement or licensing summary of the plugin.
93 */
94 virtual std::string getCopyright() const = 0;
95
96 /**
97 * Get the type of plugin (e.g. DSSI, etc). This is likely to be
98 * implemented by the immediate subclass, not by actual plugins.
99 */
100 virtual std::string getType() const = 0;
101 103
102 104
103 struct ParameterDescriptor 105 struct ParameterDescriptor
104 { 106 {
105 /** 107 /**
202 /** 204 /**
203 * Select a program. (If the given program name is not one of the 205 * Select a program. (If the given program name is not one of the
204 * available programs, do nothing.) 206 * available programs, do nothing.)
205 */ 207 */
206 virtual void selectProgram(std::string) { } 208 virtual void selectProgram(std::string) { }
209
210 /**
211 * Get the type of plugin. This is to be implemented by the
212 * immediate subclass, not by actual plugins. Do not attempt to
213 * implement this in plugin code.
214 */
215 virtual std::string getType() const = 0;
207 }; 216 };
208 217
209 } 218 }
210 219
211 #endif 220 #endif