Fix include
[kdeaccessibility.git] / ksayit / Freeverb_plugin / ksayitfreeverblib.cpp
blob18b71cf7e187c9444d7817b0160f354639abd4e6
1 //
2 // C++ Implementation: KSayItFXPlugin
3 //
4 // Description:
5 //
6 //
7 // Author: Robert Vogl <voglrobe@lapislazuli>, (C) 2004
8 //
9 // Copyright: See COPYING file that comes with this distribution
13 // QT includes
14 #include <QTextCodec>
16 // KDE includes
17 #include <kdebug.h>
18 #include <kglobal.h>
19 #include <klocale.h>
20 #include <kstandarddirs.h>
21 #include <kdemacros.h>
22 #include "kdeexportfix.h"
24 // App specific includes
25 #include "ksayitfreeverblib.h"
26 #include "freeverbsetupimpl.h"
27 #include <arts/artsmodules.h>
30 // Constructor
31 FreeverbPlugin::FreeverbPlugin(QObject *parent, const char* name, KApplication *Appl)
32 : QObject(parent, name), FXPlugin(), m_Appl(Appl)
34 m_config = new KSimpleConfig("ksayit_freeverbrc");
38 FreeverbPlugin::~FreeverbPlugin()
40 delete m_config;
43 /** returns the Name of the Plugin
45 QString FreeverbPlugin::getName_KS() const
47 return "Synth_FREEVERB";
50 /** returns a description of the plugin
52 QString FreeverbPlugin::getDescription_KS() const
54 return i18n("This is a freeverb effect.");
57 /** shows the GUI to configure the plugin
59 bool FreeverbPlugin::showGUI_KS()
61 FreeverbSetupImpl *dlg = new FreeverbSetupImpl(0, "Freeverb", true, m_config);
62 if ( !dlg ){
63 delete dlg;
64 return false;
66 dlg->exec();
67 delete dlg;
69 return true;
72 /** activate the effect
74 long FreeverbPlugin::activate_KS(KArtsServer *server,
75 StereoEffectStack *fx_stack) const
77 // kDebug(100200) << "Aktiviere Synth_FREEVERB-Effekt" << endl;
78 Synth_FREEVERB fv = DynamicCast( server->server().createObject("Arts::Synth_FREEVERB") );
79 if ( !fv.isNull() ){
80 // kDebug(100200) << "Filter angelegt" << endl;
81 // get filter parameter
82 m_config->setGroup("Synth_FREEVERB");
83 fv.roomsize( m_config->readDoubleNumEntry("roomsize", 50.0)/100.0 );
84 fv.damp ( m_config->readDoubleNumEntry("damp", 50.0 )/100.0 );
85 fv.wet ( m_config->readDoubleNumEntry("wet", 50.0 )/100.0 );
86 fv.dry ( m_config->readDoubleNumEntry("dry", 50.0 )/100.0 );
87 fv.width ( m_config->readDoubleNumEntry("width", 50.0 )/100.0 );
89 fv.start();
90 return fx_stack->insertBottom( fv, "Freeverb" );
92 return 0;
95 /** deactivates the effect
97 bool FreeverbPlugin::deactivate_KS(StereoEffectStack *fx_stack,
98 long EffectID ) const
100 // kDebug(100200) << "Deaktiviere Synth_FREEVERB-Effekt" << endl;
101 if (EffectID!=0){
102 fx_stack->remove(EffectID);
104 return true;
108 // The class factories
109 extern "C"
111 KDE_EXPORT FXPlugin* createPlugin(KApplication *Appl)
113 return new FreeverbPlugin(0, "freeverb_plugin", Appl);
115 KDE_EXPORT void destroyPlugin(FXPlugin* p)
117 delete p;
133 #include "ksayitfreeverblib.moc"