Mercurial > hg > vamp-plugin-sdk
comparison vamp-sdk/hostext/PluginInputDomainAdapter.cpp @ 59:fa79c4ec847d host-factory-stuff
* Put hostext stuff in the HostExt sub-namespace
* Tidy up system-specific stuff in PluginLoader
* Make PluginLoader return a deletion-notifying wrapper which permits the
library to be unloaded when no longer in use
* Add PluginChannelAdapter
* Make vamp-simple-host use PluginChannelAdapter, and use the PluginLoader
for plugin-running task. Also some other enhancements to host
author | cannam |
---|---|
date | Thu, 24 May 2007 15:17:07 +0000 |
parents | 0284955e31e5 |
children | 087c16cca0d6 |
comparison
equal
deleted
inserted
replaced
58:0284955e31e5 | 59:fa79c4ec847d |
---|---|
38 | 38 |
39 #include <cmath> | 39 #include <cmath> |
40 | 40 |
41 namespace Vamp { | 41 namespace Vamp { |
42 | 42 |
43 namespace HostExt { | |
44 | |
43 PluginInputDomainAdapter::PluginInputDomainAdapter(Plugin *plugin) : | 45 PluginInputDomainAdapter::PluginInputDomainAdapter(Plugin *plugin) : |
44 PluginWrapper(plugin), | 46 PluginWrapper(plugin), |
45 m_channels(0), | 47 m_channels(0), |
46 m_blockSize(0), | 48 m_blockSize(0), |
47 m_freqbuf(0) | 49 m_freqbuf(0) |
53 } | 55 } |
54 | 56 |
55 bool | 57 bool |
56 PluginInputDomainAdapter::initialise(size_t channels, size_t stepSize, size_t blockSize) | 58 PluginInputDomainAdapter::initialise(size_t channels, size_t stepSize, size_t blockSize) |
57 { | 59 { |
58 //!!! complain and die if blocksize is not a power of 2 | 60 //!!! complain and adapt-or-die if blocksize is not a power of 2 |
59 | 61 |
60 if (m_plugin->getInputDomain() == FrequencyDomain) { | 62 if (m_plugin->getInputDomain() == FrequencyDomain) { |
61 if (m_channels > 0) { | 63 if (m_channels > 0) { |
62 for (size_t c = 0; c < m_channels; ++c) { | 64 for (size_t c = 0; c < m_channels; ++c) { |
63 delete[] m_freqbuf[c]; | 65 delete[] m_freqbuf[c]; |
104 } | 106 } |
105 | 107 |
106 size_t | 108 size_t |
107 PluginInputDomainAdapter::getPreferredBlockSize() const | 109 PluginInputDomainAdapter::getPreferredBlockSize() const |
108 { | 110 { |
111 //!!! complain and adapt-or-die if blocksize is not a power of 2 | |
112 | |
109 size_t block = m_plugin->getPreferredBlockSize(); | 113 size_t block = m_plugin->getPreferredBlockSize(); |
110 | 114 |
111 if (block == 0 && (m_plugin->getInputDomain() == FrequencyDomain)) { | 115 if (block == 0 && (m_plugin->getInputDomain() == FrequencyDomain)) { |
112 block = 1024; | 116 block = 1024; |
113 } | 117 } |
267 io[i] /= denom; | 271 io[i] /= denom; |
268 } | 272 } |
269 } | 273 } |
270 } | 274 } |
271 | 275 |
276 } | |
272 | 277 |
273 } | 278 } |
274 | 279 |