breakdeps/mmfclienttoneplayer.h
author William Roberts <williamr@symbian.org>
Wed, 20 Oct 2010 13:07:29 +0100
changeset 126 faed561c44ed
parent 125 657f02e590f1
child 128 8338c5c25b5b
permissions -rw-r--r--
stem_MediaClientAudio.dll - work in progress mmfclienttoneplayer first attempt is done, but not tested mmfclientautioplayer hasn't really started
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
125
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     1
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     2
// All rights reserved.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     7
//
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     8
// Initial Contributors:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    10
//
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    11
// Contributors:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    12
//
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    13
// Description:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    14
//
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    15
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    16
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    17
#ifndef __MMFCLIENTTONEPLAY_H__
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    18
#define __MMFCLIENTTONEPLAY_H__
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    19
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    20
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    21
#include <e32std.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    22
#include <e32base.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    23
#include <mdaaudiotoneplayer.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    24
#include <mmf/server/sounddevice.h>
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    25
//Panic category and codes
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    26
_LIT(KMMFMdaAudioToneUtilityPanicCategory, "MMFMdaAudioToneUtility");
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    27
enum TMMFMdaAudioToneUtilityPanicCodes
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    28
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    29
	EMMFMdaAudioToneUtilityAlreadyPrepared,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    30
	EMMFMdaAudioToneUtilityBadToneConfig,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    31
	EMMFMdaAudioToneUtilityBadMixinCall
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    32
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    33
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    34
/**
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    35
Active object utility class to allow the callback to be called asynchronously.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    36
This should help prevent re-entrant code in clients of the mediaframework.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    37
*/
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    38
class CMMFMdaAudioToneObserverCallback : public CActive, public MMdaAudioToneObserver, public MMdaAudioTonePlayStartObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    39
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    40
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    41
	static CMMFMdaAudioToneObserverCallback* NewL(MMdaAudioToneObserver& aCallback, MMdaAudioTonePlayStartObserver& aPlayStartCallback);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    42
	~CMMFMdaAudioToneObserverCallback();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    43
// From MMdaAudioToneObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    44
	virtual void MatoPrepareComplete(TInt aError);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    45
	virtual void MatoPlayComplete(TInt aError);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    46
// From MMdaAudioTonePlayStartObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    47
	virtual void MatoPlayStarted(TInt aError);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    48
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    49
	CMMFMdaAudioToneObserverCallback(MMdaAudioToneObserver& aCallback, MMdaAudioTonePlayStartObserver& aPlayStartCallback);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    50
	void RunL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    51
	void DoCancel();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    52
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    53
	enum TMMFAudioToneObserverCallbackAction {EPrepareComplete, EPlayComplete, EPlayStarted};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    54
	MMdaAudioToneObserver& iCallback;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    55
	MMdaAudioTonePlayStartObserver& iPlayStartCallback; 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    56
	TMMFAudioToneObserverCallbackAction iAction;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    57
	TInt iErrorCode;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    58
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    59
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    60
class CMMFToneConfig;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    61
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    62
/**
126
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    63
Timer class used instead of actual CMMFDevSound - the interface isn't the same either!
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    64
*/
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    65
NONSHARABLE_CLASS( CDummyDevSound ) : public CTimer
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    66
	{
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    67
	public:
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    68
	static CDummyDevSound* NewL();
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    69
	
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    70
	void InitializeL(MDevSoundObserver& aDevSoundObserver);
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    71
	void RunL();
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    72
	void Play(const TTimeIntervalMicroSeconds& aDuration);
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    73
	
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    74
	private:
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    75
	CDummyDevSound();
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    76
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    77
	private:
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    78
	MDevSoundObserver* iObserver;
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    79
	};
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    80
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
    81
/**
125
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    82
Concrete implementation of the CMdaAudioToneUtility API.
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    83
@see CMdaAudioToneUtility
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    84
*/
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    85
class CMMFMdaAudioToneUtility;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    86
NONSHARABLE_CLASS( CMMFMdaAudioToneUtility ): public CBase,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    87
											  public MMdaAudioToneObserver,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    88
											  public MDevSoundObserver, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    89
											  public MMdaAudioTonePlayStartObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    90
	{
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    91
friend class CMdaAudioToneUtility;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    92
// only for testing purposes
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    93
friend class CTestStepUnitMMFAudClient;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    94
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    95
public:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    96
	static CMMFMdaAudioToneUtility* NewL(MMdaAudioToneObserver& aObserver, CMdaServer* aServer = NULL,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    97
											   TInt aPriority = EMdaPriorityNormal, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    98
											   TInt aPref = EMdaPriorityPreferenceTimeAndQuality);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
    99
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   100
	~CMMFMdaAudioToneUtility();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   101
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   102
	TMdaAudioToneUtilityState State();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   103
	TInt MaxVolume();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   104
	TInt Volume();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   105
	void SetVolume(TInt aVolume); 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   106
	void SetPriority(TInt aPriority, TInt aPref);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   107
	void SetDTMFLengths(TTimeIntervalMicroSeconds32 aToneLength, 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   108
										 TTimeIntervalMicroSeconds32 aToneOffLength,
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   109
										 TTimeIntervalMicroSeconds32 aPauseLength);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   110
	void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   111
	void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   112
	TInt FixedSequenceCount();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   113
	const TDesC& FixedSequenceName(TInt aSequenceNumber);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   114
	void PrepareToPlayTone(TInt aFrequency, const TTimeIntervalMicroSeconds& aDuration);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   115
	void PrepareToPlayDualTone(TInt aFrequencyOne, TInt aFrequencyTwo, const TTimeIntervalMicroSeconds& aDuration);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   116
	void PrepareToPlayDTMFString(const TDesC& aDTMF);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   117
	void PrepareToPlayDesSequence(const TDesC8& aSequence);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   118
	void PrepareToPlayFileSequence(const TDesC& aFileName);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   119
	void PrepareToPlayFileSequence(RFile& aFile);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   120
	void PrepareToPlayFixedSequence(TInt aSequenceNumber);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   121
	void CancelPrepare();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   122
	void Play();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   123
	void CancelPlay();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   124
	TInt Pause();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   125
	TInt Resume();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   126
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   127
	void SetBalanceL(TInt aBalance=KMMFBalanceCenter);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   128
	TInt GetBalanceL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   129
// From MMdaAudioToneObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   130
	void MatoPrepareComplete(TInt aError);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   131
	void MatoPlayComplete(TInt aError);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   132
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   133
// From DevSoundObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   134
	void InitializeComplete(TInt aError);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   135
	void ToneFinished(TInt aError); 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   136
	void BufferToBeFilled(CMMFBuffer* /*aBuffer*/) {User::Panic(KMMFMdaAudioToneUtilityPanicCategory,EMMFMdaAudioToneUtilityBadMixinCall);}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   137
	void PlayError(TInt /*aError*/)	{User::Panic(KMMFMdaAudioToneUtilityPanicCategory,EMMFMdaAudioToneUtilityBadMixinCall);}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   138
	void BufferToBeEmptied(CMMFBuffer* /*aBuffer*/)	{User::Panic(KMMFMdaAudioToneUtilityPanicCategory,EMMFMdaAudioToneUtilityBadMixinCall);} 
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   139
	void RecordError(TInt /*aError*/)	{User::Panic(KMMFMdaAudioToneUtilityPanicCategory,EMMFMdaAudioToneUtilityBadMixinCall);}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   140
	void ConvertError(TInt /*aError*/)  {User::Panic(KMMFMdaAudioToneUtilityPanicCategory,EMMFMdaAudioToneUtilityBadMixinCall);}
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   141
	void DeviceMessage(TUid /*aMessageId*/, const TDesC8& /*aMsg*/) {User::Panic(KMMFMdaAudioToneUtilityPanicCategory,EMMFMdaAudioToneUtilityBadMixinCall);}	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   142
	void SendEventToClient(const TMMFEvent& /*aEvent*/);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   143
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   144
	TAny* CustomInterface(TUid aInterfaceId);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   145
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   146
	void PlayAfterInitialized();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   147
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   148
	void RegisterPlayStartCallback(MMdaAudioTonePlayStartObserver& aObserver);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   149
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   150
// From MMdaAudioTonePlayStartObserver
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   151
	void MatoPlayStarted(TInt aError);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   152
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   153
protected:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   154
	CMMFMdaAudioToneUtility(MMdaAudioToneObserver& aCallback, TInt aPriority, TInt aPref);
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   155
	void ConstructL();
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   156
private:
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   157
	// functions to convert between MediaServer Balance and SoundDev balance
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   158
	void CalculateBalance( TInt& aBalance, TInt aLeft, TInt aRight ) const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   159
	void CalculateLeftRightBalance( TInt& aLeft, TInt& aRight, TInt aBalance ) const;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   160
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   161
private:
126
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
   162
	CDummyDevSound* iTimer;
125
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   163
	MMdaAudioToneObserver& iCallback;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   164
	CMMFMdaAudioToneObserverCallback* iAsyncCallback;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   165
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   166
	TMdaAudioToneUtilityState iState;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   167
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   168
	TMMFPrioritySettings iPrioritySettings;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   169
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   170
	TInt iInitializeState;   
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   171
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   172
	TInt iSequenceNumber;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   173
	TBool iPlayCalled;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   174
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   175
	TBool iInitialized;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   176
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   177
	MMdaAudioTonePlayStartObserver* iPlayStartObserver;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   178
	
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   179
#ifdef _DEBUG
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   180
	TBool iPlayCalledBeforeInitialized;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   181
#endif
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   182
126
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
   183
  TInt iDevSoundVolume;
faed561c44ed stem_MediaClientAudio.dll - work in progress
William Roberts <williamr@symbian.org>
parents: 125
diff changeset
   184
  TInt iDevSoundBalance;
125
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   185
	TTimeIntervalMicroSeconds iDuration;
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   186
	};
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   187
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   188
657f02e590f1 Original source files from sf/os/mm/mmlibs/mmfw, to be reworked for stem_MediaClientAudio.dll
William Roberts <williamr@symbian.org>
parents:
diff changeset
   189
#endif