Chris@49: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@0: Chris@0: /* Chris@52: Sonic Visualiser Chris@52: An audio file viewer and annotation editor. Chris@52: Centre for Digital Music, Queen Mary, University of London. Chris@0: Chris@52: This program is free software; you can redistribute it and/or Chris@52: modify it under the terms of the GNU General Public License as Chris@52: published by the Free Software Foundation; either version 2 of the Chris@52: License, or (at your option) any later version. See the file Chris@52: COPYING included with this distribution for more information. Chris@0: */ Chris@0: Chris@0: /* Chris@0: This is a modified version of a source file from the Chris@0: Rosegarden MIDI and audio sequencer and notation editor. Chris@17: This file copyright 2000-2006 Chris Cannam. Chris@0: */ Chris@0: Chris@1581: #ifndef SV_DSSI_PLUGIN_FACTORY_H Chris@1581: #define SV_DSSI_PLUGIN_FACTORY_H Chris@0: Chris@0: #define DSSI_API_LEVEL 2 Chris@0: Chris@0: #include "LADSPAPluginFactory.h" Chris@0: #include "api/dssi.h" Chris@0: Chris@0: #include Chris@0: Chris@0: class DSSIPluginInstance; Chris@0: Chris@0: class DSSIPluginFactory : public LADSPAPluginFactory Chris@0: { Chris@0: public: Chris@0: virtual ~DSSIPluginFactory(); Chris@0: Chris@1580: void enumeratePlugins(std::vector &list) override; Chris@0: Chris@1830: std::shared_ptr Chris@1830: instantiatePlugin(QString identifier, Chris@1830: int clientId, Chris@1830: int position, Chris@1830: sv_samplerate_t sampleRate, Chris@1830: int blockSize, Chris@1830: int channels) override; Chris@0: Chris@1472: static std::vector getPluginPath(); Chris@1472: Chris@0: protected: Chris@0: DSSIPluginFactory(); Chris@0: friend class RealTimePluginFactory; Chris@0: Chris@1580: PluginScan::PluginType getPluginType() const override { Chris@1180: return PluginScan::DSSIPlugin; Chris@1179: } Chris@1179: Chris@1580: std::vector getLRDFPath(QString &baseUri) override; Chris@0: Chris@1580: void discoverPluginsFrom(QString soName) override; Chris@0: Chris@1580: const LADSPA_Descriptor *getLADSPADescriptor(QString identifier) override; Chris@0: virtual const DSSI_Descriptor *getDSSIDescriptor(QString identifier); Chris@0: Chris@0: DSSI_Host_Descriptor m_hostDescriptor; Chris@0: }; Chris@0: Chris@0: #endif Chris@0: