source: trunk/src/3rdparty/phonon/mmf/stereowidening.cpp

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

trunk: Merged in qt 4.6.2 sources.

File size: 2.8 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
19#include <StereoWideningBase.h>
20#include "stereowidening.h"
21
22QT_BEGIN_NAMESPACE
23
24using namespace Phonon;
25using namespace Phonon::MMF;
26
27// Define functions which depend on concrete native effect class name
28PHONON_MMF_DEFINE_EFFECT_FUNCTIONS(StereoWidening)
29
30/*! \class MMF::StereoWidening
31 \internal
32*/
33
34StereoWidening::StereoWidening(QObject *parent, const QList<EffectParameter>& parameters)
35 : AbstractAudioEffect::AbstractAudioEffect(parent, parameters)
36{
37
38}
39
40int StereoWidening::parameterChanged(const EffectParameter &param,
41 const QVariant &value)
42{
43 Q_ASSERT_X(param.id() == ParameterBase, Q_FUNC_INFO, "Invalid parameter ID");
44
45 const qreal externalLevel = value.toReal();
46 const int internalLevel = param.toInternalValue(externalLevel);
47
48 TRAPD(err, concreteEffect()->SetStereoWideningLevelL(internalLevel));
49
50 return err;
51}
52
53//-----------------------------------------------------------------------------
54// Static functions
55//-----------------------------------------------------------------------------
56
57const char* StereoWidening::description()
58{
59 return "Stereo widening";
60}
61
62bool StereoWidening::getParameters(CMdaAudioOutputStream *stream,
63 QList<EffectParameter> &parameters)
64{
65 bool supported = false;
66
67 QScopedPointer<CStereoWidening> effect;
68 TRAPD(err, effect.reset(CStereoWidening::NewL(*stream)));
69
70 if (KErrNone == err) {
71 supported = true;
72
73 const qreal defaultValue =
74 Phonon::MMF::EffectParameter::toExternalValue
75 (effect->StereoWideningLevel(), 0, 100);
76
77 EffectParameter param(
78 /* parameterId */ ParameterBase,
79 /* name */ tr("Level (%)"),
80 /* hints */ EffectParameter::IntegerHint,
81 /* defaultValue */ QVariant(defaultValue),
82 /* minimumValue */ QVariant(qreal(-1.0)),
83 /* maximumValue */ QVariant(qreal(+1.0)));
84
85 param.setInternalRange(0, 100);
86 parameters.append(param);
87 }
88
89 return supported;
90}
91
92QT_END_NAMESPACE
93
Note: See TracBrowser for help on using the repository browser.