mpxplugins/inc/mpxaudioeffectengine.h
changeset 0 ff3acec5bc43
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpxplugins/inc/mpxaudioeffectengine.h	Thu Dec 17 08:45:05 2009 +0200
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Audio effect engine
+*
+*/
+
+
+#ifndef _MPXAUDIOEFFECTENGINE_H_
+#define _MPXAUDIOEFFECTENGINE_H_
+#define _LOUDNESS
+//#undef _LOUDNESS
+//#define _BASSBOOST
+#undef _BASSBOOST
+#define _REVERB
+//#undef _REVERB
+#define _STEREO
+
+
+// INCLUDES
+const TInt KAudioEffectsID = 0x101FFC02;
+const TInt KEqualizerID = 0x101FFC76;
+
+// System Includes
+#include <e32base.h>
+#include <mdaaudiosampleplayer.h>
+
+#include <mpxplaybackobserver.h>
+#include "mpxaudioeffectproperties.h"
+
+// FORWARD DECLARATIONS
+class CMdaAudioPlayerUtility;
+class CEnvironmentalReverbUtility;
+class CStereoWidening;
+class CBassBoost;
+class CLoudness;
+class CAudioEqualizerUtility;
+
+class MMPXPlaybackUtility;
+class TMPXPlaybackMessage;
+
+/**
+*  Audio effect engine Class
+*
+*  @lib mpxaudioeffectengine.dll
+*  @since Series 60 3.0
+*/
+class CMPXAudioEffectEngine : public CBase
+{
+public: 
+
+    /**
+    * Two-phased constructor
+    *
+    * @param aPlayer audio player utility
+    * @return object of constructed
+    */
+	IMPORT_C static CMPXAudioEffectEngine* NewL(
+	                                    CMdaAudioPlayerUtility* aPlayer);
+	
+    /**
+    * Destructor
+    */
+	IMPORT_C ~CMPXAudioEffectEngine();
+	
+    /**
+    * Set balance
+    */
+ 	IMPORT_C void SetBalanceL();
+
+    /**
+    * Set bass boost
+    */
+	IMPORT_C void SetBassBoostL();
+
+    /**
+    * Set stero widening
+    */
+	IMPORT_C void SetStereoWideningL();
+
+    /**
+    * Set reverberation
+    */
+ 	IMPORT_C void SetReverberationL();
+
+    /**
+    * Set loundness
+    */
+    IMPORT_C void SetLoudnessL();
+
+    /**
+    * Sets the equalizer preset
+    * This function will check MPX cenrep for preset id
+    */
+    IMPORT_C void SetEqualizerL();
+    
+    /**
+     * Creates the audio effects
+     */
+    IMPORT_C void CreateAudioEffectsL();
+
+    /**
+    * Destroy audio effect objects
+    */
+    IMPORT_C void DestroyAudioEffect();
+   
+private:
+    /**
+    * C++ constructor
+    *
+    * @param aPlayer audio player utility
+    */
+	CMPXAudioEffectEngine(CMdaAudioPlayerUtility* aPlayer);
+
+    /**
+    * Second phase constructor
+    */
+    void ConstructL();
+ 
+    /**
+     *  Handle playback state changed.
+     *
+     *  @param aState New Playback state
+     */
+    void DoHandleStateChangedL(
+        TMPXPlaybackState aState );
+
+private: //Data
+	
+    CMPXAudioEffectProperties* iProp;
+    
+private:
+	CMdaAudioPlayerUtility* iMdaPlayer;  // Not owned
+	
+	CEnvironmentalReverbUtility* iReverbEffect;
+	CStereoWidening* iStereoEffect;
+	CBassBoost* iBassBoostEffect;
+	CLoudness*  iLoudnessEffect;
+	CAudioEqualizerUtility* iEqualizerEffect;
+	};
+
+#endif // _MPXAUDIOEFFECTENGINE_H_
+
+// End of File