comparison vamp-sdk/hostext/PluginChannelAdapter.h @ 63:c747d9b97af3 host-factory-stuff

* documentation
author cannam
date Fri, 01 Jun 2007 15:04:19 +0000
parents fe5486ee1c70
children
comparison
equal deleted inserted replaced
62:fe5486ee1c70 63:c747d9b97af3
42 namespace Vamp { 42 namespace Vamp {
43 43
44 namespace HostExt { 44 namespace HostExt {
45 45
46 /** 46 /**
47 * PluginChannelAdapter implements a policy for management of plugins 47 * PluginChannelAdapter is a Vamp plugin adapter that implements a
48 * that expect a different number of input channels from the number 48 * policy for management of plugins that expect a different number of
49 * actually available in the source audio data. 49 * input channels from the number actually available in the source
50 * audio data.
50 * 51 *
51 * A host using PluginChannelAdapter may ignore the getMinChannelCount 52 * A host using PluginChannelAdapter may ignore the getMinChannelCount
52 * and getMaxChannelCount reported by the plugin, and still expect the 53 * and getMaxChannelCount reported by the plugin, and still expect the
53 * plugin to run. 54 * plugin to run.
54 * 55 *
85 * be prepared to ignore these counts as necessary. (This contrasts 86 * be prepared to ignore these counts as necessary. (This contrasts
86 * with the approach used in PluginInputDomainAdapter, which aims to 87 * with the approach used in PluginInputDomainAdapter, which aims to
87 * make the host completely unaware of which underlying input domain 88 * make the host completely unaware of which underlying input domain
88 * is in fact in use.) 89 * is in fact in use.)
89 * 90 *
90 * The rationale for this is that a host may wish to use the 91 * (The rationale for this is that a host may wish to use the
91 * PluginChannelAdapter but still discriminate in some way on the 92 * PluginChannelAdapter but still discriminate in some way on the
92 * basis of the number of channels actually supported. For example, a 93 * basis of the number of channels actually supported. For example, a
93 * simple stereo audio host may prefer to reject plugins that require 94 * simple stereo audio host may prefer to reject plugins that require
94 * more than two channels on the grounds that doesn't actually 95 * more than two channels on the grounds that doesn't actually
95 * understand what they are for, rather than allow the channel adapter 96 * understand what they are for, rather than allow the channel adapter
96 * to make a potentially meaningless channel conversion for them. 97 * to make a potentially meaningless channel conversion for them.)
98 *
99 * In every respect other than its management of channels, the
100 * PluginChannelAdapter behaves identically to the plugin that it
101 * wraps. The wrapped plugin will be deleted when the wrapper is
102 * deleted.
97 */ 103 */
98 104
99 class PluginChannelAdapter : public PluginWrapper 105 class PluginChannelAdapter : public PluginWrapper
100 { 106 {
101 public: 107 public: