00001 /* This file is part of the KDE project 00002 Copyright (C) 2005-2007 Matthias Kretz <kretz@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Lesser General Public 00006 License as published by the Free Software Foundation; either 00007 version 2.1 of the License, or (at your option) version 3, or any 00008 later version accepted by the membership of KDE e.V. (or its 00009 successor approved by the membership of KDE e.V.), Nokia Corporation 00010 (or its successors, if any) and the KDE Free Qt Foundation, which shall 00011 act as a proxy defined in Section 6 of version 3 of the license. 00012 00013 This library is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Lesser General Public License for more details. 00017 00018 You should have received a copy of the GNU Lesser General Public 00019 License along with this library. If not, see <http://www.gnu.org/licenses/>. 00020 00021 */ 00022 00023 00024 #ifndef PHONON_EFFECT_H 00025 #define PHONON_EFFECT_H 00026 00027 #include "phonondefs.h" 00028 #include <QtCore/QObject> 00029 #include "objectdescription.h" 00030 #include "medianode.h" 00031 00032 QT_BEGIN_HEADER 00033 QT_BEGIN_NAMESPACE 00034 00035 #ifndef QT_NO_PHONON_EFFECT 00036 00037 class QString; 00038 template<class T> class QList; 00039 00040 namespace Phonon 00041 { 00042 class EffectParameter; 00043 class EffectPrivate; 00044 00065 class PHONON_EXPORT Effect : public QObject, public MediaNode 00066 { 00067 Q_OBJECT 00068 K_DECLARE_PRIVATE(Effect) 00069 00070 public: 00071 ~Effect(); 00072 00073 //X enum Type { 00074 //X AudioEffect, 00075 //X VideoEffect 00076 //X }; 00077 00085 explicit Effect(const EffectDescription &description, QObject *parent = 0); 00086 00087 //X Type type() const; 00088 00093 EffectDescription description() const; 00094 00102 QList<EffectParameter> parameters() const; 00103 00104 QVariant parameterValue(const EffectParameter&) const; 00105 void setParameterValue(const EffectParameter&, const QVariant &value); 00106 00107 protected: 00108 Effect(EffectPrivate &dd, QObject *parent); 00109 }; 00110 } //namespace Phonon 00111 00112 #endif // QT_NO_EFFECT 00113 00114 QT_END_NAMESPACE 00115 QT_END_HEADER 00116 00117 // vim: sw=4 ts=4 tw=80 00118 #endif // PHONON_EFFECT_H 00119