voicerecorder/group/VRConsts.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:46:57 +0200
changeset 0 845549f293a7
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2002 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: 
*     This header file defines some constants, string literals and
*     enumerations used globally in Voice Recorder.
*
*/


#ifndef __VRCONSTS_H__
#define __VRCONSTS_H__

// INCLUDES
#include <e32def.h>
#include <e32std.h>
#include <bldvariant.hrh>

// STRING LITERALS
_LIT( KVRAppResourceFile, "z:VoiceRecorder.rsc" );

_LIT( KVRBitmapFile, "z:VoiceRecorder.mbm" );
_LIT(KVRGSBitmapFile,"z:VoiceRecorder_aif.mif");

_LIT( KVRMemoStoreSharedDataKey, "MemoStore");
_LIT( KVRDefaultSpeakerSharedDataKey, "DefaultSpeaker" );
_LIT( KVRPanic, "VoiceRec" );

_LIT( KVRPluginFile,"z:GSVoiceRecorderPlugin.mif" );

// CONSTANTS
const TInt KVRBytes60SecAmr( 5000 );
const TInt KVRMaxTransitions( 13 );
const TInt KVRDefaultVolume( 4 );
const TInt KVRDefaultMaxLength( 60 );
const TInt KVRMaxVolumeSteps( 10 );
const TInt KVRSecondAsMicroSeconds( 1000000 );
const TInt KVRMinuteAsMicroSeconds( 60000000 );
const TInt KVRDisplayUpdateDelay( 250000 );

const TInt KVRHalfSecondAsMilliSeconds( 500 );
const TInt KVRSecondAsMilliSeconds( 1000 );
// Critical memory level that has to be taken into account when
// calculating estimate for Max recording time
//const TInt KVRCriticalMemoryLevel( 130000 ); // In Bytes

const TInt KVRAACCriticalMemoryLevel( 400000 ); // In Bytes

// This should so big that is covers 60 secs AMR or alternatively
// 5 secs WAV recording. 
const TInt KVRRecStartMemBuf( 100000 ); // In Bytes

const TInt KVRSendUiMsgSize( 1024 );

// AVKON volume control values go from 1 to 10
const TInt KVRVolumeControlMin( 1 );
const TInt KVRVolumeControlMax( 10 );

const TUint KVRDefaultAmrBitrate( 12200 );

// Time after which the maximum recording time label is updated for
// the first time in milliseconds
const TInt KVRFirstEstimateTime( 3000000 );

const TUint  KVRDefaultBitrateAac(64000);

const TInt KVRDefaultSamplerateAac(48000);

const TInt KVRDefaultStereoMonoFlag(1);

const TInt KVRDefaultAacRecordLength(60);

// ENUMERATIONS

// Don't change the order (snagged from SharedDataKeys.h)

enum TVRStateForVD
	{
	EVRIdle = 0,
	EVRRecording,
	EVRPlaying
	};

enum TVRAllowScreenSaver
	{
	EVRScreenSaverAllowed = 0,
	EVRScreenSaverNotAllowed
	};

enum TVRMemoStore
	{
	EMemoStorePhoneMemory,
	EMemoStoreMMC
	};

enum TVRPanic
	{
	EPanicUnknown,				// 0
	EPanicUnknownViewId,		// 1
	EPanicFunctionUnknown,		// 2
	EPanicInvalidContext,		// 3
	EPanicInvalidState,			// 4
	EPanicInvalidTransition,	// 5
	EPanicTooManyTransitions,	// 6
	EPanicNotAttached,			// 7
	EPanicAlreadyAttached,		// 8
	EPanicInvalidSetting		// 9
	};

// These values are used against a bitmask
// All values should be powers of 2
enum TVRFeature
	{
	EVRFeatureShowQualitySetting	= 1,
	EVRFeatureNext					= 2
	};
	
enum TVRFiletype
    {
    EVRFileAmr              = 1,
    EVRFileQCelp,
    EVRFileWav

#ifdef  __AAC_ENCODER_PLUGIN
    , EVRFileAAC_LC
#endif
    };

// Commands for special update events
enum TVRUpdateCommand
    {
    EVRUpdate               = 1,
    EVRUpdate1Second,           // Called when 1 second limit is passed during playback
    EVRUpdateStateChange,       // Called when state machine state has changed
    EVRUpdatePositionChange,	// Position changes so that update is needed
    EVRUpdateCBA				// Called when CBA buttons have to be updated
    };

#endif // __VRCONSTS_H__