svapp  1.9
TransformUserConfigurator.h
Go to the documentation of this file.
00001 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
00002 
00003 /*
00004     Sonic Visualiser
00005     An audio file viewer and annotation editor.
00006     Centre for Digital Music, Queen Mary, University of London.
00007     
00008     This program is free software; you can redistribute it and/or
00009     modify it under the terms of the GNU General Public License as
00010     published by the Free Software Foundation; either version 2 of the
00011     License, or (at your option) any later version.  See the file
00012     COPYING included with this distribution for more information.
00013 */
00014 
00015 #ifndef _TRANSFORM_USER_CONFIGURATOR_H_
00016 #define _TRANSFORM_USER_CONFIGURATOR_H_
00017 
00018 #include "transform/ModelTransformerFactory.h"
00019 
00020 class TransformUserConfigurator : public ModelTransformerFactory::UserConfigurator
00021 {
00022 public:
00023     // This is of course absolutely gross
00024 
00025     virtual bool configure(ModelTransformer::Input &input,
00026                            Transform &transform,
00027                            Vamp::PluginBase *plugin,
00028                            Model *&inputModel,
00029                            AudioPlaySource *source,
00030                            int startFrame,
00031                            int duration,
00032                            const QMap<QString, Model *> &modelMap,
00033                            QStringList candidateModelNames,
00034                            QString defaultModelName);
00035 
00036     static void setParentWidget(QWidget *);
00037 
00038 private:
00039     bool getChannelRange(TransformId identifier,
00040                          Vamp::PluginBase *plugin, int &min, int &max);
00041 
00042 };
00043 
00044 #endif