annotate plugin/DSSIPluginFactory.h @ 41:2b6412c1e724

* Further MainWindow -> Document refactoring
author Chris Cannam
date Wed, 08 Mar 2006 12:38:28 +0000
parents 0164c8d3023b
children 39ae3dee27b9
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 A waveform viewer and audio annotation editor.
Chris@2 5 Chris Cannam, Queen Mary University of London, 2005-2006
Chris@0 6
Chris@0 7 This is experimental software. Not for distribution.
Chris@0 8 */
Chris@0 9
Chris@0 10 /*
Chris@0 11 This is a modified version of a source file from the
Chris@0 12 Rosegarden MIDI and audio sequencer and notation editor.
Chris@17 13 This file copyright 2000-2006 Chris Cannam.
Chris@0 14 */
Chris@0 15
Chris@0 16 #ifndef _DSSI_PLUGIN_FACTORY_H_
Chris@0 17 #define _DSSI_PLUGIN_FACTORY_H_
Chris@0 18
Chris@0 19 #define DSSI_API_LEVEL 2
Chris@0 20
Chris@0 21 #include "LADSPAPluginFactory.h"
Chris@0 22 #include "api/dssi.h"
Chris@0 23
Chris@0 24 #include <QMutex>
Chris@0 25
Chris@0 26 class DSSIPluginInstance;
Chris@0 27
Chris@0 28 class DSSIPluginFactory : public LADSPAPluginFactory
Chris@0 29 {
Chris@0 30 public:
Chris@0 31 virtual ~DSSIPluginFactory();
Chris@0 32
Chris@0 33 virtual void enumeratePlugins(std::vector<QString> &list);
Chris@0 34
Chris@0 35 virtual RealTimePluginInstance *instantiatePlugin(QString identifier,
Chris@0 36 int clientId,
Chris@0 37 int position,
Chris@0 38 unsigned int sampleRate,
Chris@0 39 unsigned int blockSize,
Chris@0 40 unsigned int channels);
Chris@0 41
Chris@0 42 protected:
Chris@0 43 DSSIPluginFactory();
Chris@0 44 friend class RealTimePluginFactory;
Chris@0 45
Chris@0 46 virtual std::vector<QString> getPluginPath();
Chris@0 47
Chris@35 48 #ifdef HAVE_LRDF
Chris@0 49 virtual std::vector<QString> getLRDFPath(QString &baseUri);
Chris@0 50 #endif
Chris@0 51
Chris@0 52 virtual void discoverPlugins(QString soName);
Chris@0 53
Chris@0 54 virtual const LADSPA_Descriptor *getLADSPADescriptor(QString identifier);
Chris@0 55 virtual const DSSI_Descriptor *getDSSIDescriptor(QString identifier);
Chris@0 56
Chris@0 57 DSSI_Host_Descriptor m_hostDescriptor;
Chris@0 58 };
Chris@0 59
Chris@0 60 #endif
Chris@0 61