annotate plugin/transform/Transform.cpp @ 339:ba30f4a3e3be

* Some work on correct alignment when moving panes during playback * Overhaul alignment for playback frame values (view manager now always refers to reference-timeline values, only the play source deals in playback model timeline values) * When making a selection, ensure the selection regions shown in other panes (and used for playback constraints if appropriate) are aligned correctly. This may be the coolest feature ever implemented in any program ever.
author Chris Cannam
date Thu, 22 Nov 2007 14:17:19 +0000
parents 13e5870040e6
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 }