diff vamp-sdk/hostext/PluginLoader.h @ 75:0f8524203677

* doc updates
author cannam
date Thu, 07 Jun 2007 13:56:26 +0000
parents 6d16c376fd2f
children 6683f99107cf
line wrap: on
line diff
--- a/vamp-sdk/hostext/PluginLoader.h	Wed Jun 06 13:14:18 2007 +0000
+++ b/vamp-sdk/hostext/PluginLoader.h	Thu Jun 07 13:56:26 2007 +0000
@@ -59,16 +59,17 @@
  * Hosts are not required by the Vamp specification to use the same
  * plugin search path and naming conventions as implemented by this
  * class, and are certainly not required to use this actual class.
- * But it's recommended, for sound practical reasons.
+ * But we do strongly recommend it.
+ *
+ * \note This class was introduced version 1.1 of the Vamp plugin SDK.
  */
 
 class PluginLoader
 {
 public:
     /**
-     * PluginLoader is a singleton class.  This function returns a
-     * pointer to the single instance of it.  Use this to obtain your
-     * loader object.
+     * Obtain a pointer to the singleton instance of PluginLoader.
+     * Use this to obtain your loader object.
      */
     static PluginLoader *getInstance();
 
@@ -80,7 +81,7 @@
      * only meaningful in the context of a given plugin path (the one
      * returned by PluginHostAdapter::getPluginPath()).
      *
-     * Use composePluginKey to construct a plugin key from a known
+     * Use composePluginKey() to construct a plugin key from a known
      * plugin library name and identifier.
      *
      * Note: the fact that the library component of the key is
@@ -90,13 +91,13 @@
      * identifiers _are_ case sensitive, however.)  Also, it is not
      * possible to portably extract a working library name from a
      * plugin key, as the result may fail on case-sensitive
-     * filesystems.  Use getLibraryPathForPlugin instead.
+     * filesystems.  Use getLibraryPathForPlugin() instead.
      */
     typedef std::string PluginKey;
 
     /**
      * PluginKeyList is a sequence of plugin keys, such as returned by
-     * a plugin lookup function.
+     * listPlugins().
      */
     typedef std::vector<PluginKey> PluginKeyList;
 
@@ -107,6 +108,8 @@
      * category forest, containing the human-readable names of the
      * plugin's category tree root, followed by each of the nodes down
      * to the leaf containing the plugin.
+     *
+     * \see getPluginCategory()
      */
     typedef std::vector<std::string> PluginCategoryHierarchy;
 
@@ -136,6 +139,8 @@
      * This enables a host to use plugins that may require the input
      * to be mixed down to mono, etc., without having to worry about
      * doing that itself.
+     *
+     * ADAPT_ALL - Perform all available adaptations, where meaningful.
      * 
      * See PluginInputDomainAdapter and PluginChannelAdapter for more
      * details of the classes that the loader may use if these flags
@@ -151,14 +156,18 @@
      * Load a Vamp plugin, given its identifying key.  If the plugin
      * could not be loaded, returns 0.
      *
-     * adapterFlags is a bitwise OR of the values in the AdapterFlags
-     * enum, indicating under which circumstances an adapter should be
-     * used to wrap the original plugin.  See AdapterFlags for more
-     * details.  If adapterFlags is 0, no optional adapters will be
-     * used.
+     * The returned plugin should be deleted (using the standard C++
+     * delete keyword) after use.
      *
-     * The returned plugin should be deleted (using the standard C++
-     * delete) after use.
+     * \param adapterFlags a bitwise OR of the values in the AdapterFlags
+     * enumeration, indicating under which circumstances an adapter should be
+     * used to wrap the original plugin.  If adapterFlags is 0, no
+     * optional adapters will be used.  Otherwise, the returned plugin
+     * may be of an adapter class type which will behave identically
+     * to the original plugin, apart from any particular features
+     * implemented by the adapter itself.
+     * 
+     * \see AdapterFlags, PluginInputDomainAdapter, PluginChannelAdapter
      */
     Plugin *loadPlugin(PluginKey key,
                        float inputSampleRate,
@@ -167,18 +176,19 @@
     /**
      * Given a Vamp plugin library name and plugin identifier, return
      * the corresponding plugin key in a form suitable for passing in to
-     * loadPlugin.
+     * loadPlugin().
      */
     PluginKey composePluginKey(std::string libraryName,
                                std::string identifier);
 
     /**
      * Return the category hierarchy for a Vamp plugin, given its
-     * identifying key.  See PluginCategoryHierarchy documentation for
-     * more details.
+     * identifying key.
      *
      * If the plugin has no category information, return an empty
      * hierarchy.
+     *
+     * \see PluginCategoryHierarchy
      */
     PluginCategoryHierarchy getPluginCategory(PluginKey plugin);