/*
* Copyright (c) 2004 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: Effects console test implementation
*
*/
#include "EffectConsoleTest.h"
_LIT(KNewLine,"\n");
//////////////////////////////////////////////////////////////////////////////
//
// -----> CmyActiveScheduler (implementation)
//
//////////////////////////////////////////////////////////////////////////////
void CmyActiveScheduler::Error(TInt aError) const
{
_LIT(KMsgSchedErr,"CmyActiveScheduler-error");
User::Panic(KMsgSchedErr,aError);
}
//////////////////////////////////////////////////////////////////////////////
//
// -----> CActiveConsole (implementation)
//
//////////////////////////////////////////////////////////////////////////////
CActiveConsole::CActiveConsole( CConsoleBase* aConsole)
: CActive(CActive::EPriorityStandard)
// Construct high-priority active object
{
iConsole = aConsole;
}
void CActiveConsole::ConstructL()
{
// Add to active scheduler
CActiveScheduler::Add(this);
}
CActiveConsole::~CActiveConsole()
{
// Make sure we're cancelled
Cancel();
}
void CActiveConsole::DoCancel()
{
iConsole->ReadCancel();
}
void CActiveConsole::RunL()
{
// Handle completed request
ProcessKeyPress(TChar(iConsole->KeyCode()));
}
void CActiveConsole::RequestCharacter()
{
// A request is issued to the CConsoleBase to accept a
// character from the keyboard.
iConsole->Read(iStatus);
SetActive();
}
//////////////////////////////////////////////////////////////////////////////
//
// -----> CWriteKeyProcessor (implementation)
//
//////////////////////////////////////////////////////////////////////////////
CConsoleTest::CConsoleTest(CConsoleBase* aConsole)
: CActiveConsole(aConsole),
iMenu(EMain)
{
iEqualizer = NULL;
iEnvironmentalReverb = NULL;
iStereoWidening = NULL;
iInitStatus = -1;
};
CConsoleTest::~CConsoleTest()
{
RDebug::Print(_L("CConsoleTest::~CConsoleTest\n"));
// Make sure we're cancelled
Cancel();
delete iPlayerAudioEqualizer;
delete iPlayerEnvironmentalReverb;
delete iPlayerStereoWidening;
delete iRecorderAudioEqualizer;
delete iRecorderEnvironmentalReverb;
delete iRecorderStereoWidening;
delete iCIUtility;
delete iAudioPlayer;
delete iAudioRecorder;
delete iAudioConverter;
iGoodData.Close();
iBadData.Close();
iFs.Close();
}
void CConsoleTest::ConstructL()
{
User::LeaveIfError(iFs.Connect());
iAudioPlayer = CMdaAudioPlayerUtility::NewFilePlayerL(KAMRTestFile, *this);
//iAudioRecorder = CMdaAudioRecorderUtility::NewL(*this);
//iAudioConverter = CMdaAudioConvertUtility::NewL(*this);
//iAudioPlayer->OpenFileL(KWAVTestFile);
// Add to active scheduler
CActiveScheduler::Add(this);
InitializeTestData();
}
CConsoleTest* CConsoleTest::NewLC(CConsoleBase* aConsole)
{
CConsoleTest* self=new (ELeave) CConsoleTest(aConsole);
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
CConsoleTest* CConsoleTest::NewL(CConsoleBase* aConsole)
{
CConsoleTest* self=NewLC(aConsole);
CleanupStack::Pop();
return self;
}
void CConsoleTest::ProcessKeyPress(TChar aChar)
{
// iConsole->Printf(_L("You pressed: %d\n"), (TUint) aChar);
// if key is ESC
// cancel any outstanding request
// stop the scheduler
TInt err(KErrNone);
#ifdef __WINS__
if (aChar == EKeyEscape)
#else
if (aChar == ' ')
#endif
{
Cancel();
CActiveScheduler::Stop();
return;
}
if (aChar == EKeyEnter)
{
iConsole->Printf(KNewLine);
// Issue another request
RequestCharacter();
return;
}
#ifdef __WINS__
if (aChar == '?')
#else
if (aChar == '7')
#endif
{
ShowMenu();
// Issue another request
RequestCharacter();
return;
}
switch (iMenu)
{
case EMain:
ProcessMain(aChar);
break;
case EPlay:
TRAP(err,ProcessPlayL(aChar));
break;
case ERecord:
//ProcessRecord(aChar);
break;
case EEqualizer:
TRAP(err,ProcessEqualizerL(aChar));
break;
case EBandId:
ProcessBandId(aChar);
break;
case EBandLevel:
TRAP(err,ProcessBandLevelL(aChar));
break;
case EEnvironmentalReverb1:
TRAP(err,ProcessEnvironmentalReverbL(aChar));
break;
case EEnvironmentalReverb2:
break;
case EStereoWideningLevel:
TRAP(err,ProcessStereoWideningLevelL(aChar));
break;
case EStereoWidening:
TRAP(err,ProcessStereoWideningL(aChar));
break;
default:
iConsole->Printf(_L("ProcessKeyPress - Unknown function\n"));
// Issue another request
RequestCharacter();
break;
}
}
void CConsoleTest::ShowMenu()
{
iConsole->ClearScreen();
switch (iMenu)
{
case EMain:
iConsole->Printf(_L("1: Player\n"));
iConsole->Printf(_L("2: Recorder\n"));
iConsole->Printf(_L("3: Converter\n"));
iConsole->Printf(_L("9: Exit\n"));
break;
case EPlay:
case ERecord:
case EConvert:
iConsole->Printf(_L("0: Main Menu\n"));
iConsole->Printf(_L("1: Equalizer\n"));
iConsole->Printf(_L("2: Env Reverb\n"));
iConsole->Printf(_L("3: StereoWidening\n"));
break;
case EEqualizer:
iConsole->Printf(_L("0: Main Menu\n"));
iConsole->Printf(_L("1: Enable/Disable\n"));
iConsole->Printf(_L("2: Toggle Enforce\n"));
iConsole->Printf(_L("3: Set Band Level\n"));
iConsole->Printf(_L("4: Show Equalizer info\n"));
iConsole->Printf(_L("5: Show Band info\n"));
iConsole->Printf(_L("6: Apply Settings\n"));
iConsole->Printf(_L("9: Delete Equalizer\n"));
break;
case EBandLevel:
iConsole->Printf(_L("0: Equalizer Menu\n"));
iConsole->Printf(_L("1: Band Level Up\n"));
iConsole->Printf(_L("2: Band Level Down\n"));
iConsole->Printf(_L("3: Show Band info\n"));
break;
case EEnvironmentalReverb1:
iConsole->Printf(_L("0: Main Menu\n"));
iConsole->Printf(_L("1: Enable/Disable\n"));
iConsole->Printf(_L("2: Toggle Enforce\n"));
iConsole->Printf(_L("3: Test Case 1\n"));
iConsole->Printf(_L("4: Test Case 2\n"));
iConsole->Printf(_L("5: Test Case 3\n"));
iConsole->Printf(_L("6: Undef\n"));
iConsole->Printf(_L("7: Undef\n"));
iConsole->Printf(_L("8: Apply Settings\n"));
iConsole->Printf(_L("9: Del Env Reverb\n"));
break;
case EEnvironmentalReverb2:
iConsole->Printf(_L("0: Main Menu\n"));
iConsole->Printf(_L("1: \n"));
iConsole->Printf(_L("2: \n"));
iConsole->Printf(_L("3: \n"));
iConsole->Printf(_L("4: \n"));
iConsole->Printf(_L("5: \n"));
iConsole->Printf(_L("6: \n"));
iConsole->Printf(_L("7: More\n"));
iConsole->Printf(_L("8: Apply Settings\n"));
iConsole->Printf(_L("9: Del Env Reverb\n"));
break;
case EStereoWidening:
iConsole->Printf(_L("0: Main Menu\n"));
iConsole->Printf(_L("1: Enable/Disable\n"));
iConsole->Printf(_L("2: Toggle Enforce\n"));
iConsole->Printf(_L("3: Set Widening Level\n"));
iConsole->Printf(_L("4: Apply Settings\n"));
iConsole->Printf(_L("9: Delete Effect\n"));
break;
case EStereoWideningLevel:
iConsole->Printf(_L("0: StereoWidening Menu\n"));
iConsole->Printf(_L("1: Level Up\n"));
iConsole->Printf(_L("2: Level Down\n"));
iConsole->Printf(_L("3: Show Effect info\n"));
iConsole->Printf(_L("9: Go Back\n"));
break;
default:
// Do nothing
break;
}
iConsole->Printf(KNewLine);
}
//////////////////////////////////////////////////////////////////////////////
//
// -----> MAIN
//
//////////////////////////////////////////////////////////////////////////////
void CConsoleTest::ProcessMain(TChar aChar)
{
if ( !iInitStatus )
{
switch (aChar)
{
case '1':
iMenu = iParentMenu = EPlay;
ShowMenu();
break;
case '2':
iMenu = iParentMenu = EPlay;
ShowMenu();
break;
case '3':
iMenu = iParentMenu = EPlay;
ShowMenu();
break;
case '9':
iConsole->Printf(_L("Stopping Scheduler...\n"));
CActiveScheduler::Stop();
iConsole->Printf(_L("Exiting...\n"));
break;
default:
iConsole->Printf(_L("ProcessMain - Unknown command\n"));
break;
};
}
else
iConsole->Printf(_L("Not Ready!\n"));
// Issue another request
RequestCharacter();
}
//////////////////////////////////////////////////////////////////////////////
//
// -----> Play menu
//
//////////////////////////////////////////////////////////////////////////////
void CConsoleTest::ProcessPlayL(TChar aChar)
{
switch (aChar)
{
case '0': // Main Menu
iMenu = EMain;
ShowMenu();
break;
case '1': // Equalizer
iMenu = EEqualizer;
if (!iPlayerAudioEqualizer)
{
iPlayerAudioEqualizer = CAudioEqualizer::NewL(*iAudioPlayer);
iPlayerAudioEqualizer->RegisterObserverL(*this);
}
iAudioEqualizer = iPlayerAudioEqualizer;
ShowMenu();
break;
case '2': // Environmental Reverb
iMenu = EEnvironmentalReverb1;
if (!iPlayerEnvironmentalReverb)
{
iPlayerEnvironmentalReverb = CEnvironmentalReverb::NewL(*iAudioPlayer);
iPlayerEnvironmentalReverb->RegisterObserverL(*this);
}
iEnvironmentalReverb = iPlayerEnvironmentalReverb;
ShowMenu();
break;
case '3': // Stereo Widening
iMenu = EStereoWidening;
if (!iPlayerStereoWidening)
{
iPlayerStereoWidening = CStereoWidening::NewL(*iAudioPlayer,EFalse,5);
iPlayerStereoWidening->RegisterObserverL(*this);
}
iStereoWidening = iPlayerStereoWidening;
ShowMenu();
break;
default:
iConsole->Printf(_L("Play Menu - Unknown command\n"));
break;
};
// Issue another request
RequestCharacter();
}
//////////////////////////////////////////////////////////////////////////////
//
// -----> Equalizer Menu
//
//////////////////////////////////////////////////////////////////////////////
void CConsoleTest::ProcessEqualizerL(TChar aChar)
{
TInt32 min, max;
switch (aChar)
{
case '0': // Main Menu
iMenu = EMain;
ShowMenu();
break;
case '1': // Enable / disable
if ( iAudioEqualizer->IsEnabled() )
iAudioEqualizer->DisableL();
else
iAudioEqualizer->EnableL();
break;
case '2': // Enforce
if ( iAudioEqualizer->IsEnforced() )
iAudioEqualizer->EnforceL(EFalse);
else
iAudioEqualizer->EnforceL(ETrue);
break;
case '3': // Set Band Level
iMenu = EBandId;
iConsole->Printf(_L("Enter Band ID: "));
break;
case '4': // Print Equalizer information
iConsole->Printf(_L("Enabled: %d\n"), iAudioEqualizer->IsEnabled());
iConsole->Printf(_L("Enforced: %d\n"), iAudioEqualizer->IsEnforced());
iConsole->Printf(_L("Number Of Bands: %d\n"), iAudioEqualizer->NumberOfBands());
iAudioEqualizer->DbLevelLimits(min,max);
iConsole->Printf(_L("Db Min %d, Max %d\n"), min, max );
break;
case '5': // Print Band Info
iMenu = EBandId;
iConsole->Printf(_L("Enter Band ID: "));
break;
case '6': // Apply Settings
iAudioEqualizer->ApplyL();
break;
case '9': // Delete volume object
if (iParentMenu == EPlay)
{
delete iAudioEqualizer;
iAudioEqualizer = NULL;
iPlayerAudioEqualizer = NULL;
}
if (iParentMenu == ERecord)
{
delete iAudioEqualizer;
iAudioEqualizer = NULL;
iRecorderAudioEqualizer = NULL;
}
break;
default:
iConsole->Printf(_L("ProcessEqualizerL - Unknown command\n"));
break;
};
// Issue another request
RequestCharacter();
}
//////////////////////////////////////////////////////////////////////////////
//
// -----> Band Menu
//
//////////////////////////////////////////////////////////////////////////////
void CConsoleTest::ProcessBandId(TChar aChar)
{
iBandId = aChar.GetNumericValue();
iMenu = EBandLevel;
ShowMenu();
RequestCharacter();
}
void CConsoleTest::ProcessBandLevelL(TChar aChar)
{
switch (aChar)
{
case '0': // Main Menu
iMenu = EEqualizer;
ShowMenu();
break;
case '1': // Level UP
ShowMenu();
iAudioEqualizer->SetBandLevelL(iBandId, iAudioEqualizer->BandLevel(iBandId) + 1);
iConsole->Printf(_L("Band[%d] Level[%d]\n"), iBandId, iAudioEqualizer->BandLevel(iBandId) );
//iAudioEqualizer->ApplyL();
break;
case '2': // Level Down
ShowMenu();
iAudioEqualizer->SetBandLevelL(iBandId, iAudioEqualizer->BandLevel(iBandId) - 1);
iConsole->Printf(_L("Band[%d] Level[%d]\n"), iBandId, iAudioEqualizer->BandLevel(iBandId) );
//iAudioEqualizer->ApplyL();
break;
case '3': // Print Band information
iConsole->Printf(_L("Band Number: %d\n"), iBandId);
iConsole->Printf(_L("BandLevel: %d\n"), iAudioEqualizer->BandLevel(iBandId));
iConsole->Printf(_L("BandWidth: %d\n"), iAudioEqualizer->BandWidth(iBandId));
iConsole->Printf(_L("Crossover Fequency %d\n"), iAudioEqualizer->CrossoverFrequency(iBandId));
iConsole->Printf(_L("Center Fequency %d\n"), iAudioEqualizer->CenterFrequency(iBandId));
break;
default:
iConsole->Printf(_L("ProcessEqualizerL - Unknown command\n"));
break;
};
// Issue another request
RequestCharacter();
}
//////////////////////////////////////////////////////////////////////////////
//
// -----> Stereo Widening Menu
//
//////////////////////////////////////////////////////////////////////////////
void CConsoleTest::ProcessStereoWideningL(TChar aChar)
{
switch (aChar)
{
case '0': // Main Menu
iMenu = EMain;
ShowMenu();
break;
case '1': // Enable / disable
if ( iStereoWidening->IsEnabled() )
iStereoWidening->DisableL();
else
iStereoWidening->EnableL();
break;
case '2': // Enforce
if ( iStereoWidening->IsEnforced() )
iStereoWidening->EnforceL(EFalse);
else
iStereoWidening->EnforceL(ETrue);
break;
case '3': // Set Stereo Widening Level
iMenu = EStereoWideningLevel;
break;
case '4': // Apply Settings
iStereoWidening->ApplyL();
break;
case '9': // Delete volume object
if (iParentMenu == EPlay)
{
delete iStereoWidening;
iStereoWidening = NULL;
iPlayerStereoWidening = NULL;
}
if (iParentMenu == ERecord)
{
delete iStereoWidening;
iStereoWidening = NULL;
iRecorderStereoWidening = NULL;
}
iMenu = EMain;
ShowMenu();
break;
default:
iConsole->Printf(_L("ProcessStereoWideningL - Unknown command\n"));
break;
};
// Issue another request
RequestCharacter();
}
void CConsoleTest::ProcessStereoWideningLevelL(TChar aChar)
{
ShowMenu();
switch (aChar)
{
case '1': // Level UP
ShowMenu();
iStereoWidening->SetStereoWideningLevelL(iStereoWidening->StereoWideningLevel() + 1);
iConsole->Printf(_L("Level[%d]\n"), iStereoWidening->StereoWideningLevel() );
break;
case '2': // Level Down
ShowMenu();
iStereoWidening->SetStereoWideningLevelL(iStereoWidening->StereoWideningLevel() - 1);
iConsole->Printf(_L("Level[%d]\n"), iStereoWidening->StereoWideningLevel() );
break;
case '3': // Print Level information
iConsole->Printf(_L("Level: %d\n"), iStereoWidening->StereoWideningLevel());
iConsole->Printf(_L("Continuous Level %d\n"), iStereoWidening->IsContinuousLevelSupported());
break;
case '9': // Main Menu
iMenu = EStereoWidening;
ShowMenu();
break;
default:
iConsole->Printf(_L("ProcessStereoWideningL - Unknown command\n"));
break;
};
// Issue another request
RequestCharacter();
}
//////////////////////////////////////////////////////////////////////////////
//
// -----> Environmental reverb Menu
//
//////////////////////////////////////////////////////////////////////////////
void CConsoleTest::InitializeTestData()
{
iGoodData.Append(1000); // Decay HF Ratio
iGoodData.Append(1000); // Decay Time
iGoodData.Append(1000); // Density
iGoodData.Append(1000); // Diffusion
iGoodData.Append(1000); // Reflections Delay
iGoodData.Append(1000); // Reflections Level
iGoodData.Append(1000); // Reverb Delay
iGoodData.Append(1000); // Reverb Level
iGoodData.Append(1000); // Room HF Level
iGoodData.Append(1000); // Room Level
iBadData.Append(50000); // Decay HF Ratio
iBadData.Append(300000); // Decay Time
iBadData.Append(10005); // Density
iBadData.Append(10005); // Diffusion
iBadData.Append(300000); // Reflections Delay
iBadData.Append(2000); // Reflections Level
iBadData.Append(300000); // Reverb Delay
iBadData.Append(2000); // Reverb Level
iBadData.Append(2000); // Room HF Level
iBadData.Append(2000); // Room Level
}
void CConsoleTest::ProcessEnvironmentalReverbL(TChar aChar)
{
switch (aChar)
{
case '0': // Main Menu
iMenu = EMain;
ShowMenu();
break;
case '1': // Enable / disable
if ( iEnvironmentalReverb->IsEnabled() )
iEnvironmentalReverb->DisableL();
else
iEnvironmentalReverb->EnableL();
break;
case '2': // Enforce
if ( iEnvironmentalReverb->IsEnforced() )
iEnvironmentalReverb->EnforceL(EFalse);
else
iEnvironmentalReverb->EnforceL(ETrue);
break;
case '3': // Test 1: Setters normal case
TestCase1();
break;
case '4': // Test 2: Setters abnormal case
TestCase2();
break;
case '5': // Test 3: Getters abnormal case
TestCase3();
break;
case '8': // Apply Settings
iEnvironmentalReverb->ApplyL();
break;
case '9': // Delete environmental reverb object
if (iParentMenu == EPlay)
{
delete iEnvironmentalReverb;
iEnvironmentalReverb = NULL;
iPlayerEnvironmentalReverb = NULL;
}
if (iParentMenu == ERecord)
{
delete iEnvironmentalReverb;
iEnvironmentalReverb = NULL;
iRecorderEnvironmentalReverb = NULL;
}
break;
default:
iConsole->Printf(_L("ProcessEnvironmentalReverbL - Unknown command\n"));
break;
};
// Issue another request
RequestCharacter();
}
void CConsoleTest::TestCase1()
{
TRAPD(err1, iEnvironmentalReverb->SetDecayHFRatioL(iGoodData[0]));
iConsole->Printf(_L("Result 1.1 - %d\n"),err1);
TRAPD(err2, iEnvironmentalReverb->SetDecayTimeL(iGoodData[1]));
iConsole->Printf(_L("Result 1.2 - %d\n"),err2);
TRAPD(err3, iEnvironmentalReverb->SetDensityL(iGoodData[2]));
iConsole->Printf(_L("Result 1.3 - %d\n"),err3);
TRAPD(err4, iEnvironmentalReverb->SetDiffusionL(iGoodData[3]));
iConsole->Printf(_L("Result 1.4 - %d\n"),err4);
TRAPD(err5, iEnvironmentalReverb->SetReflectionsDelayL(iGoodData[4]));
iConsole->Printf(_L("Result 1.5 - %d\n"),err5);
TRAPD(err6, iEnvironmentalReverb->SetReverbDelayL(iGoodData[6]));
iConsole->Printf(_L("Result 1.6 - %d\n"),err6);
TRAPD(err7, iEnvironmentalReverb->SetReverbLevelL(iGoodData[7]));
iConsole->Printf(_L("Result 1.7 - %d\n"),err7);
TRAPD(err8, iEnvironmentalReverb->SetRoomHFLevelL(iGoodData[8]));
iConsole->Printf(_L("Result 1.8 - %d\n"),err8);
TRAPD(err9, iEnvironmentalReverb->SetRoomLevelL(iGoodData[9]));
iConsole->Printf(_L("Result 1.9 - %d\n"),err9);
TRAPD(err10, iEnvironmentalReverb->SetReflectionsLevelL(iGoodData[5]));
iConsole->Printf(_L("Result 1.10 - %d\n"),err10);
}
void CConsoleTest::TestCase2()
{
TRAPD(err1, iEnvironmentalReverb->SetDecayHFRatioL(iBadData[0]));
iConsole->Printf(_L("Result 1.1 - %d\n"),err1);
TRAPD(err2, iEnvironmentalReverb->SetDecayTimeL(iBadData[1]));
iConsole->Printf(_L("Result 1.2 - %d\n"),err2);
TRAPD(err3, iEnvironmentalReverb->SetDensityL(iBadData[2]));
iConsole->Printf(_L("Result 1.3 - %d\n"),err3);
TRAPD(err4, iEnvironmentalReverb->SetDiffusionL(iBadData[3]));
iConsole->Printf(_L("Result 1.4 - %d\n"),err4);
TRAPD(err5, iEnvironmentalReverb->SetReflectionsDelayL(iBadData[4]));
iConsole->Printf(_L("Result 1.5 - %d\n"),err5);
TRAPD(err6, iEnvironmentalReverb->SetReverbDelayL(iBadData[6]));
iConsole->Printf(_L("Result 1.6 - %d\n"),err6);
TRAPD(err7, iEnvironmentalReverb->SetReverbLevelL(iBadData[7]));
iConsole->Printf(_L("Result 1.7 - %d\n"),err7);
TRAPD(err8, iEnvironmentalReverb->SetRoomHFLevelL(iBadData[8]));
iConsole->Printf(_L("Result 1.8 - %d\n"),err8);
TRAPD(err9, iEnvironmentalReverb->SetRoomLevelL(iBadData[9]));
iConsole->Printf(_L("Result 1.9 - %d\n"),err9);
TRAPD(err10, iEnvironmentalReverb->SetReflectionsLevelL(iBadData[5]));
iConsole->Printf(_L("Result 1.10 - %d\n"),err10);
}
void CConsoleTest::TestCase3()
{
if ( iEnvironmentalReverb->DecayHFRatio() == iGoodData[0] )
iConsole->Printf(_L("Result 3.1 - 1\n"));
else
iConsole->Printf(_L("Result 3.1 - 0\n"));
if ( iEnvironmentalReverb->DecayTime() == iGoodData[1] )
iConsole->Printf(_L("Result 3.2 - 1\n"));
else
iConsole->Printf(_L("Result 3.2 - 0\n"));
if ( iEnvironmentalReverb->Density() == iGoodData[2] )
iConsole->Printf(_L("Result 3.3 - 1\n"));
else
iConsole->Printf(_L("Result 3.3 - 0\n"));
if ( iEnvironmentalReverb->Diffusion() == iGoodData[3] )
iConsole->Printf(_L("Result 3.4 - 1\n"));
else
iConsole->Printf(_L("Result 3.4 - 0\n"));
if ( iEnvironmentalReverb->ReflectionsDelay() == iGoodData[4] )
iConsole->Printf(_L("Result 3.5 - 1\n"));
else
iConsole->Printf(_L("Result 3.5 - 0\n"));
if ( iEnvironmentalReverb->ReflectionsLevel() == iGoodData[5] )
iConsole->Printf(_L("Result 3.6 - 1\n"));
else
iConsole->Printf(_L("Result 3.6 - 0\n"));
if ( iEnvironmentalReverb->ReverbDelay() == iGoodData[6] )
iConsole->Printf(_L("Result 3.7 - 1\n"));
else
iConsole->Printf(_L("Result 3.7 - 0\n"));
if ( iEnvironmentalReverb->ReverbLevel() == iGoodData[7] )
iConsole->Printf(_L("Result 3.8 - 1\n"));
else
iConsole->Printf(_L("Result 3.8 - 0\n"));
if ( iEnvironmentalReverb->RoomHFLevel() == iGoodData[8] )
iConsole->Printf(_L("Result 3.9 - 1\n"));
else
iConsole->Printf(_L("Result 3.9 - 0\n"));
if ( iEnvironmentalReverb->RoomLevel() == iGoodData[9] )
iConsole->Printf(_L("Result 3.10 - 1\n"));
else
iConsole->Printf(_L("Result 3.10 - 0\n"));
}
/************************************************************************************************************/
void CConsoleTest::MapcInitComplete(TInt aStatus, const TTimeIntervalMicroSeconds& aDuration)
{
iConsole->Printf(_L("MapcInit: %d\n"), aStatus);
iInitStatus = aStatus;
TInt d = I64INT(aDuration.Int64());
RDebug::Print(_L("CConsoleTest::MapcInitComplete :-> Status[%d] Duration[%d]"), aStatus, d);
}
void CConsoleTest::MapcPlayComplete(TInt aErr)
{
iConsole->Printf(_L("MapcPlay: %d"), aErr);
RDebug::Print(_L("CConsoleTest::MapcPlayComplete :-> Error[%d]"), aErr);
}
void CConsoleTest::EffectChanged( const CAudioEffect* aAudioEffect, TUint8 aEvent )
{
RDebug::Print(_L("CConsoleTest::EffectChanged, Event = %d "), aEvent);
if ( aAudioEffect->Uid() == KUidAudioEqualizerEffect )
{
if ( aEvent == KEnabled )
{
iConsole->Printf(_L("Equalizer state: %d"), ((CAudioEqualizer*)aAudioEffect)->IsEnabled());
RDebug::Print(_L("CConsoleTest::EffectChanged :-> Enabled[%d]"), ((CAudioEqualizer*)aAudioEffect)->IsEnabled());
}
}
else if ( aAudioEffect->Uid() == KUidStereoWideningEffect )
{
if ( aEvent == KEnabled )
{
iConsole->Printf(_L("StereoWidening state: %d"), ((CStereoWidening*)aAudioEffect)->IsEnabled());
RDebug::Print(_L("CConsoleTest::EffectChanged :-> Enabled[%d]"), ((CStereoWidening*)aAudioEffect)->IsEnabled());
}
else
{
iConsole->Printf(_L("StereoWidening state: %d"), ((CStereoWidening*)aAudioEffect)->IsEnabled());
RDebug::Print(_L("CConsoleTest::EffectChanged :-> Enabled[%d]"), ((CStereoWidening*)aAudioEffect)->IsEnabled());
}
}
}
void CConsoleTest::MoscoStateChangeEvent(CBase* /*aObject*/, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode)
{
RDebug::Print(_L("aPreviousState[%d], aCurrentState[%d], aErrorCode[%d]"), aPreviousState, aCurrentState, aErrorCode);
iInitStatus = aErrorCode;
iConsole->Printf(_L("Mosco: %d\n"), aErrorCode);
}
//////////////////////////////////////////////////////////////////////////////
//
// Do the testing
//
//////////////////////////////////////////////////////////////////////////////
LOCAL_C void doTestL()
{
CConsoleBase* console = Console::NewL(KTxtDBTest,TSize(KConsFullScreen,KConsFullScreen));
CleanupStack::PushL(console);
CmyActiveScheduler* myScheduler = new (ELeave) CmyActiveScheduler;
CleanupStack::PushL(myScheduler);
CActiveScheduler::Install(myScheduler);
// Create a CConsoleTest active object
CConsoleTest* consoleTest = CConsoleTest::NewLC(console);
consoleTest->ShowMenu();
// Issue the first request
consoleTest->RequestCharacter();
#ifdef __WINS__
_LIT(KTitleMsg,"Ready!\nPress ESC to end.\n\n");
#else
_LIT(KTitleMsg,"Press SPACE(0) to end.\n");
#endif
console->Printf(KTitleMsg);
// test.Title();
// Main part of program is a wait loop
// This function completes when the scheduler stops
CActiveScheduler::Start();
_LIT(KTxtPressAnyKey," [press any key]");
console->Printf(KTxtPressAnyKey);
console->Getch(); // get and ignore character
// Remove from the cleanup stack and destroy:
// 1. consoleTest
// 2. myScheduler
// 3. console
CleanupStack::PopAndDestroy(3);
}