VampFeatureList * PluginAdapterBase::Impl::vampGetRemainingFeatures(VampPluginHandle handle) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampGetRemainingFeatures(" << handle << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); if (!adapter) return 0; return adapter->getRemainingFeatures((Plugin *)handle); }
void PluginAdapterBase::Impl::vampSelectProgram(VampPluginHandle handle, unsigned int program) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampSelectProgram(" << handle << ", " << program << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); if (!adapter) return; Plugin::ProgramList &list = adapter->m_programs; ((Plugin *)handle)->selectProgram(list[program]); }
void PluginAdapterBase::Impl::vampSetParameter(VampPluginHandle handle, int param, float value) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampSetParameter(" << handle << ", " << param << ", " << value << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); if (!adapter) return; Plugin::ParameterList &list = adapter->m_parameters; ((Plugin *)handle)->setParameter(list[param].identifier, value); }
unsigned int PluginAdapterBase::Impl::vampGetOutputCount(VampPluginHandle handle) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampGetOutputCount(" << handle << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); // std::cerr << "vampGetOutputCount: handle " << handle << " -> adapter "<< adapter << std::endl; if (!adapter) return 0; return adapter->getOutputCount((Plugin *)handle); }
void PluginAdapterBase::Impl::vampCleanup(VampPluginHandle handle) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampCleanup(" << handle << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); if (!adapter) { delete ((Plugin *)handle); return; } adapter->cleanup(((Plugin *)handle)); }
VampFeatureList * PluginAdapterBase::Impl::vampProcess(VampPluginHandle handle, const float *const *inputBuffers, int sec, int nsec) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampProcess(" << handle << ", " << sec << ", " << nsec << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); if (!adapter) return 0; return adapter->process((Plugin *)handle, inputBuffers, sec, nsec); }
VampOutputDescriptor * PluginAdapterBase::Impl::vampGetOutputDescriptor(VampPluginHandle handle, unsigned int i) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampGetOutputDescriptor(" << handle << ", " << i << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); // std::cerr << "vampGetOutputDescriptor: handle " << handle << " -> adapter "<< adapter << std::endl; if (!adapter) return 0; return adapter->getOutputDescriptor((Plugin *)handle, i); }
unsigned int PluginAdapterBase::Impl::vampGetCurrentProgram(VampPluginHandle handle) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampGetCurrentProgram(" << handle << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); if (!adapter) return 0; Plugin::ProgramList &list = adapter->m_programs; std::string program = ((Plugin *)handle)->getCurrentProgram(); for (unsigned int i = 0; i < list.size(); ++i) { if (list[i] == program) return i; } return 0; }
int PluginAdapterBase::Impl::vampInitialise(VampPluginHandle handle, unsigned int channels, unsigned int stepSize, unsigned int blockSize) { #ifdef DEBUG_PLUGIN_ADAPTER std::cerr << "PluginAdapterBase::Impl::vampInitialise(" << handle << ", " << channels << ", " << stepSize << ", " << blockSize << ")" << std::endl; #endif Impl *adapter = lookupAdapter(handle); if (!adapter) return 0; bool result = ((Plugin *)handle)->initialise(channels, stepSize, blockSize); adapter->markOutputsChanged((Plugin *)handle); return result ? 1 : 0; }