annotate plugin/transform/Transform.cpp @ 332:13e5870040e6

* some tidying, and put some actual work in TransformFactory
author Chris Cannam
date Wed, 07 Nov 2007 14:53:12 +0000
parents 21bd032ae791
children d7c41483af8f 94fc0591ea43
rev   line source
Chris@320 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@320 2
Chris@320 3 /*
Chris@320 4 Sonic Visualiser
Chris@320 5 An audio file viewer and annotation editor.
Chris@320 6 Centre for Digital Music, Queen Mary, University of London.
Chris@328 7 This file copyright 2006-2007 Chris Cannam and QMUL.
Chris@320 8
Chris@320 9 This program is free software; you can redistribute it and/or
Chris@320 10 modify it under the terms of the GNU General Public License as
Chris@320 11 published by the Free Software Foundation; either version 2 of the
Chris@320 12 License, or (at your option) any later version. See the file
Chris@320 13 COPYING included with this distribution for more information.
Chris@320 14 */
Chris@320 15
Chris@320 16 #include "Transform.h"
Chris@320 17
Chris@328 18 #include "plugin/PluginIdentifier.h"
Chris@328 19
Chris@332 20 #include "plugin/FeatureExtractionPluginFactory.h"
Chris@332 21
Chris@328 22 Transform::Transform() :
Chris@328 23 m_stepSize(0),
Chris@328 24 m_blockSize(0),
Chris@328 25 m_windowType(HanningWindow),
Chris@328 26 m_sampleRate(0)
Chris@320 27 {
Chris@320 28 }
Chris@320 29
Chris@320 30 Transform::~Transform()
Chris@320 31 {
Chris@320 32 }
Chris@320 33
Chris@328 34 QString
Chris@328 35 Transform::createIdentifier(QString type, QString soName, QString label,
Chris@328 36 QString output)
Chris@328 37 {
Chris@328 38 QString pluginId = PluginIdentifier::createIdentifier(type, soName, label);
Chris@328 39 return pluginId + ":" + output;
Chris@328 40 }
Chris@328 41
Chris@328 42 void
Chris@328 43 Transform::parseIdentifier(QString identifier,
Chris@328 44 QString &type, QString &soName,
Chris@328 45 QString &label, QString &output)
Chris@328 46 {
Chris@328 47 output = identifier.section(':', 3);
Chris@328 48 PluginIdentifier::parseIdentifier(identifier.section(':', 0, 2),
Chris@328 49 type, soName, label);
Chris@328 50 }
Chris@328 51
Chris@328 52 Transform::Type
Chris@328 53 Transform::getType() const
Chris@328 54 {
Chris@332 55 if (FeatureExtractionPluginFactory::instanceFor(getPluginIdentifier())) {
Chris@332 56 return FeatureExtraction;
Chris@332 57 } else {
Chris@332 58 // We don't have an unknown/invalid return value, so always
Chris@332 59 // return this
Chris@332 60 return RealTimeEffect;
Chris@332 61 }
Chris@328 62 }
Chris@328 63
Chris@328 64 QString
Chris@328 65 Transform::getPluginIdentifier() const
Chris@328 66 {
Chris@328 67 return m_id.section(':', 0, 2);
Chris@328 68 }
Chris@328 69
Chris@328 70 QString
Chris@328 71 Transform::getOutput() const
Chris@328 72 {
Chris@328 73 return m_id.section(':', 3);
Chris@328 74 }
Chris@328 75
Chris@328 76 void
Chris@328 77 Transform::toXml(QTextStream &stream, QString indent, QString extraAttributes) const
Chris@328 78 {
Chris@328 79
Chris@328 80 }