1
/* This file is part of the KDE project.
3
Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
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.
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.
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/>.
18
#ifndef Phonon_GSTREAMER_VOLUMEFADEREFFECT_H
19
#define Phonon_GSTREAMER_VOLUMEFADEREFFECT_H
23
#include <phonon/volumefaderinterface.h>
25
#include <QtCore/QTime>
28
#ifndef QT_NO_PHONON_VOLUMEFADEREFFECT
33
class VolumeFaderEffect : public Effect, public VolumeFaderInterface
36
Q_INTERFACES(Phonon::VolumeFaderInterface)
39
VolumeFaderEffect(Backend *backend, QObject *parent = 0);
42
GstElement* createEffectBin();
43
GstElement *audioElement() { return m_effectBin; }
47
// VolumeFaderInterface:
49
void setVolume(float volume);
50
Phonon::VolumeFaderEffect::FadeCurve fadeCurve() const;
51
void setFadeCurve(Phonon::VolumeFaderEffect::FadeCurve fadeCurve);
52
void fadeTo(float volume, int fadeTime);
54
Phonon::VolumeFaderEffect::FadeCurve m_fadeCurve;
57
float m_fadeFromVolume;
59
QTime m_fadeStartTime;
61
}} //namespace Phonon::Gstreamer
62
#endif //QT_NO_PHONON_VOLUMEFADEREFFECT
65
#endif // Phonon_GSTREAMER_VOLUMEFADEREFFECT_H