mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/inc/MVSAppUI.h
author hgs
Tue, 02 Nov 2010 12:28:51 +0000
changeset 6 fe9d1bf55678
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
// Part of the MVS Application for TechView
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
#ifndef MVSAPPUI_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
#define MVSAPPUI_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
#include <mda/common/controller.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#include <flogger.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
#include <techview/eikdialg.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
#include "MVSApp.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
#include "MVSAppView.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
#include "audioplayagent.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
#include "audiorecordagent.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
#include "videoplayagent.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
#include "videorecordagent.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
#include "SettingsManager.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
const TInt KMaxExtensionSize = 16;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
const TInt KMaxDisplayLabelSize = 32;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
const TInt KMaxDollarPaddingBufferSize = 256;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
const TInt KErrorTextLength = 80;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
//forward declariotions.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
//The volume dialog class, used to increase/decrease volume.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
class CMVSVolumeDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
//The balance dialog class, used to set the balance to right/left/centre. 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
class CMVSBalanceDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
//The repeats dialog class, used to set the number of times a clip has to be played back, along with the delay between the playback.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
class CMVSRepeatDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
//The Controller selction dialog class, used to select the format and the controller,before recording.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
class CMVSSelectPluginsDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
//The SaveAs dialog class, used to input the file name in which the recorded data would be stored.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
class CMVSSaveAsDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
//The MetaInfo Editing dialog class, used to edit the Metadata info for a clip.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
class CMVSEditMetaInfoDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
//The audio controller settings dialog class, used to set controller specific features like bitrates,samplerates,channels etc.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
class CMVSConfigAudioFormatDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
//The system info dialog class,used to display a list of all the supported controllers and codecs by the system.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
class CMVSSystemInfoDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
//The video Setting dialog class, used to set the video playing/recording properties such as Rotation and Cropping.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
class CMVSVideoSettingDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
//The audio Setting dialog class, used to set the audio playing properties such as priority preferences,repeats etc.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
class CMVSAudioSettingDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
//The Play Window dialog class, used to set the play window for a audio clip, specifying the start and end position.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
class CMVSSetPlayWindowDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
//The crop window setting class, used to set the cropping position for a recorded clip.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
class CMVSCropDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
//The video controller settings dialog class, used to set controller specific features like framerates,framsize,codecs etc.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
class CMVSConfigVideoFormatDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
//The timer class, used to refresh the timer in the app periodically,while playing/recording a clip.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
class CMVSViewTicker;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
//The MetaInfo viewing dialog class, used to view the Metadata info of a clip.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
class CMVSViewMetaInfoDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
//The class provides the interface to set the video output screen.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
class CMVSMultipleScreenDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
//This class used to register the application for AP&R
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
class CMVSResourceNotifyDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
class CMVSVideoControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
//The main class that links to all the dialog windows in the application. This class implements the HandleCommandL() 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
//function that handles any input generated by the user on the UI,and calls the respective dialouge.It acts as an interface
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
//between all the dialouges and the user.Also this class is responsible for processing the commands and linking with
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
//the agents to the UI.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
class CMVSAppUi : public CEikAppUi, MMVSClientObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
    ~CMVSAppUi();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
    CMVSAppUi();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
    void SetRepeats(TInt aNoRepeats, TTimeIntervalMicroSeconds aDelay);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
    void SetBalanceL(TInt aBalance);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
    void SetVolumeL(TInt aVolume, TTimeIntervalMicroSeconds aRamp);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
    //for audio aMediaType = 0; for video aMediaType = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
	TInt GetExtensionListL(CDesCArrayFlat* aExtArray,TBool aMediaType);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
	//for audio aMediaType = 0; for video aMediaType = 1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
	TInt GetPluginListL(TInt8 aExtIdx,CDesCArrayFlat* aExtArray,CDesCArrayFlat* aPluginArray,TBool aMediaType);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
	void SetMetaDataL(RPointerArray<CMMFMetaDataEntry> aMetaArray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
    void GetMetaDataL(RPointerArray<CMMFMetaDataEntry>& aMetaArray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
    void SelectedPluginIdx(TInt aIdx);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
	void SelectedExtension(TDesC16& aDes);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
	void GetSupportedBitRatesL(RArray <TUint>& aBitRateArray); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
	void GetSupportedSampleRatesArrayL(RArray<TUint>& aSampleRatesArray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
	void GetSupportedNoChannelsArrayL(RArray<TUint>& aNoChannelsArray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
	void GetSupportedCodecsArrayL(RArray<TFourCC>& aCodecsArray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
	void SelectedMedia(TBool aMediaType);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
	void SetSampleRateL(TUint aSampleRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
    void SetChannelsL(TUint aNumberOfChannels);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
    void SetBitRateL(TUint aBitRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
    void SetCodecsL(TFourCC aDataType);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
    void GetSupportedFrameRatesL(RArray <TReal32>& aFrameRateArray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
	void GetSupportedFrameSizeArrayL(RArray <TSize>& aFrameRateArray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
	TInt GetSystemInfoL(CDesCArrayFlat* aPluginArray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
	void SetVideoFrameRateL(TReal32 aFrameRate);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
	void SetVideoFrameSizeL(TSize aFrameSize);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
	void SetAudioEnabledL(TBool aAudioEnabled);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
	void SetRotationL(TVideoRotation aRotation);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
 	void SetScaleFactorL(TReal32 aScaleWidth,TReal32 aScaleHeight,TBool aAntiAliasFiltering);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
 	void GetScaleFactorL(TReal32& aScaleWidth, TReal32& aScaleHeight, TBool& aAntiAliasFiltering);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
 	void SetCropRegionL(const TRect& aCropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
 	void GetCropRegionL(TRect& aCropRegion);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
 	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
 	void SetVideoExtent(const TRect& aVideoExtent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
 	void SetWindowClippingRect(const TRect& aWindowClipRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
 	void SetOverlayTextL(const TDesC& aOverlayText); 	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
    const TDesC& OverlayText() const;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
    void SetAutoScaleL(TAutoScaleType aAutoScaleType, TInt aHorizPos, TInt aVertPos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
    void GetAutoScale(TAutoScaleType& aScaleType, TInt& aHorizPos, TInt& aVertPos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
 	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
	void GetSupportedVideoTypesL(CDesC8ArrayFlat& aMimeArray); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
 	void SetVideoTypeL(const TDesC8 &aType);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
 	void SetPriorityL(TInt aPriority, TMdaPriorityPreference aPriorityPreference);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
    void SetCropL(TTimeIntervalMicroSeconds aCropStart,TBool aCropFromBeginning);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
    TBool SetPlayWindow(TTimeIntervalMicroSeconds aStart,TTimeIntervalMicroSeconds aEnd);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
    void WriteAudioDataL(CMVSConfigAudioFormatDialog* apAudioFormat,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
				  	 const TUid& aUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
	void WriteVideoDataL(CMVSConfigVideoFormatDialog* apVideoFormatDlg,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
					 const TUid& aUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
	void UpdatePositionViewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
	void InternalizeL(RReadStream& aStream);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
	void ExternalizeL(RWriteStream& aStream);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
	void SetPosition(TTimeIntervalMicroSeconds& aPos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
	void SetMaxFileSize(TInt& aVal);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
	void SetOutputScreen(TInt aScreenNumber);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
	void RegisterForNotification(TBool aRegisterd);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
	void SetPip(TBool aPip);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
	void SetCrp(TBool aCrp);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
	inline void FileOpenL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
	inline void FileOpenForRecordL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
    void FileClose();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
    TTimeIntervalMicroSeconds GetCropStart() const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
    TTimeIntervalMicroSeconds GetCropEnd() const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
    void InitializeMetaArrayL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
	TReal32 GetVideoFrameRateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
	void SaveAsDialogL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
	void DetermineFinalFNameL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
 	TVideoRotation GetRotationL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
	void LogErrors(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
	void Reset();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
    void HandleCommandL(TInt aCommand); //Handles command invocations
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
	void BuildDollarDesFromArrayL(TDes& aDollarDes);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
    void PopulateInfoWindowDataL(TMVSState aState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
    //from MMVSClientObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
    void UpdateStateChange(TMVSState aState, TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
    void MvsResourceNotification(const TDesC8& aNotificationData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
    //Dynamically alter the availability of controls in the menu by
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
    // 'dimming' and 'undimming' them.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
    void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); //Menu set-up
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
    void UpdateDisplayL(TMVSState aState);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
    void ConvertTimeToDes(TTimeIntervalMicroSeconds aPosition,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
                                        TDes& aDes);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
    TPoint DrawBorders(const TSize& aSize) const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
    void StopViewFinder();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
   
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
   	void PrepareVideoControlsL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
    //The view
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
    CMVSAppView* iAppView; //The application view
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
    CMVSVolumeDialog* iVolumeDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
    CMVSBalanceDialog* iBalanceDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
    CMVSRepeatDialog* iRepeatDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
    CMVSSelectPluginsDialog* iSelectPluginsDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
    CDesCArrayFlat* iPluginArray; //Array of supported plugins
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
    CDesCArrayFlat* iExtArray; //Array of supported Extensions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
    CDesCArrayFlat* iCodecArray;//Array of supported Codecs
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
    CMVSSaveAsDialog* iSaveAsDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
   // CMVSSetPriorityDialog* iSetAudioPriorityDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
    CMVSEditMetaInfoDialog* iEditMetaInfoDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
    CMVSViewMetaInfoDialog* iViewMetaInfoDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
    CMVSConfigAudioFormatDialog* iConfigFormatDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
    CMVSConfigVideoFormatDialog* iVideoFormatDialog; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
    CMVSSystemInfoDialog* iSystemInfo;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
    CMVSVideoSettingDialog* iVideoSetting;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
    CMVSAudioSettingDialog* iAudioSetting;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
    CMVSSetPlayWindowDialog* iSetPlayWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
    TFileName iSrcFName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
    TFileName iRecFName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
    RPointerArray<CMMFMetaDataEntry> iMetaArray;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
    CMMFMetaDataEntry* iMetaTitle;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
    CMMFMetaDataEntry* iMetaAuthor;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
    CMMFMetaDataEntry* iMetaCopyright;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
    CMMFMetaDataEntry* iMetaRevision;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
    CMMFMetaDataEntry* iMetaCategory;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
    CMMFMetaDataEntry* iMetaComments;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
    //MVSClient
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
    CDesCArrayFlat* iPluginNames;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
    CMVSAudioPlayAgent* iAudioPlayAgent;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
    CMVSAudioRecordAgent* iAudioRecordAgent;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
    CMVSVideoPlayAgent* iVideoPlayAgent;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
    CMVSVideoRecordAgent* iVideoRecordAgent;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
    CMVSControllerPluginInfo* iPluginInfo;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
    CMVSCropDialog* iCropDialog;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
    CMVSViewTicker* iViewTicker;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
    CMVSMultipleScreenDialog* iSetScreen;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
    CMVSResourceNotifyDialog* iRegisterForNotification;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
    CSettingsManager* iSettingManager;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
    RArray<TUid> iUidArray;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
 	RArray<TUid> iAudioUidArray;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
 	RArray<TUid> iAudioPlayUidArray;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
 	RArray<TUid> iVideoUidArray;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
 	TInt iSelectedPluginIdx;		 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
 	TInt iPluginsCnt;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
 	TBool iMediaType;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
 	TUid iControllerUid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
 	TBuf<KMaxExtensionSize> iControllerExt;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
 	TInt iRec;	 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
  	TInt iVolumeOrGain;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
    TTimeIntervalMicroSeconds iRamp;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
    TInt iMaxVolume;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
    TInt iBalance;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
    TMVSMode iMode;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
    TInt iPriority;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
    TMdaPriorityPreference iPriorityPreference;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
   	TInt iNoRepeats;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
   	TTimeIntervalMicroSeconds iStart;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
   	TTimeIntervalMicroSeconds iEnd;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
   	TTimeIntervalMicroSeconds iCropStart;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
   	TTimeIntervalMicroSeconds iCropEnd;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
   	TTimeIntervalMicroSeconds iCropPosition;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
   	TTimeIntervalMicroSeconds iClipLength;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
   	TBool iCropFromBeginning;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
   	TFileName iDestFilename;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
   	TTimeIntervalMicroSeconds iRepeatDelay;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
    TBuf<KMaxDisplayLabelSize> iDisplayState;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
    TFileName iDisplayFName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
    TBuf<KMaxDisplayLabelSize> iDisplayTime;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
    CDesCArrayFlat iMainWindowText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
    TBuf<KMaxDollarPaddingBufferSize> iDollarDes;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
    TTimeIntervalMicroSeconds iTimeElapsed;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
    TReal32 iVideoFrameRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
    TVideoRotation iVideoRotation;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
    TUint iBitRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
    TUint iSampleRate;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
    TUint iChannels;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
    TVideoRotation iRotation;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
    TSize iFrameSize;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
    TBool iFileReplace;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
    TTimeIntervalMicroSeconds iDuration;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
 	TBool iAutoplay;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
 	TBool iOpeningForRecord;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
 	TMVSState iState;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
 	RFileLogger iLogger;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
 	RFs iLogs;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
 	CEikButtonGroupContainer* iButtons;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
 	TBool iProceed;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
 	TBool iRecordLimitSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
 	TInt iMaxFileBuffer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
	TInt iScreenNumber;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
 	TBool iRegistered;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
 	TBool iAlreadyRegistered;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
 	TBool iAudioEnabled;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
    TRect iVideoExtent;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
    TRect iWindowClipRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
    RBuf  iOverlayText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
    TAutoScaleType iAutoScaleType;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
    TInt iAutoScaleHorizPos; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
    TInt iAutoScaleVertPos;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
	TBool iPip;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
	TBool iCrp;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
	TBool iVideoExtentSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
	TBool iWindowClipRectSet;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
	CMVSVideoControl* iVideoCtl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
	// Controls displaying video, window owning
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
	RPointerArray<CMVSVideoControl> iVideoCtls;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
	TBool iDisplayAdded;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
 	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
#endif  MVSAPPUI_H