1 /*****************************************************************************
2 * VLC backend for the Phonon library *
3 * Copyright (C) 2007-2008 Tanguy Krotoff <tkrotoff@gmail.com> *
4 * Copyright (C) 2008 Lukas Durfina <lukas.durfina@gmail.com> *
5 * Copyright (C) 2009 Fathi Boudra <fabo@kde.org> *
7 * This program is free software; you can redistribute it and/or *
8 * modify it under the terms of the GNU Lesser General Public *
9 * License as published by the Free Software Foundation; either *
10 * version 3 of the License, or (at your option) any later version. *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
15 * Lesser General Public License for more details. *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License along with this package; if not, write to the Free Software *
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
20 *****************************************************************************/
22 #ifndef PHONON_VLC_EFFECT_H
23 #define PHONON_VLC_EFFECT_H
26 #include "effectmanager.h"
28 #include <phonon/effectinterface.h>
29 #include <phonon/effectparameter.h>
38 class Effect : public SinkNode, public EffectInterface
41 Q_INTERFACES(Phonon::EffectInterface)
45 Effect(EffectManager *p_em, int i_effectId, QObject *p_parent);
48 void setupEffectParams();
49 QList<EffectParameter> parameters() const;
50 QVariant parameterValue(const EffectParameter & param) const;
51 void setParameterValue(const EffectParameter & param, const QVariant & newValue);
53 void connectToMediaObject(PrivateMediaObject *p_media_object);
54 void disconnectFromMediaObject(PrivateMediaObject *p_media_object);
58 EffectManager *p_effectManager;
60 EffectInfo::Type effect_type;
61 QList<Phonon::EffectParameter> parameterList;
65 } // Namespace Phonon::VLC
67 #endif // PHONON_VLC_EFFECT_H