source: trunk/src/3rdparty/phonon/ds9/volumeeffect.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.1 KB
Line 
1/* This file is part of the KDE project.
2
3Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4
5This library is free software: you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation, either version 2.1 or 3 of the License.
8
9This library is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU Lesser General Public License for more details.
13
14You should have received a copy of the GNU Lesser General Public License
15along with this library. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef PHONON_VOLUMEEFFECT_H
19#define PHONON_VOLUMEEFFECT_H
20
21#include "effect.h"
22#include <phonon/volumefaderinterface.h>
23
24QT_BEGIN_NAMESPACE
25
26#ifndef QT_NO_PHONON_VOLUMEFADEREFFECT
27
28namespace Phonon
29{
30 namespace DS9
31 {
32 class VolumeEffectFilter;
33 class VolumeEffect : public Effect, public Phonon::VolumeFaderInterface
34 {
35 Q_OBJECT
36 Q_INTERFACES(Phonon::VolumeFaderInterface)
37 public:
38 VolumeEffect(QObject *parent);
39
40 //reimplementation
41 virtual float volume() const;
42 virtual void setVolume(float);
43 virtual Phonon::VolumeFaderEffect::FadeCurve fadeCurve() const;
44 virtual void setFadeCurve(Phonon::VolumeFaderEffect::FadeCurve);
45 virtual void fadeTo(float, int);
46
47 private:
48 float m_volume;
49
50 //paramaters used to fade
51 Phonon::VolumeFaderEffect::FadeCurve m_fadeCurve;
52
53 bool m_fading; //determines if we should be fading.
54 float m_initialVolume;
55 float m_targetVolume;
56 int m_fadeDuration;
57 int m_fadeSamplePosition;
58 qreal (*m_fadeCurveFn)(const qreal, const qreal, const qreal);
59
60 //allow the filter to get access to that
61 friend class VolumeEffectFilter;
62
63 };
64 }
65}
66
67#endif //QT_NO_PHONON_VOLUMEFADEREFFECT
68
69QT_END_NAMESPACE
70
71#endif
Note: See TracBrowser for help on using the repository browser.