annotate plugin/DSSIPluginFactory.h @ 1184:e5a1d815f331 3.0-integration

Merge from the default branch
author Chris Cannam
date Thu, 21 Apr 2016 15:29:30 +0100
parents 98664afd518b
children 48e9f538e6e9
rev   line source
Chris@49 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@52 4 Sonic Visualiser
Chris@52 5 An audio file viewer and annotation editor.
Chris@52 6 Centre for Digital Music, Queen Mary, University of London.
Chris@0 7
Chris@52 8 This program is free software; you can redistribute it and/or
Chris@52 9 modify it under the terms of the GNU General Public License as
Chris@52 10 published by the Free Software Foundation; either version 2 of the
Chris@52 11 License, or (at your option) any later version. See the file
Chris@52 12 COPYING included with this distribution for more information.
Chris@0 13 */
Chris@0 14
Chris@0 15 /*
Chris@0 16 This is a modified version of a source file from the
Chris@0 17 Rosegarden MIDI and audio sequencer and notation editor.
Chris@17 18 This file copyright 2000-2006 Chris Cannam.
Chris@0 19 */
Chris@0 20
Chris@0 21 #ifndef _DSSI_PLUGIN_FACTORY_H_
Chris@0 22 #define _DSSI_PLUGIN_FACTORY_H_
Chris@0 23
Chris@0 24 #define DSSI_API_LEVEL 2
Chris@0 25
Chris@0 26 #include "LADSPAPluginFactory.h"
Chris@0 27 #include "api/dssi.h"
Chris@0 28
Chris@0 29 #include <QMutex>
Chris@0 30
Chris@0 31 class DSSIPluginInstance;
Chris@0 32
Chris@0 33 class DSSIPluginFactory : public LADSPAPluginFactory
Chris@0 34 {
Chris@0 35 public:
Chris@0 36 virtual ~DSSIPluginFactory();
Chris@0 37
Chris@0 38 virtual void enumeratePlugins(std::vector<QString> &list);
Chris@0 39
Chris@0 40 virtual RealTimePluginInstance *instantiatePlugin(QString identifier,
Chris@0 41 int clientId,
Chris@0 42 int position,
Chris@1040 43 sv_samplerate_t sampleRate,
Chris@1040 44 int blockSize,
Chris@1040 45 int channels);
Chris@0 46
Chris@0 47 protected:
Chris@0 48 DSSIPluginFactory();
Chris@0 49 friend class RealTimePluginFactory;
Chris@0 50
Chris@1180 51 virtual PluginScan::PluginType getPluginType() const {
Chris@1180 52 return PluginScan::DSSIPlugin;
Chris@1179 53 }
Chris@1179 54
Chris@0 55 virtual std::vector<QString> getPluginPath();
Chris@0 56
Chris@0 57 virtual std::vector<QString> getLRDFPath(QString &baseUri);
Chris@0 58
Chris@929 59 virtual void discoverPluginsFrom(QString soName);
Chris@0 60
Chris@0 61 virtual const LADSPA_Descriptor *getLADSPADescriptor(QString identifier);
Chris@0 62 virtual const DSSI_Descriptor *getDSSIDescriptor(QString identifier);
Chris@0 63
Chris@0 64 DSSI_Host_Descriptor m_hostDescriptor;
Chris@0 65 };
Chris@0 66
Chris@0 67 #endif
Chris@0 68