Mercurial > hg > svcore
comparison plugin/transform/TransformDescription.h @ 329:3179d8b29336
* Another incremental Transform update
author | Chris Cannam |
---|---|
date | Tue, 06 Nov 2007 17:08:11 +0000 |
parents | |
children | d7c41483af8f 94fc0591ea43 |
comparison
equal
deleted
inserted
replaced
328:21bd032ae791 | 329:3179d8b29336 |
---|---|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ | |
2 | |
3 /* | |
4 Sonic Visualiser | |
5 An audio file viewer and annotation editor. | |
6 Centre for Digital Music, Queen Mary, University of London. | |
7 This file copyright 2006-2007 Chris Cannam and QMUL. | |
8 | |
9 This program is free software; you can redistribute it and/or | |
10 modify it under the terms of the GNU General Public License as | |
11 published by the Free Software Foundation; either version 2 of the | |
12 License, or (at your option) any later version. See the file | |
13 COPYING included with this distribution for more information. | |
14 */ | |
15 | |
16 #ifndef _TRANSFORM_DESCRIPTION_H_ | |
17 #define _TRANSFORM_DESCRIPTION_H_ | |
18 | |
19 #include "Transform.h" | |
20 | |
21 #include <QString> | |
22 | |
23 #include <vector> | |
24 | |
25 /** | |
26 * Metadata associated with a transform. | |
27 * | |
28 * The transform ID is the same as that used in the Transform class. | |
29 * It is intended to be computer-referenceable and unique within the | |
30 * application. | |
31 * | |
32 * The name is intended to be human readable. In principle it doesn't | |
33 * have to be unique, but the factory that creates these objects | |
34 * should add suffixes to ensure that it is, all the same (just to | |
35 * avoid user confusion). | |
36 * | |
37 * The friendly name is a shorter version of the name. | |
38 * | |
39 * The type is also intended to be user-readable, for use in menus. | |
40 */ | |
41 | |
42 struct TransformDescription | |
43 { | |
44 TransformDescription() { } | |
45 TransformDescription(QString _type, QString _category, | |
46 TransformId _identifier, QString _name, | |
47 QString _friendlyName, QString _description, | |
48 QString _maker, QString _units, bool _configurable) : | |
49 type(_type), category(_category), | |
50 identifier(_identifier), name(_name), | |
51 friendlyName(_friendlyName), description(_description), | |
52 maker(_maker), units(_units), configurable(_configurable) { } | |
53 | |
54 QString type; // e.g. feature extraction plugin | |
55 QString category; // e.g. time > onsets | |
56 TransformId identifier; // e.g. vamp:vamp-aubio:aubioonset | |
57 QString name; // plugin's name if 1 output, else "name: output" | |
58 QString friendlyName; // short text for layer name | |
59 QString description; // sentence describing transform | |
60 QString maker; | |
61 QString units; | |
62 bool configurable; | |
63 | |
64 bool operator<(const TransformDescription &od) const { | |
65 return (name < od.name); | |
66 }; | |
67 }; | |
68 | |
69 typedef std::vector<TransformDescription> TransformList; | |
70 | |
71 #endif |