comparison plugin/DSSIPluginFactory.h @ 0:da6937383da8

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