comparison vamp-sdk/hostext/PluginInputDomainAdapter.h @ 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 97c5ac99d725
comparison
equal deleted inserted replaced
58:0284955e31e5 59:fa79c4ec847d
32 shall not be used in advertising or otherwise to promote the sale, 32 shall not be used in advertising or otherwise to promote the sale,
33 use or other dealings in this Software without prior written 33 use or other dealings in this Software without prior written
34 authorization. 34 authorization.
35 */ 35 */
36 36
37 #ifndef _PLUGIN_INPUT_DOMAIN_ADAPTER_H_ 37 #ifndef _VAMP_PLUGIN_INPUT_DOMAIN_ADAPTER_H_
38 #define _VAMP_PLUGIN_INPUT_DOMAIN_ADAPTER_H_
38 39
39 #include "PluginWrapper.h" 40 #include "PluginWrapper.h"
40 41
41 namespace Vamp { 42 namespace Vamp {
43
44 namespace HostExt {
42 45
43 /** 46 /**
44 * An adapter that converts time-domain input into frequency-domain 47 * An adapter that converts time-domain input into frequency-domain
45 * input for plugins that need it. In every other respect this 48 * input for plugins that need it. In every other respect this
46 * adapter behaves like the plugin it wraps. The wrapped plugin may 49 * adapter behaves like the plugin it wraps. The wrapped plugin may
76 size_t getPreferredBlockSize() const; 79 size_t getPreferredBlockSize() const;
77 80
78 FeatureSet process(const float *const *inputBuffers, RealTime timestamp); 81 FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
79 82
80 protected: 83 protected:
81 Plugin *m_plugin;
82 size_t m_channels; 84 size_t m_channels;
83 size_t m_blockSize; 85 size_t m_blockSize;
84 float **m_freqbuf; 86 float **m_freqbuf;
85 double *m_ri; 87 double *m_ri;
86 double *m_ro; 88 double *m_ro;
90 double *ri, double *ii, double *ro, double *io); 92 double *ri, double *ii, double *ro, double *io);
91 }; 93 };
92 94
93 } 95 }
94 96
97 }
98
95 #endif 99 #endif