Chris@320: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@320: Chris@320: /* Chris@320: Sonic Visualiser Chris@320: An audio file viewer and annotation editor. Chris@320: Centre for Digital Music, Queen Mary, University of London. Chris@328: This file copyright 2006-2007 Chris Cannam and QMUL. Chris@320: Chris@320: This program is free software; you can redistribute it and/or Chris@320: modify it under the terms of the GNU General Public License as Chris@320: published by the Free Software Foundation; either version 2 of the Chris@320: License, or (at your option) any later version. See the file Chris@320: COPYING included with this distribution for more information. Chris@320: */ Chris@320: Chris@320: #include "Transform.h" Chris@320: Chris@328: #include "plugin/PluginIdentifier.h" Chris@328: Chris@332: #include "plugin/FeatureExtractionPluginFactory.h" Chris@332: Chris@328: Transform::Transform() : Chris@328: m_stepSize(0), Chris@328: m_blockSize(0), Chris@328: m_windowType(HanningWindow), Chris@328: m_sampleRate(0) Chris@320: { Chris@320: } Chris@320: Chris@320: Transform::~Transform() Chris@320: { Chris@320: } Chris@320: Chris@328: QString Chris@328: Transform::createIdentifier(QString type, QString soName, QString label, Chris@328: QString output) Chris@328: { Chris@328: QString pluginId = PluginIdentifier::createIdentifier(type, soName, label); Chris@328: return pluginId + ":" + output; Chris@328: } Chris@328: Chris@328: void Chris@328: Transform::parseIdentifier(QString identifier, Chris@328: QString &type, QString &soName, Chris@328: QString &label, QString &output) Chris@328: { Chris@328: output = identifier.section(':', 3); Chris@328: PluginIdentifier::parseIdentifier(identifier.section(':', 0, 2), Chris@328: type, soName, label); Chris@328: } Chris@328: Chris@328: Transform::Type Chris@328: Transform::getType() const Chris@328: { Chris@332: if (FeatureExtractionPluginFactory::instanceFor(getPluginIdentifier())) { Chris@332: return FeatureExtraction; Chris@332: } else { Chris@332: // We don't have an unknown/invalid return value, so always Chris@332: // return this Chris@332: return RealTimeEffect; Chris@332: } Chris@328: } Chris@328: Chris@328: QString Chris@328: Transform::getPluginIdentifier() const Chris@328: { Chris@328: return m_id.section(':', 0, 2); Chris@328: } Chris@328: Chris@328: QString Chris@328: Transform::getOutput() const Chris@328: { Chris@328: return m_id.section(':', 3); Chris@328: } Chris@328: Chris@328: void Chris@328: Transform::toXml(QTextStream &stream, QString indent, QString extraAttributes) const Chris@328: { Chris@328: Chris@328: }