foreach( QObject *couldBeFilter, QPluginLoader::staticInstances() ) { FilterInterface *filter = qobject_cast<FilterInterface*>( couldBeFilter ); if( filter ) { filters[ filter->name() ] = filter; ui.filterList->addItem( filter->name() ); } }
void SoundWindow::applyFilter(QAction *action) { FilterInterface *filter = mFiltersHash[action->data().value<QUuid>()]; qDebug() << "filter name:" << filter->name(); FilterData fd; fd.wav = *mWavDecoder; if (filter->setup(fd)) { DisplayWindow *dw = filter->apply(windowTitle()); q_check_ptr(dw)->show(); } }
float run_timing_test(FilterInterface<T> & f) { std::vector<float> timings; auto input = get_random_vector<T>(vector_size); for(unsigned i = 0; i < iterations; ++i) { auto t0 = now(); auto out = f.filter(input); auto t1 = now(); timings.push_back(delta(t1 - t0)); } // compute average of timing values float avg = 0.0f; for(auto t : timings) avg += t; avg /= static_cast<float>(timings.size()); return avg; }