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 }
|