diff -r 8ce15fced3a6 -r cad71a31b7fc srsf/speechsynthesis/tsrc/testapplication/src/testappengine.cpp --- a/srsf/speechsynthesis/tsrc/testapplication/src/testappengine.cpp Thu Aug 19 09:56:14 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,397 +0,0 @@ -/* -* Copyright (c) 2005-2007 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: -* -*/ - - -// INCLUDE FILES - -#include "testappengine.h" - -#include "rubydebug.h" - - -_LIT( KText, "This is a text sample for TTS test. 1 2 3 45 End :) :-) :-("); - -// ================= MEMBER FUNCTIONS ======================= - -// ---------------------------------------------------------- -// CTestAppEngine::NewL() -// -// ---------------------------------------------------------- -// -CTestAppEngine* CTestAppEngine::NewL( CTestAppAppUi& aAppUi ) - { - RUBY_DEBUG_BLOCK( "CTestAppEngine::NewL" ); - - CTestAppEngine* self = new( ELeave ) CTestAppEngine( aAppUi ); - - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - - return self; - } - -// ---------------------------------------------------------- -// CTestAppEngine::ConstructL() -// -// ---------------------------------------------------------- -// -void CTestAppEngine::ConstructL() - { - // Add ourselves to active scheduler - CActiveScheduler::Add( this ); - } - -// ---------------------------------------------------- -// CTestAppEngine::CTestAppEngine() -// -// ---------------------------------------------------- -// -CTestAppEngine::CTestAppEngine( CTestAppAppUi& aAppUi ) : - CActive( EPriorityStandard ), - iAppUi( aAppUi ), - iVoiceIndex( -1 ), - iRate( -1 ) - { - } - -// ---------------------------------------------------- -// CTestAppEngine::~CTestAppEngine() -// Destructor -// Frees reserved resources -// ---------------------------------------------------- -// -CTestAppEngine::~CTestAppEngine() - { - Cancel(); - - iServer.Close(); - iVoices.Close(); - } - -// ---------------------------------------------------- -// CTestAppEngine::RunL -// -// ---------------------------------------------------- -// -void CTestAppEngine::RunL() - { - RUBY_DEBUG_BLOCK( "CTestAppEngine::RunL" ); - - switch ( iState ) - { - case EPriming: - - if ( iStatus == KErrNone ) - { - TRAP_IGNORE( - TTimeIntervalMicroSeconds duration = iServer.DurationL(); - iAppUi.ChangeTextL( 4, _L("Duration (ms)"), - duration.Int64() / 1000 ); - ); - - PlayL(); - } - else - { - User::Leave( iStatus.Int() ); - } - - break; - - case ESpeaking: - - if ( iStatus == KErrNone ) - { - iAppUi.ChangeTextL( 0, _L("Server: Connected") ); - iAppUi.ChangeTextL( 4, _L("Duration (ms)"), 0 ); - } - else if ( iStatus == KErrCancel ) - { - iAppUi.ChangeTextL( 0, _L("Server: Paused") ); - } - else if ( iStatus == KErrAbort ) - { - iAppUi.ChangeTextL( 0, _L("Server: Stopped") ); - } - else - { - User::Leave( iStatus.Int() ); - } - - iState = EIdle; - - break; - - default: - - break; - - } - } - -// ---------------------------------------------------- -// CTestAppEngine::DoCancel -// -// ---------------------------------------------------- -// -void CTestAppEngine::DoCancel() - { - RUBY_DEBUG0( "CTestAppEngine::DoCancel" ); - - TRAP_IGNORE( iServer.StopL() ); - } - -// ---------------------------------------------------- -// Connect to the server -// -// ---------------------------------------------------- -// -void CTestAppEngine::ConnectL() - { - User::LeaveIfError( iServer.Open() ); - - iVoice = iServer.VoiceL(); - iVolume = iServer.VolumeL(); - iRate = iServer.SpeakingRateL(); - - iAppUi.ChangeTextL( 1, iVoice.iVoiceName, iVoice.iLanguage ); - iAppUi.ChangeTextL( 2, _L("Volume"), iVolume ); - iAppUi.ChangeTextL( 3, _L("Speking Rate"), iRate ); - } - -// ---------------------------------------------------- -// Disconnect from server -// -// ---------------------------------------------------- -// -void CTestAppEngine::DisconnectL() - { - Cancel(); - - iServer.Close(); - } - -// ---------------------------------------------------- -// CTestAppEngine::InitTextL -// -// ---------------------------------------------------- -// -void CTestAppEngine::InitTextL() - { - iAppUi.ChangeTextL( 0, _L("Server: Initializing") ); - - iServer.SetVolumeL( iVolume ); - - if ( iRate > 0 && iRate <= 100 ) - { - iServer.SetSpeakingRateL( iRate ); - } - - Cancel(); - SetActive(); - iState = EPriming; - - iServer.InitialiseSynthesis( KText, iStatus ); - } - -// ---------------------------------------------------- -// CTestAppEngine::InitToTextFileL -// -// ---------------------------------------------------- -// -void CTestAppEngine::InitTextToFileL() - { - iFileName = _L("C:\\test.raw"); - - iAppUi.ChangeTextL( 0, _L("Server: Initializing") ); - - iServer.SetVolumeL( iVolume ); - iServer.SetSpeakingRateL( iRate ); - - Cancel(); - SetActive(); - iState = EPriming; - - iServer.InitialiseSynthesis( KText, iFileName, iStatus ); - } - -// ---------------------------------------------------- -// CTestAppEngine::PauseL -// -// ---------------------------------------------------- -// -void CTestAppEngine::PauseL() - { - iAppUi.ChangeTextL( 0, _L("Server: Paused") ); - iServer.PauseL(); - } - -// ---------------------------------------------------- -// CTestAppEngine::PlayL -// -// ---------------------------------------------------- -// -void CTestAppEngine::PlayL() - { - iAppUi.ChangeTextL( 0, _L("Server: Speaking") ); - - Cancel(); - SetActive(); - iState = ESpeaking; - - iServer.Synthesise( iStatus ); - } - -// ---------------------------------------------------- -// CTestAppEngine::StopL -// -// ---------------------------------------------------- -// -void CTestAppEngine::StopL() - { - iAppUi.ChangeTextL( 0, _L("Server: Stopped") ); - iServer.StopL(); - } - -// ---------------------------------------------------- -// CTestAppEngine::ChangeVoiceL -// -// ---------------------------------------------------- -// -TVoice CTestAppEngine::ChangeVoiceL() - { - if ( iVoiceIndex < 0 ) - { - FetchSupportedLanguagesAndVoicesL(); - } - - iVoiceIndex++; - - if ( iVoiceIndex >= iVoices.Count() ) - { - iVoiceIndex = 0; - } - - iVoice = iVoices[iVoiceIndex]; - - iServer.SetVoiceL( iVoice ); - - return iVoice; - } - -// ---------------------------------------------------- -// CTestAppEngine::VolumeDownL -// -// ---------------------------------------------------- -// -TInt CTestAppEngine::VolumeDownL() - { - TInt volumeStep = iServer.MaxVolumeL() / 10; - - iServer.SetVolumeL( iVolume - volumeStep ); - iVolume = iServer.VolumeL(); - - return iVolume; - } - -// ---------------------------------------------------- -// CTestAppEngine::VolumeUpL -// -// ---------------------------------------------------- -// -TInt CTestAppEngine::VolumeUpL() - { - TInt volumeStep = iServer.MaxVolumeL() / 10; - - iServer.SetVolumeL( iVolume + volumeStep ); - iVolume = iServer.VolumeL(); - - return iVolume; - } - -// ---------------------------------------------------- -// CTestAppEngine::RateUpL -// -// ---------------------------------------------------- -// -TInt CTestAppEngine::RateUpL() - { - TInt newRate = iRate + 10; - - if ( newRate > iServer.MaxSpeakingRateL() ) - { - newRate = 10; - } - - iRate = newRate; - - return iRate; - } - -// ---------------------------------------------------- -// CTestAppEngine::ChangeAudioOutputL -// -// ---------------------------------------------------- -// -void CTestAppEngine::ChangeAudioOutputL() - { - iCurrentAudioOutput++; - - if ( iCurrentAudioOutput > RSpeechSynthesis::ETtsOutputPublic ) - { - iCurrentAudioOutput = 0; - } - - iServer.SetAudioOutputL( (RSpeechSynthesis::TTtsAudioOutput) iCurrentAudioOutput ); - } - -// ---------------------------------------------------- -// CTestAppEngine::FetchSupportedLanguagesAndVoicesL -// -// ---------------------------------------------------- -// -void CTestAppEngine::FetchSupportedLanguagesAndVoicesL() - { - RArray languages; - RArray voices; - - iServer.GetLanguagesL( languages ); - - for ( TInt i( 0 ); i < languages.Count(); i++ ) - { - if ( languages[i] > 0 ) - { - RUBY_DEBUG1( "%d", languages[i] ); - - voices.Reset(); - iServer.GetVoicesL( voices, languages[i] ); - - for ( TInt j( 0 ); j < voices.Count(); j++ ) - { - RUBY_DEBUG1( "%S", &voices[j].iVoiceName ); - - iVoices.AppendL( voices[j] ); - } - } - } - - voices.Close(); - languages.Close(); - } - -// End of File