source: trunk/src/3rdparty/phonon/gstreamer/effectmanager.h

Last change on this file was 2, checked in by Dmitry A. Kuminov, 17 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 2.0 KB
Line 
1/* This file is part of the KDE project.
2
3 Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4
5 This library is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 2.1 or 3 of the License.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public License
15 along with this library. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef Phonon_GSTREAMER_EFFECTMANAGER_H
19#define Phonon_GSTREAMER_EFFECTMANAGER_H
20
21#include "common.h"
22
23#include <QtCore/QObject>
24#include <QtCore/QTimer>
25#include <QtCore/QStringList>
26
27#include <gst/gst.h>
28
29QT_BEGIN_NAMESPACE
30
31namespace Phonon
32{
33namespace Gstreamer
34{
35class Backend;
36class EffectManager;
37
38class EffectInfo
39{
40public :
41 EffectInfo(const QString &name,
42 const QString &description,
43 const QString &author);
44
45 QString name() const
46 {
47 return m_name;
48 }
49 QString description() const
50 {
51 return m_description;
52 }
53 QString author() const
54 {
55 return m_author;
56 }
57 QStringList properties() const
58 {
59 return m_properties;
60 }
61 void addProperty(QString propertyName)
62 {
63 m_properties.append(propertyName);
64 }
65
66private:
67 QString m_name;
68 QString m_description;
69 QString m_author;
70 QStringList m_properties;
71};
72
73class EffectManager : public QObject
74{
75 Q_OBJECT
76public:
77 EffectManager(Backend *parent);
78 virtual ~EffectManager();
79 const QList<EffectInfo*> audioEffects() const;
80
81private:
82 Backend *m_backend;
83 QList <EffectInfo*> m_audioEffectList;
84 QList <EffectInfo*> m_visualizationList;
85};
86}
87} // namespace Phonon::Gstreamer
88
89QT_END_NAMESPACE
90
91#endif // Phonon_GSTREAMER_EFFECTMANAGER_H
Note: See TracBrowser for help on using the repository browser.