annotate framework/TransformUserConfigurator.h @ 762:83ae68de4401
Return a "wrong mode" error (i.e. audio required before annotation) from open() only when looking at a document that is plausibly importable as an annotation in the first place
author |
Chris Cannam |
date |
Mon, 11 May 2020 17:29:17 +0100 |
parents |
846970dbef17 |
children |
|
rev |
line source |
Chris@205
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
Chris@205
|
2
|
Chris@205
|
3 /*
|
Chris@205
|
4 Sonic Visualiser
|
Chris@205
|
5 An audio file viewer and annotation editor.
|
Chris@205
|
6 Centre for Digital Music, Queen Mary, University of London.
|
Chris@205
|
7
|
Chris@205
|
8 This program is free software; you can redistribute it and/or
|
Chris@205
|
9 modify it under the terms of the GNU General Public License as
|
Chris@205
|
10 published by the Free Software Foundation; either version 2 of the
|
Chris@205
|
11 License, or (at your option) any later version. See the file
|
Chris@205
|
12 COPYING included with this distribution for more information.
|
Chris@205
|
13 */
|
Chris@205
|
14
|
Chris@635
|
15 #ifndef SV_TRANSFORM_USER_CONFIGURATOR_H
|
Chris@635
|
16 #define SV_TRANSFORM_USER_CONFIGURATOR_H
|
Chris@205
|
17
|
Chris@205
|
18 #include "transform/ModelTransformerFactory.h"
|
Chris@205
|
19
|
Chris@740
|
20 #include <memory>
|
Chris@740
|
21
|
Chris@205
|
22 class TransformUserConfigurator : public ModelTransformerFactory::UserConfigurator
|
Chris@205
|
23 {
|
Chris@205
|
24 public:
|
Chris@205
|
25 // This is of course absolutely gross
|
Chris@205
|
26
|
Chris@634
|
27 bool configure(ModelTransformer::Input &input,
|
Chris@685
|
28 Transform &transform,
|
Chris@740
|
29 std::shared_ptr<Vamp::PluginBase> plugin,
|
Chris@685
|
30 ModelId &inputModel,
|
Chris@685
|
31 AudioPlaySource *source,
|
Chris@685
|
32 sv_frame_t startFrame,
|
Chris@685
|
33 sv_frame_t duration,
|
Chris@685
|
34 const QMap<QString, ModelId> &modelMap,
|
Chris@685
|
35 QStringList candidateModelNames,
|
Chris@685
|
36 QString defaultModelName) override;
|
Chris@205
|
37
|
Chris@395
|
38 static void setParentWidget(QWidget *);
|
Chris@395
|
39
|
Chris@205
|
40 private:
|
Chris@205
|
41 bool getChannelRange(TransformId identifier,
|
Chris@740
|
42 std::shared_ptr<Vamp::PluginBase> plugin,
|
Chris@740
|
43 int &min, int &max);
|
Chris@205
|
44
|
Chris@205
|
45 };
|
Chris@205
|
46
|
Chris@205
|
47 #endif
|