diff options
Diffstat (limited to 'muse_qt4_evolution/muse/auxplugin.h')
-rw-r--r-- | muse_qt4_evolution/muse/auxplugin.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/muse_qt4_evolution/muse/auxplugin.h b/muse_qt4_evolution/muse/auxplugin.h new file mode 100644 index 00000000..cb9c2e4e --- /dev/null +++ b/muse_qt4_evolution/muse/auxplugin.h @@ -0,0 +1,84 @@ +//============================================================================= +// MusE +// Linux Music Editor +// $Id:$ +// +// Copyright (C) 2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= + +#ifndef __AUXPLUGIN_H__ +#define __AUXPLUGIN_H__ + +#include "globaldefs.h" +#include "plugin.h" + +//--------------------------------------------------------- +// AuxPlugin +//--------------------------------------------------------- + +class AuxPlugin : public Plugin { + + public: + AuxPlugin(); + + virtual QString label() const { return "Aux"; } + virtual QString name() const { return "Aux"; } + virtual unsigned long id() const { return 0; } + virtual QString maker() const { return ""; } + virtual QString copyright() const { return ""; } + + void* instantiate() { return 0; } + virtual void range(int i, double*, double*) const; + virtual int parameter() const { return 2; } + virtual int inports() const { return 100; } + virtual int outports() const { return 100; } + + virtual bool inPlaceCapable() const { return true; } + virtual PluginIF* createPIF(PluginI*); + + virtual bool isLog(int k) const; + virtual bool isBool(int k) const; + virtual bool isInt(int k) const; + virtual double defaultValue(int) const; + }; + +//--------------------------------------------------------- +// AuxPluginIF +//--------------------------------------------------------- + +class AuxPluginIF : public PluginIF { + double volume; + double pan; + float* _buffer[MAX_CHANNELS]; // this buffer is filled by apply() + // _volume and _pan is applied + + public: + AuxPluginIF(PluginI* pi); + virtual ~AuxPluginIF(); + + virtual void apply(unsigned nframes, float** src, float** dst); + virtual void activate() {} + virtual void deactivate() {} + virtual void cleanup() {} + virtual const char* getParameterName(int i) const; + virtual void setParam(int i, double val); + virtual float param(int i) const; + bool init(Plugin*); + float** buffer() { return _buffer; } + int channel() const { return pluginInstance()->channel(); } + }; + +extern AuxPlugin* auxPlugin; +#endif |