annotate plugin/DSSIPluginFactory.h @ 0:da6937383da8

initial import
author Chris Cannam
date Tue, 10 Jan 2006 16:33:16 +0000
parents
children d86891498eef
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@0 5 Chris Cannam, Queen Mary University of London, 2005
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@0 13 This file copyright 2000-2005 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@0 48 #ifdef HAVE_LIBLRDF
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