svcore  1.9
TransformDescription.h
Go to the documentation of this file.
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 
47 {
48  enum Type {
49  Analysis, // e.g. vamp plugin output
50  Effects, // e.g. ladspa plugin with audio in and out
51  EffectsData, // e.g. control output of ladspa plugin
52  Generator, // e.g. audio out of ladspa plugin with no audio in
54  };
55 
57  type(UnknownType), configurable(false) { }
58  TransformDescription(Type _type, QString _category,
59  TransformId _identifier, QString _name,
60  QString _friendlyName, QString _description,
61  QString _longDescription,
62  QString _maker, QString _units, bool _configurable) :
63  type(_type), category(_category),
64  identifier(_identifier), name(_name),
65  friendlyName(_friendlyName), description(_description),
66  longDescription(_longDescription),
67  maker(_maker), units(_units), configurable(_configurable) { }
68 
70  QString category; // e.g. time > onsets
71  TransformId identifier; // e.g. vamp:vamp-aubio:aubioonset
72  QString name; // plugin's name if 1 output, else "name: output"
73  QString friendlyName; // short text for layer name
74  QString description; // sentence describing transform
75  QString longDescription; // description "using" plugin name "by" maker
76  QString maker;
77  QString infoUrl;
78  QString units;
80 
81  bool operator<(const TransformDescription &od) const {
82  return
83  (name < od.name) ||
84  (name == od.name && identifier < od.identifier);
85  };
86 };
87 
88 typedef std::vector<TransformDescription> TransformList;
89 
90 #endif
std::vector< TransformDescription > TransformList
TransformDescription(Type _type, QString _category, TransformId _identifier, QString _name, QString _friendlyName, QString _description, QString _longDescription, QString _maker, QString _units, bool _configurable)
bool operator<(const TransformDescription &od) const
Metadata associated with a transform.
QString TransformId
Definition: Transform.h:30