voicerecorder/RecViewSrc/CVRTonePlayer.cpp
changeset 14 94f223449c91
parent 1 8434d5964e15
--- a/voicerecorder/RecViewSrc/CVRTonePlayer.cpp	Mon Jan 18 20:21:38 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,254 +0,0 @@
-/*
-* Copyright (c) 2005 - 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:  Class that handles playback of tones in VoiceRec application
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <avkon.hrh>
-#include <aknappui.h>
-#include <AudioPreference.h>
-#include <aknsoundsystem.h>
-#include <aknSoundinfo.h>
-
-#include "CVRTonePlayer.h"
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::CVRTonePlayer
-// 
-// ---------------------------------------------------------------------------
-//
-CVRTonePlayer::CVRTonePlayer()
-	: iState( EVRToneIdle )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CVRTonePlayer::ConstructL()
-    {
-    iPlayer = CMdaAudioToneUtility::NewL( *this );
-    
-    iSoundSystem = ( static_cast< CAknAppUi* >(
-						CEikonEnv::Static()->EikAppUi() )->KeySounds() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::NewL
-// 
-// ---------------------------------------------------------------------------
-//
-CVRTonePlayer* CVRTonePlayer::NewL()
-    {
-    CVRTonePlayer* self = new ( ELeave ) CVRTonePlayer;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::~CVRTonePlayer
-// 
-// ---------------------------------------------------------------------------
-//
-CVRTonePlayer::~CVRTonePlayer()
-    {
-    if ( iPlayer )
-        {
-        switch ( iPlayer->State() )
-            {
-            case EMdaAudioToneUtilityNotReady:
-                {
-                iPlayer->CancelPrepare();
-                break;
-                }
-            case EMdaAudioToneUtilityPlaying:
-                {
-                iPlayer->CancelPlay();
-                break;
-                }           
-            }
-        }
-    delete iPlayer;
-    
-    // if tone play is not finished before, finish waitloop
-    if ( iShedulerWait.IsStarted() )
-		{
-		iShedulerWait.AsyncStop();
-		}		
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::PrepareToneL
-// Starts preparing the specified tone, preparing completes with call-back to
-// MatoPrepareComplete
-// ---------------------------------------------------------------------------
-//
-void CVRTonePlayer::PrepareToneL( TInt aToneId )
-    {
-	if ( iState != EVRToneIdle )
-		{
-		iQueuedTone = aToneId;
-		return;
-		}
-
-	// Retrieve the tone
-	CAknSoundInfo* info = CAknSoundInfo::NewL();
-	CleanupStack::PushL( info );
-	User::LeaveIfError( iSoundSystem->RequestSoundInfoL(
-					                  aToneId, *info ) );
-    
-    iPreparedTone = aToneId;
-    iState = EVRTonePreparing;
-    
-    iPlayer->PrepareToPlayDesSequence( *info->iSequence );
-    CleanupStack::PopAndDestroy( info );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::PrepareTone
-// Non-leaving version of PrepareToneL
-// ---------------------------------------------------------------------------
-//
-void CVRTonePlayer::PrepareTone( TInt aToneId )
-    {
-    TRAP_IGNORE( PrepareToneL( aToneId ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::PlayTone
-// Starts playback of specified tone. Completes with call-back to
-// MatoPlayComplete
-// ---------------------------------------------------------------------------
-//
-void CVRTonePlayer::PlayTone( TInt aToneId )
-    {
-    if ( iState != EVRToneIdle || iPreparedTone != aToneId || 
-        iPlayer->State() == EMdaAudioToneUtilityPlaying )
-    	{
-    	// Preparing an unprepared tone synchronously is not supported,
-    	// tone playback is skipped
-    	return;
-    	}
-    
-    // Preferences need to be set according to tone
-    switch( aToneId )
-    	{
-    	case EAvkonSIDVoiceRecordingStartTone:
-    		{
-    		iPlayer->SetPriority( KAudioPriorityRecording,
-    			TMdaPriorityPreference( KAudioPrefVoiceRecStart ) );
-			break;	    		
-    		}    
-    	case EAvkonSIDVoiceRecordingStopTone:
-    		{
-    		iPlayer->SetPriority( KAudioPriorityRecording,
-    			TMdaPriorityPreference( KAudioPrefVoiceRecStop ) );    		
-			break;    	    		    			
-    		}
-    	default:
-    		{
-    		break;
-    		}
-		}
- 
-    iState = EVRTonePlaying;
-    
-    iPlayer->Play();
-    
-    // Do not continue until start tone play is finished
-    if( aToneId == EAvkonSIDVoiceRecordingStartTone )
-	    {
-#ifdef _DEBUG
-	    RDebug::Print( _L("VoiceRecorder: Waiting for Start tone play complete") );
-#endif	
-	    iShedulerWait.Start();
-	    }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::MatoPrepareComplete
-// 
-// ---------------------------------------------------------------------------
-//
-void CVRTonePlayer::MatoPrepareComplete(TInt aError)
-	{
-	if ( aError )
-		{
-		iPreparedTone = 0;
-		}
-
-	iState = EVRToneIdle;
-
-	// Prepare the next tone in queue
-	if ( iQueuedTone )
-		{
-		TRAP_IGNORE( PrepareToneL( iQueuedTone ) );
-		iQueuedTone = 0;
-		}
-	}
-	
-
-
-// ---------------------------------------------------------------------------
-// CVRTonePlayer::MatoPlayComplete
-// 
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-void CVRTonePlayer::MatoPlayComplete(TInt aError )
-    {
-	RDebug::Print( _L("VoiceRecorder: Tone %d played, error %d"), 
-			iPreparedTone, aError );
-#else
-void CVRTonePlayer::MatoPlayComplete(TInt /*aError*/ )
-    {
-#endif    	
-
-	iState = EVRToneIdle;
-
-	// Prepare the next tone in queue
-	if ( iQueuedTone )
-		{
-		TRAP_IGNORE( PrepareToneL( iQueuedTone ) );
-		iQueuedTone = 0;
-		}
-	
-	// Started only for start-tone	
-	if ( iShedulerWait.IsStarted() )
-		{
-#ifdef _DEBUG
-	    RDebug::Print( _L("VoiceRecorder: Start tone play completed -> Recording started") );
-#endif		
-		// Start tone played -> Recording can be started
-		iShedulerWait.AsyncStop();
-		}	
-			
-	}