comparison transform/TransformFactory.cpp @ 1047:26cf6d5251ec cxx11

Further dedicated-types fixes
author Chris Cannam
date Tue, 10 Mar 2015 17:02:52 +0000
parents b14064bd1f97
children 205250c5d2a2 afed8be79032
comparison
equal deleted inserted replaced
1046:2f49be7d4264 1047:26cf6d5251ec
748 cerr << "populateUninstalledTransforms exiting" << endl; 748 cerr << "populateUninstalledTransforms exiting" << endl;
749 #endif 749 #endif
750 } 750 }
751 751
752 Transform 752 Transform
753 TransformFactory::getDefaultTransformFor(TransformId id, int rate) 753 TransformFactory::getDefaultTransformFor(TransformId id, sv_samplerate_t rate)
754 { 754 {
755 Transform t; 755 Transform t;
756 t.setIdentifier(id); 756 t.setIdentifier(id);
757 if (rate != 0) t.setSampleRate(float(rate)); 757 if (rate != 0) t.setSampleRate(rate);
758 758
759 Vamp::PluginBase *plugin = instantiateDefaultPluginFor(id, rate); 759 Vamp::PluginBase *plugin = instantiateDefaultPluginFor(id, rate);
760 760
761 if (plugin) { 761 if (plugin) {
762 t.setPluginVersion(QString("%1").arg(plugin->getPluginVersion())); 762 t.setPluginVersion(QString("%1").arg(plugin->getPluginVersion()));
770 770
771 Vamp::PluginBase * 771 Vamp::PluginBase *
772 TransformFactory::instantiatePluginFor(const Transform &transform) 772 TransformFactory::instantiatePluginFor(const Transform &transform)
773 { 773 {
774 Vamp::PluginBase *plugin = instantiateDefaultPluginFor 774 Vamp::PluginBase *plugin = instantiateDefaultPluginFor
775 (transform.getIdentifier(), int(lrintf(transform.getSampleRate()))); 775 (transform.getIdentifier(), transform.getSampleRate());
776 776
777 if (plugin) { 777 if (plugin) {
778 setPluginParameters(transform, plugin); 778 setPluginParameters(transform, plugin);
779 } 779 }
780 780
781 return plugin; 781 return plugin;
782 } 782 }
783 783
784 Vamp::PluginBase * 784 Vamp::PluginBase *
785 TransformFactory::instantiateDefaultPluginFor(TransformId identifier, int rate) 785 TransformFactory::instantiateDefaultPluginFor(TransformId identifier,
786 sv_samplerate_t rate)
786 { 787 {
787 Transform t; 788 Transform t;
788 t.setIdentifier(identifier); 789 t.setIdentifier(identifier);
789 if (rate == 0) rate = 44100; 790 if (rate == 0) rate = 44100.0;
790 QString pluginId = t.getPluginIdentifier(); 791 QString pluginId = t.getPluginIdentifier();
791 792
792 Vamp::PluginBase *plugin = 0; 793 Vamp::PluginBase *plugin = 0;
793 794
794 if (t.getType() == Transform::FeatureExtraction) { 795 if (t.getType() == Transform::FeatureExtraction) {
795 796
796 FeatureExtractionPluginFactory *factory = 797 FeatureExtractionPluginFactory *factory =
797 FeatureExtractionPluginFactory::instanceFor(pluginId); 798 FeatureExtractionPluginFactory::instanceFor(pluginId);
798 799
799 if (factory) { 800 if (factory) {
800 plugin = factory->instantiatePlugin(pluginId, float(rate)); 801 plugin = factory->instantiatePlugin(pluginId, rate);
801 } 802 }
802 803
803 } else { 804 } else {
804 805
805 RealTimePluginFactory *factory = 806 RealTimePluginFactory *factory =