2 // C++ Implementation: KSayItFXPlugin
7 // Author: Robert Vogl <voglrobe@lapislazuli>, (C) 2004
9 // Copyright: See COPYING file that comes with this distribution
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>
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()
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
);
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") );
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 );
90 return fx_stack
->insertBottom( fv
, "Freeverb" );
95 /** deactivates the effect
97 bool FreeverbPlugin::deactivate_KS(StereoEffectStack
*fx_stack
,
100 // kDebug(100200) << "Deaktiviere Synth_FREEVERB-Effekt" << endl;
102 fx_stack
->remove(EffectID
);
108 // The class factories
111 KDE_EXPORT FXPlugin
* createPlugin(KApplication
*Appl
)
113 return new FreeverbPlugin(0, "freeverb_plugin", Appl
);
115 KDE_EXPORT
void destroyPlugin(FXPlugin
* p
)
133 #include "ksayitfreeverblib.moc"