videditor/VideoEditorCommon/inc/VeiAddQueue.h
changeset 0 951a5db380a0
equal deleted inserted replaced
-1:000000000000 0:951a5db380a0
       
     1 /*
       
     2 * Copyright (c) 2010 Ixonos Plc.
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - Initial contribution
       
    11 *
       
    12 * Contributors:
       
    13 * Ixonos Plc
       
    14 *
       
    15 * Description:  
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef VEIADDQUEUE_H
       
    21 #define VEIADDQUEUE_H
       
    22 
       
    23 #include <e32base.h>
       
    24 #include <vedmovie.h>
       
    25 #include "veiimageclipgenerator.h"
       
    26 #include "VideoEditorCommon.h"
       
    27 
       
    28 class CVedVideoClipGenerator;
       
    29 
       
    30 
       
    31 class MVeiQueueObserver
       
    32 	{
       
    33 public:
       
    34 	enum TProcessing
       
    35 		{
       
    36 		EProcessingAudio = 0x50,
       
    37 		EProcessingVideo,
       
    38 		EProcessingImage,
       
    39 		ENotProcessing
       
    40 		};
       
    41 
       
    42 public:
       
    43 
       
    44 	virtual void NotifyQueueProcessingStarted( MVeiQueueObserver::TProcessing aMode = MVeiQueueObserver::ENotProcessing ) = 0;
       
    45 
       
    46 	virtual void NotifyQueueEmpty( TInt aInserted, TInt aFailed ) = 0;
       
    47 
       
    48 	virtual void NotifyQueueProcessingProgressed( TInt aProcessedCount, TInt aPercentage ) = 0;
       
    49 
       
    50 	virtual TBool NotifyQueueClipFailed( const TDesC& aFilename, TInt aError ) = 0;
       
    51 	};
       
    52 
       
    53 
       
    54 class CVeiAddQueue :	public CActive,
       
    55 						public MVedMovieObserver,
       
    56 						public MVeiImageClipGeneratorObserver
       
    57     {
       
    58 	public:
       
    59 	    IMPORT_C static CVeiAddQueue* NewL( MVedAudioClipInfoObserver& aView, CVedMovie& aMovie, MVeiQueueObserver& aObserver );
       
    60 
       
    61         IMPORT_C static CVeiAddQueue* NewLC( MVedAudioClipInfoObserver& aView, CVedMovie& aMovie, MVeiQueueObserver& aObserver );
       
    62 
       
    63         IMPORT_C virtual ~CVeiAddQueue();
       
    64 
       
    65     public:
       
    66 
       
    67 		IMPORT_C TBool ShowAudioClipDialogL();
       
    68 
       
    69 		IMPORT_C TBool ShowVideoClipDialogL( VideoEditor::TCursorLocation aLocation, TInt aCurrentIndex );
       
    70 
       
    71 		IMPORT_C void InsertMediaL( const TDesC& aFilename );
       
    72 
       
    73 		IMPORT_C void StartProcessingL();
       
    74 
       
    75 		IMPORT_C void GetNext();
       
    76 
       
    77 		IMPORT_C TInt Count() const;
       
    78 
       
    79 		enum TErrorCases
       
    80 			{
       
    81 			EInsertingSingleClip = -90,
       
    82 			EInsertingFromGallery
       
    83 			};
       
    84 	private:
       
    85 
       
    86 		TInt AddNextL( TInt aPosition = -1 );
       
    87 
       
    88 		void DoCancel();
       
    89 		
       
    90 		void RunL();
       
    91 
       
    92 		CVeiAddQueue( MVedAudioClipInfoObserver& aView, CVedMovie& aMovie, MVeiQueueObserver& aObserver );
       
    93 
       
    94 	    void ConstructL();
       
    95 
       
    96   
       
    97 
       
    98 	private:
       
    99 // From MVeiImageClipGeneratorObserver
       
   100 		virtual void NotifyImageClipGeneratorInitializationComplete(
       
   101 			CVeiImageClipGenerator& aGenerator, TInt aError);
       
   102 
       
   103 // From MVedMovieObserver
       
   104 		virtual void NotifyVideoClipAdded(CVedMovie& aMovie, TInt aIndex);
       
   105 		virtual void NotifyVideoClipAddingFailed(CVedMovie& aMovie, TInt aError);
       
   106 		virtual void NotifyVideoClipRemoved(CVedMovie& aMovie, TInt aIndex);
       
   107 		virtual void NotifyVideoClipIndicesChanged(CVedMovie& aMovie, TInt aOldIndex, 
       
   108 									           TInt aNewIndex);
       
   109 		virtual void NotifyVideoClipTimingsChanged(CVedMovie& aMovie,
       
   110 											   TInt aIndex);
       
   111 		virtual void NotifyVideoClipColorEffectChanged(CVedMovie& aMovie,
       
   112 												   TInt aIndex);
       
   113 		virtual void NotifyVideoClipAudioSettingsChanged(CVedMovie& aMovie,
       
   114 											         TInt aIndex);
       
   115 		virtual void NotifyVideoClipGeneratorSettingsChanged(CVedMovie& aMovie,
       
   116 											             TInt aIndex);
       
   117 		virtual void NotifyVideoClipDescriptiveNameChanged(CVedMovie& aMovie,
       
   118 																TInt aIndex);
       
   119 		virtual void NotifyStartTransitionEffectChanged(CVedMovie& aMovie);
       
   120 		virtual void NotifyMiddleTransitionEffectChanged(CVedMovie& aMovie, 
       
   121 													 TInt aIndex);
       
   122 		virtual void NotifyEndTransitionEffectChanged(CVedMovie& aMovie);
       
   123 		virtual void NotifyAudioClipAdded(CVedMovie& aMovie, TInt aIndex);
       
   124 		virtual void NotifyAudioClipAddingFailed(CVedMovie& aMovie, TInt aError);
       
   125 		virtual void NotifyAudioClipRemoved(CVedMovie& aMovie, TInt aIndex);
       
   126 		virtual void NotifyAudioClipIndicesChanged(CVedMovie& aMovie, TInt aOldIndex, 
       
   127 									           TInt aNewIndex);
       
   128 		virtual void NotifyAudioClipTimingsChanged(CVedMovie& aMovie,
       
   129 											   TInt aIndex);
       
   130 		virtual void NotifyMovieQualityChanged(CVedMovie& aMovie);
       
   131 		virtual void NotifyMovieReseted(CVedMovie& aMovie);
       
   132 
       
   133 		virtual void NotifyMovieOutputParametersChanged(CVedMovie& aMovie);
       
   134 	    virtual void NotifyAudioClipDynamicLevelMarkInserted(CVedMovie& aMovie, 
       
   135                                                          TInt aClipIndex, 
       
   136                                                          TInt aMarkIndex);
       
   137 		virtual void NotifyAudioClipDynamicLevelMarkRemoved(CVedMovie& aMovie, 
       
   138                                                         TInt aClipIndex, 
       
   139                                                         TInt aMarkIndex);
       
   140 		virtual void NotifyVideoClipDynamicLevelMarkInserted(CVedMovie& aMovie, 
       
   141                                                          TInt aClipIndex, 
       
   142                                                          TInt aMarkIndex);
       
   143 		virtual void NotifyVideoClipDynamicLevelMarkRemoved(CVedMovie& aMovie, 
       
   144                                                         TInt aClipIndex, 
       
   145                                                         TInt aMarkIndex);
       
   146 
       
   147 	private:
       
   148 	     /**
       
   149          * No description.
       
   150          */
       
   151         RPointerArray<TDesC>    iAddQueue;
       
   152 
       
   153 	     /**
       
   154          * No description.
       
   155          */
       
   156 		MVeiQueueObserver*		iObserver;
       
   157 
       
   158 	     /**
       
   159          * No description.
       
   160          */
       
   161 		CVedMovie&				iMovie;
       
   162 
       
   163 		MVedAudioClipInfoObserver&		iView;
       
   164 	     /**
       
   165          * Inserting failed to movie
       
   166          */
       
   167 		TInt					iFailedCount;
       
   168 
       
   169 	     /**
       
   170          * Files added to movie.
       
   171          */
       
   172 		TInt					iInsertedCount;
       
   173 
       
   174 	     /**
       
   175          * Total number of files in queue when processing is started.
       
   176          */
       
   177 		TInt					iTotalCount;
       
   178 
       
   179 	     /**
       
   180          * No description.
       
   181          */
       
   182 		CVedVideoClipGenerator* iGenerator;
       
   183 
       
   184 	     /**
       
   185          * No description.
       
   186          */
       
   187         CVedAudioClipInfo*      iAudioClipInfo;
       
   188 		CActiveSchedulerWait *iWaitScheduler;
       
   189 		TInt				iError;
       
   190 		TBool				iInsertVideoDialogOn;
       
   191 	};
       
   192 #endif