comparison plugin/RealTimePluginFactory.h @ 60:3086ff194ea0

* More structural work on feature extraction plugin C <-> C++ adapter * Allow use of LADSPA/DSSI plugins with control outputs as feature extraction plugins (DSSI with MIDI output still to come) * Reorder labels on spectrogram status box * Minor tweaks in doc etc.
author Chris Cannam
date Mon, 27 Mar 2006 15:03:02 +0000
parents d397ea0a79f5
children 5ae5885d6ce3
comparison
equal deleted inserted replaced
59:9705a1978ecc 60:3086ff194ea0
24 24
25 #include <QString> 25 #include <QString>
26 #include <vector> 26 #include <vector>
27 27
28 class RealTimePluginInstance; 28 class RealTimePluginInstance;
29
30 class RealTimePluginDescriptor
31 {
32 public:
33 std::string name;
34 std::string label;
35 std::string maker;
36 std::string copyright;
37 std::string category;
38 bool isSynth;
39 unsigned int parameterCount;
40 unsigned int audioInputPortCount;
41 unsigned int controlOutputPortCount;
42 std::vector<std::string> controlOutputPortNames;
43 };
29 44
30 class RealTimePluginFactory 45 class RealTimePluginFactory
31 { 46 {
32 public: 47 public:
33 static RealTimePluginFactory *instance(QString pluginType); 48 static RealTimePluginFactory *instance(QString pluginType);
55 * the LADSPA implementation for details. 70 * the LADSPA implementation for details.
56 */ 71 */
57 virtual void enumeratePlugins(std::vector<QString> &list) = 0; 72 virtual void enumeratePlugins(std::vector<QString> &list) = 0;
58 73
59 /** 74 /**
75 * Get some basic information about a plugin (rapidly).
76 */
77 virtual const RealTimePluginDescriptor *getPluginDescriptor(QString identifier) const = 0;
78
79 /**
60 * Instantiate a plugin. 80 * Instantiate a plugin.
61 */ 81 */
62 virtual RealTimePluginInstance *instantiatePlugin(QString identifier, 82 virtual RealTimePluginInstance *instantiatePlugin(QString identifier,
63 int clientId, 83 int clientId,
64 int position, 84 int position,