summaryrefslogtreecommitdiffstats
path: root/ksayit/Freeverb_plugin/ksayitfreeverblib.h
blob: 50bfa62db34f101adb2fd1b305b17bdaedc855c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//
// C++ Interface: ksayitfreeverblib
//
// Description: 
//
//
// Author: Robert Vogl <voglrobe@lapislazuli>, (C) 2004
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef KSAYITFREEVERBLIB_H
#define KSAYITFREEVERBLIB_H

// QT includes
#include <qobject.h>
#include <qstringlist.h>

// KDE includes
#include <ksimpleconfig.h>
#include <kapplication.h>
#include <klibloader.h>
#include <kinstance.h>

#include "ksayit_fxplugin.h"

class FreeverbPluginFactory : public KLibFactory
{
Q_OBJECT
public:
    // Consturctor
    FreeverbPluginFactory(QObject *parent=0, const char* name=0);
    
    // Destructor
    virtual ~FreeverbPluginFactory(){ delete p_instance; };
    
    QObject* createObject(QObject *parent=0, const char* name=0, 
            const char* className="QObject", 
            const QStringList &args=QStringList());        

private:
    static KInstance* p_instance;

};





class FreeverbPlugin : public FXPlugin
{
Q_OBJECT
public: 
    // Constructor
    FreeverbPlugin(QObject *parent=0, const char* name=0); //, KApplication *Appl=0);
    
    // Destructor
    ~FreeverbPlugin();    
    
    /** sets the Main application object
    */
    void setApplication(KApplication *Appl);
    
    /** returns the Name of the Plugin
    */
    QString getName_KS() const;
    
    /** returns a description of the plugin
    */
    QString getDescription_KS() const;
    
    /** shows the GUI to configure the plugin
    */
    bool showGUI_KS();
    
    /** activate the effect
    */
    long activate_KS(KArtsServer *server,
                             StereoEffectStack *fx_stack) const;
    
    /** deactivates the effect
    */
    bool deactivate_KS(StereoEffectStack *fx_stack,
                               long EffectID ) const;
                               

private:
    KApplication *m_Appl;
    KSimpleConfig *m_config;

};
    


#endif