Mercurial > hg > vamp-plugin-sdk
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: |