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@328
|
20 Transform::Transform() :
|
Chris@328
|
21 m_stepSize(0),
|
Chris@328
|
22 m_blockSize(0),
|
Chris@328
|
23 m_windowType(HanningWindow),
|
Chris@328
|
24 m_sampleRate(0)
|
Chris@320
|
25 {
|
Chris@320
|
26 }
|
Chris@320
|
27
|
Chris@320
|
28 Transform::~Transform()
|
Chris@320
|
29 {
|
Chris@320
|
30 }
|
Chris@320
|
31
|
Chris@328
|
32 QString
|
Chris@328
|
33 Transform::createIdentifier(QString type, QString soName, QString label,
|
Chris@328
|
34 QString output)
|
Chris@328
|
35 {
|
Chris@328
|
36 QString pluginId = PluginIdentifier::createIdentifier(type, soName, label);
|
Chris@328
|
37 return pluginId + ":" + output;
|
Chris@328
|
38 }
|
Chris@328
|
39
|
Chris@328
|
40 void
|
Chris@328
|
41 Transform::parseIdentifier(QString identifier,
|
Chris@328
|
42 QString &type, QString &soName,
|
Chris@328
|
43 QString &label, QString &output)
|
Chris@328
|
44 {
|
Chris@328
|
45 output = identifier.section(':', 3);
|
Chris@328
|
46 PluginIdentifier::parseIdentifier(identifier.section(':', 0, 2),
|
Chris@328
|
47 type, soName, label);
|
Chris@328
|
48 }
|
Chris@328
|
49
|
Chris@328
|
50 Transform::Type
|
Chris@328
|
51 Transform::getType() const
|
Chris@328
|
52 {
|
Chris@328
|
53 QString type, soName, label, output;
|
Chris@328
|
54 parseIdentifier(m_id, type, soName, label, output);
|
Chris@328
|
55 if (type == "vamp") return FeatureExtraction; //!!! lousy
|
Chris@328
|
56 else return RealTimeEffect;
|
Chris@328
|
57 }
|
Chris@328
|
58
|
Chris@328
|
59 QString
|
Chris@328
|
60 Transform::getPluginIdentifier() const
|
Chris@328
|
61 {
|
Chris@328
|
62 return m_id.section(':', 0, 2);
|
Chris@328
|
63 }
|
Chris@328
|
64
|
Chris@328
|
65 QString
|
Chris@328
|
66 Transform::getOutput() const
|
Chris@328
|
67 {
|
Chris@328
|
68 return m_id.section(':', 3);
|
Chris@328
|
69 }
|
Chris@328
|
70
|
Chris@328
|
71 void
|
Chris@328
|
72 Transform::toXml(QTextStream &stream, QString indent, QString extraAttributes) const
|
Chris@328
|
73 {
|
Chris@328
|
74
|
Chris@328
|
75 }
|