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 |
|
21 |
|
22 // INCLUDE FILES |
|
23 |
|
24 // System includes |
|
25 #include <bautils.h> |
|
26 #include <coemain.h> |
|
27 #include <mgfetch.h> |
|
28 |
|
29 // User includes |
|
30 #include "Veiaddqueue.h" |
|
31 #include "Veiimageclipgenerator.h" |
|
32 #include "VeiMGFetchVerifier.h" |
|
33 #include "VideoEditorUtils.h" |
|
34 #include "VideoEditorDebugUtils.h" |
|
35 |
|
36 |
|
37 EXPORT_C CVeiAddQueue* CVeiAddQueue::NewL( MVedAudioClipInfoObserver& aView, CVedMovie& aMovie, MVeiQueueObserver& aObserver ) |
|
38 { |
|
39 CVeiAddQueue* self = CVeiAddQueue::NewLC( aView, aMovie, aObserver ); |
|
40 CleanupStack::Pop( self ); |
|
41 |
|
42 return self; |
|
43 } |
|
44 |
|
45 |
|
46 EXPORT_C CVeiAddQueue* CVeiAddQueue::NewLC( MVedAudioClipInfoObserver& aView, CVedMovie& aMovie, MVeiQueueObserver& aObserver ) |
|
47 { |
|
48 CVeiAddQueue* self = new (ELeave) CVeiAddQueue( aView, aMovie, aObserver ); |
|
49 CleanupStack::PushL( self ); |
|
50 self->ConstructL(); |
|
51 |
|
52 return self; |
|
53 } |
|
54 |
|
55 CVeiAddQueue::CVeiAddQueue( MVedAudioClipInfoObserver& aView, CVedMovie& aMovie, MVeiQueueObserver& aObserver ) : |
|
56 CActive(CActive::EPriorityStandard), iObserver( &aObserver ), iMovie( aMovie ), iView( aView ) |
|
57 { |
|
58 } |
|
59 |
|
60 void CVeiAddQueue::ConstructL() |
|
61 { |
|
62 LOG(KVideoEditorLogFile, "CVeiAddQueue::ConstructL"); |
|
63 |
|
64 CActiveScheduler::Add(this); |
|
65 iInsertVideoDialogOn = EFalse; |
|
66 iWaitScheduler = new (ELeave) CActiveSchedulerWait; |
|
67 iMovie.RegisterMovieObserverL( this ); |
|
68 } |
|
69 |
|
70 EXPORT_C CVeiAddQueue::~CVeiAddQueue() |
|
71 { |
|
72 iAddQueue.ResetAndDestroy(); |
|
73 delete iWaitScheduler; |
|
74 |
|
75 if ( iAudioClipInfo ) |
|
76 { |
|
77 delete iAudioClipInfo; |
|
78 iAudioClipInfo = NULL; |
|
79 } |
|
80 |
|
81 iMovie.UnregisterMovieObserver( this ); |
|
82 |
|
83 iObserver = NULL; |
|
84 iGenerator = NULL; |
|
85 } |
|
86 |
|
87 |
|
88 EXPORT_C TBool CVeiAddQueue::ShowAudioClipDialogL() |
|
89 { |
|
90 LOG(KVideoEditorLogFile, "CVeiAddQueue::ShowAudioClipDialogL() in"); |
|
91 // Audio insert dialog for single file |
|
92 CDesCArrayFlat* selectedFiles = new ( ELeave ) CDesCArrayFlat( 1 ); |
|
93 CleanupStack::PushL(selectedFiles); |
|
94 |
|
95 CVeiMGFetchVerifier* mgFetchVerifier = CVeiMGFetchVerifier::NewLC(); |
|
96 |
|
97 if ( MGFetch::RunL( *selectedFiles, EAudioFile, EFalse, mgFetchVerifier ) == EFalse ) |
|
98 { |
|
99 // User cancelled the dialog. |
|
100 CleanupStack::PopAndDestroy( mgFetchVerifier ); |
|
101 CleanupStack::PopAndDestroy( selectedFiles ); |
|
102 return EFalse; |
|
103 } |
|
104 |
|
105 CleanupStack::PopAndDestroy( mgFetchVerifier ); |
|
106 |
|
107 if ( iAudioClipInfo ) |
|
108 { |
|
109 delete iAudioClipInfo; |
|
110 iAudioClipInfo = NULL; |
|
111 } |
|
112 iObserver->NotifyQueueProcessingStarted( MVeiQueueObserver::EProcessingAudio ); |
|
113 // AudioClipInfoReady notifier is in EditVideoView |
|
114 iAudioClipInfo = CVedAudioClipInfo::NewL( ( *selectedFiles )[0], iView ); |
|
115 |
|
116 CleanupStack::PopAndDestroy( selectedFiles ); |
|
117 LOG(KVideoEditorLogFile, "CVeiAddQueue::ShowAudioClipDialogL() out"); |
|
118 return ETrue; |
|
119 } |
|
120 |
|
121 |
|
122 |
|
123 EXPORT_C TBool CVeiAddQueue::ShowVideoClipDialogL( VideoEditor::TCursorLocation aLocation, TInt aCurrentIndex ) |
|
124 { |
|
125 LOG(KVideoEditorLogFile, "CVeiAddQueue::ShowVideoClipDialogL In"); |
|
126 // Video insert dialog for single file |
|
127 CDesCArrayFlat* selectedFiles = new ( ELeave ) CDesCArrayFlat( 1 ); |
|
128 CleanupStack::PushL(selectedFiles); |
|
129 |
|
130 CVeiMGFetchVerifier* mgFetchVerifier = CVeiMGFetchVerifier::NewLC(); |
|
131 |
|
132 if ( MGFetch::RunL( *selectedFiles, EVideoFile, EFalse, mgFetchVerifier ) == EFalse ) |
|
133 { |
|
134 CleanupStack::PopAndDestroy( mgFetchVerifier ); |
|
135 CleanupStack::PopAndDestroy( selectedFiles ); |
|
136 return EFalse; |
|
137 } |
|
138 |
|
139 CleanupStack::PopAndDestroy( mgFetchVerifier ); |
|
140 |
|
141 TInt insertIndex; |
|
142 iInsertVideoDialogOn = ETrue; |
|
143 |
|
144 // Video clip is added next to selected video clip. If cursor is not on videotrack, clip is |
|
145 // inserted last. |
|
146 if ( iMovie.VideoClipCount() == 0 ) |
|
147 { |
|
148 insertIndex = 0; |
|
149 } |
|
150 else if ( aLocation == VideoEditor::ECursorOnAudio || aLocation == VideoEditor::ECursorOnTransition ) |
|
151 { |
|
152 insertIndex = iMovie.VideoClipCount(); |
|
153 } |
|
154 else |
|
155 { |
|
156 insertIndex = aCurrentIndex + 1; |
|
157 } |
|
158 |
|
159 HBufC* filename = HBufC::NewLC( (*selectedFiles )[0].Length() ); |
|
160 *filename = (*selectedFiles )[0]; |
|
161 iAddQueue.Append( filename ); |
|
162 |
|
163 iFailedCount = 0; |
|
164 iInsertedCount = 0; |
|
165 |
|
166 iTotalCount = iAddQueue.Count(); |
|
167 |
|
168 iObserver->NotifyQueueProcessingStarted( MVeiQueueObserver::EProcessingVideo ); |
|
169 AddNextL( insertIndex ); |
|
170 |
|
171 CleanupStack::Pop(filename); |
|
172 CleanupStack::PopAndDestroy( selectedFiles ); |
|
173 LOG(KVideoEditorLogFile, "CVeiAddQueue::ShowVideoClipDialogL Out"); |
|
174 return ETrue; |
|
175 } |
|
176 |
|
177 |
|
178 EXPORT_C void CVeiAddQueue::InsertMediaL( const TDesC& aFilename ) |
|
179 { |
|
180 // aFilename is added to queue. Queue processing is started with StartProcessingL() function. |
|
181 RFs& fs = CCoeEnv::Static()->FsSession(); |
|
182 |
|
183 if ( BaflUtils::FileExists( fs, aFilename ) ) |
|
184 { |
|
185 HBufC* filename = HBufC::NewLC( aFilename.Length() ); |
|
186 *filename = aFilename; |
|
187 iAddQueue.Append( filename ); |
|
188 |
|
189 iTotalCount = iAddQueue.Count(); |
|
190 |
|
191 CleanupStack::Pop( filename ); |
|
192 } |
|
193 } |
|
194 |
|
195 EXPORT_C TInt CVeiAddQueue::Count() const |
|
196 { |
|
197 return iTotalCount; |
|
198 } |
|
199 |
|
200 EXPORT_C void CVeiAddQueue::StartProcessingL() |
|
201 { |
|
202 LOG(KVideoEditorLogFile, "CVeiAddQueue::StartProcessingL"); |
|
203 |
|
204 iFailedCount = 0; |
|
205 iInsertedCount = 0; |
|
206 |
|
207 iTotalCount = iAddQueue.Count(); |
|
208 |
|
209 if ( iTotalCount > 0 ) |
|
210 { |
|
211 iObserver->NotifyQueueProcessingStarted(); |
|
212 |
|
213 AddNextL(); |
|
214 } |
|
215 } |
|
216 |
|
217 TInt CVeiAddQueue::AddNextL( TInt aPosition ) |
|
218 { |
|
219 LOG(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: In"); |
|
220 |
|
221 // Image params |
|
222 TTimeIntervalMicroSeconds imageDuration( 5000000 ); |
|
223 |
|
224 RFs& fs = CCoeEnv::Static()->FsSession(); |
|
225 TInt insertErr( KErrNone ); |
|
226 TInt insertPosition; |
|
227 |
|
228 for( TInt i=0;i<iTotalCount;i++ ) |
|
229 { |
|
230 insertErr = KErrNone; |
|
231 |
|
232 if ( iAddQueue.Count() > 0 ) |
|
233 { |
|
234 TInt percentage; |
|
235 percentage = STATIC_CAST( TInt, ( TReal(iInsertedCount+iFailedCount) / TReal(iTotalCount) )*100 + 0.5 ); |
|
236 iObserver->NotifyQueueProcessingProgressed( iInsertedCount+iFailedCount+1, percentage ); |
|
237 |
|
238 TDesC* filename = iAddQueue[0]; |
|
239 |
|
240 TBool fileExists = BaflUtils::FileExists( fs, *filename ); |
|
241 |
|
242 TParse file; |
|
243 file.Set( *iAddQueue[0], NULL, NULL ); |
|
244 |
|
245 // Do not allow inserting DRM protected content. |
|
246 if( VideoEditorUtils::IsDrmProtectedL(*filename) ) |
|
247 { |
|
248 LOGFMT(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: DRM protected file is rejected: %S", &filename); |
|
249 insertErr = KErrAccessDenied; |
|
250 } |
|
251 |
|
252 if ( file.ExtPresent() && fileExists && KErrNone == insertErr ) |
|
253 { |
|
254 if ( (file.Ext().CompareF( KExt3gp )== 0) || |
|
255 (file.Ext().CompareF( KExtMp4 )== 0 )) |
|
256 { |
|
257 if ( aPosition == -1 ) |
|
258 { |
|
259 insertPosition = iMovie.VideoClipCount(); |
|
260 } |
|
261 else |
|
262 { |
|
263 insertPosition = aPosition; |
|
264 } |
|
265 LOG(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: 2"); |
|
266 iMovie.InsertVideoClipL( *filename, insertPosition ); |
|
267 LOG(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: 3"); |
|
268 } |
|
269 else |
|
270 { |
|
271 LOG(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: 4"); |
|
272 TRAP( insertErr, |
|
273 iGenerator = CVeiImageClipGenerator::NewL( |
|
274 file.FullName(), |
|
275 TSize(KMaxVideoFrameResolutionX,KMaxVideoFrameResolutionY), |
|
276 imageDuration, |
|
277 KRgbBlack, |
|
278 KVideoClipGenetatorDisplayMode, |
|
279 fs, |
|
280 *this) |
|
281 ); |
|
282 LOG(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: 5"); |
|
283 } |
|
284 |
|
285 } |
|
286 if ( fileExists && insertErr == KErrNone ) |
|
287 { |
|
288 iWaitScheduler->Start(); |
|
289 } |
|
290 else |
|
291 { |
|
292 LOG(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: 7"); |
|
293 if ( iInsertVideoDialogOn ) |
|
294 { |
|
295 insertErr = EInsertingSingleClip; |
|
296 } |
|
297 else |
|
298 { |
|
299 insertErr = EInsertingFromGallery; |
|
300 } |
|
301 TFileName fileName = file.Name(); |
|
302 TBool cntn = iObserver->NotifyQueueClipFailed( fileName, insertErr ); |
|
303 if ( !cntn ) |
|
304 { |
|
305 iAddQueue.Reset(); |
|
306 break; |
|
307 } |
|
308 iFailedCount++; |
|
309 } |
|
310 |
|
311 delete iAddQueue[0]; |
|
312 iAddQueue.Remove( 0 ); |
|
313 } // if |
|
314 } // for |
|
315 LOGFMT2(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: 8, iInsertedCount:%d, iFailedCount:%d", iInsertedCount, iFailedCount); |
|
316 iObserver->NotifyQueueEmpty( iInsertedCount, iFailedCount ); |
|
317 LOG(KVideoEditorLogFile, "CVeiAddQueue::AddNextL: Out"); |
|
318 return insertErr; |
|
319 } |
|
320 |
|
321 EXPORT_C void CVeiAddQueue::GetNext() |
|
322 { |
|
323 LOG(KVideoEditorLogFile, "CVeiAddQueue::GetNext: In"); |
|
324 if (iWaitScheduler->IsStarted() ) |
|
325 { |
|
326 LOG(KVideoEditorLogFile, "CVeiAddQueue::GetNext: 1"); |
|
327 iWaitScheduler->AsyncStop(); |
|
328 } |
|
329 LOG(KVideoEditorLogFile, "CVeiAddQueue::GetNext: Out"); |
|
330 } |
|
331 |
|
332 void CVeiAddQueue::DoCancel() |
|
333 { |
|
334 } |
|
335 |
|
336 void CVeiAddQueue::RunL() |
|
337 { |
|
338 } |
|
339 |
|
340 |
|
341 void CVeiAddQueue::NotifyImageClipGeneratorInitializationComplete( |
|
342 CVeiImageClipGenerator& /*aGenerator*/, TInt DEBUGLOG_ARG(aError) ) |
|
343 { |
|
344 LOGFMT(KVideoEditorLogFile, "CVeiAddQueue::NotifyImageClipGeneratorInitializationComplete: in, aError:%d", aError); |
|
345 TRAP_IGNORE( iMovie.InsertVideoClipL(*iGenerator, ETrue, 0) ); |
|
346 |
|
347 // Generator is no longer our concern |
|
348 iGenerator = NULL; |
|
349 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyImageClipGeneratorInitializationComplete: out"); |
|
350 } |
|
351 |
|
352 |
|
353 void CVeiAddQueue::NotifyVideoClipAdded(CVedMovie& /*aMovie*/, TInt /*aIndex*/) |
|
354 { |
|
355 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipAdded: In"); |
|
356 iInsertedCount++; |
|
357 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipAdded: Out"); |
|
358 } |
|
359 |
|
360 void CVeiAddQueue::NotifyVideoClipAddingFailed(CVedMovie& /*aMovie*/, TInt DEBUGLOG_ARG(aError) ) |
|
361 { |
|
362 LOGFMT(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipAddingFailed: In, aError:%d", aError); |
|
363 TInt error; |
|
364 |
|
365 if ( iInsertVideoDialogOn ) |
|
366 { |
|
367 error = EInsertingSingleClip; |
|
368 } |
|
369 else |
|
370 { |
|
371 error = EInsertingFromGallery; |
|
372 } |
|
373 |
|
374 |
|
375 TParse file; |
|
376 file.Set( *iAddQueue[0], NULL, NULL ); |
|
377 |
|
378 TFileName fileName = file.Name(); |
|
379 TBool ifContinue = iObserver->NotifyQueueClipFailed( fileName, error ); |
|
380 if ( ifContinue && (error == EInsertingFromGallery) ) |
|
381 { |
|
382 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipAddingFailed: 1"); |
|
383 iObserver->NotifyQueueProcessingStarted(); |
|
384 GetNext(); |
|
385 } |
|
386 else |
|
387 { |
|
388 // @: release iWaitScheduler |
|
389 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipAddingFailed: 2"); |
|
390 iWaitScheduler->AsyncStop(); |
|
391 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipAddingFailed: 3"); |
|
392 } |
|
393 iFailedCount++; |
|
394 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipAddingFailed: Out"); |
|
395 } |
|
396 |
|
397 void CVeiAddQueue::NotifyVideoClipRemoved(CVedMovie& /*aMovie*/, TInt /*aIndex*/) |
|
398 { |
|
399 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipRemoved: In and out"); |
|
400 } |
|
401 |
|
402 void CVeiAddQueue::NotifyVideoClipIndicesChanged(CVedMovie& /*aMovie*/, TInt /*aOldIndex*/, |
|
403 TInt /*aNewIndex*/) |
|
404 { |
|
405 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipIndicesChanged: In and out"); |
|
406 } |
|
407 |
|
408 void CVeiAddQueue::NotifyVideoClipTimingsChanged(CVedMovie& /*aMovie*/, |
|
409 TInt /*aIndex*/) |
|
410 { |
|
411 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipTimingsChanged: In and out"); |
|
412 } |
|
413 |
|
414 void CVeiAddQueue::NotifyVideoClipColorEffectChanged(CVedMovie& /*aMovie*/, |
|
415 TInt /*aIndex*/) |
|
416 { |
|
417 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipColorEffectChanged: In and out"); |
|
418 } |
|
419 |
|
420 void CVeiAddQueue::NotifyVideoClipAudioSettingsChanged(CVedMovie& /*aMovie*/, |
|
421 TInt /*aIndex*/) |
|
422 { |
|
423 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipAudioSettingsChanged: In and out"); |
|
424 } |
|
425 |
|
426 void CVeiAddQueue::NotifyVideoClipGeneratorSettingsChanged(CVedMovie& /*aMovie*/, |
|
427 TInt /*aIndex*/) |
|
428 { |
|
429 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipGeneratorSettingsChanged: In and out"); |
|
430 } |
|
431 |
|
432 void CVeiAddQueue::NotifyVideoClipDescriptiveNameChanged(CVedMovie& /*aMovie*/, |
|
433 TInt /*aIndex*/) |
|
434 { |
|
435 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipDescriptiveNameChanged: In and out"); |
|
436 } |
|
437 |
|
438 void CVeiAddQueue::NotifyStartTransitionEffectChanged(CVedMovie& /*aMovie*/) |
|
439 { |
|
440 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyStartTransitionEffectChanged: In and out"); |
|
441 } |
|
442 |
|
443 void CVeiAddQueue::NotifyMiddleTransitionEffectChanged(CVedMovie& /*aMovie*/, |
|
444 TInt /*aIndex*/) |
|
445 { |
|
446 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyMiddleTransitionEffectChanged: In and out"); |
|
447 } |
|
448 |
|
449 void CVeiAddQueue::NotifyEndTransitionEffectChanged(CVedMovie& /*aMovie*/) |
|
450 { |
|
451 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyEndTransitionEffectChanged: In and out"); |
|
452 } |
|
453 |
|
454 void CVeiAddQueue::NotifyAudioClipAdded(CVedMovie& /*aMovie*/, TInt /*aIndex*/) |
|
455 { |
|
456 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyAudioClipAdded: In and out"); |
|
457 } |
|
458 |
|
459 void CVeiAddQueue::NotifyAudioClipAddingFailed(CVedMovie& /*aMovie*/, TInt DEBUGLOG_ARG(aError) ) |
|
460 { |
|
461 LOGFMT(KVideoEditorLogFile, "CVeiAddQueue::NotifyAudioClipAddingFailed: In and out, aError:%d", aError); |
|
462 } |
|
463 |
|
464 void CVeiAddQueue::NotifyAudioClipRemoved(CVedMovie& /*aMovie*/, TInt /*aIndex*/) |
|
465 { |
|
466 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyAudioClipRemoved: In and out"); |
|
467 } |
|
468 |
|
469 void CVeiAddQueue::NotifyAudioClipIndicesChanged(CVedMovie& /*aMovie*/, TInt /*aOldIndex*/, |
|
470 TInt /*aNewIndex*/) |
|
471 { |
|
472 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyAudioClipIndicesChanged: In and out"); |
|
473 } |
|
474 |
|
475 void CVeiAddQueue::NotifyAudioClipTimingsChanged(CVedMovie& /*aMovie*/, |
|
476 TInt /*aIndex*/) |
|
477 { |
|
478 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyAudioClipTimingsChanged: In and out"); |
|
479 } |
|
480 |
|
481 void CVeiAddQueue::NotifyMovieQualityChanged(CVedMovie& /*aMovie*/) |
|
482 { |
|
483 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyMovieQualityChanged: In and out"); |
|
484 } |
|
485 |
|
486 void CVeiAddQueue::NotifyMovieReseted(CVedMovie& /*aMovie*/) |
|
487 { |
|
488 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyMovieReseted: In and out"); |
|
489 } |
|
490 |
|
491 void CVeiAddQueue::NotifyMovieOutputParametersChanged(CVedMovie& /*aMovie*/) |
|
492 { |
|
493 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyMovieOutputParametersChanged: In and out"); |
|
494 } |
|
495 |
|
496 void CVeiAddQueue::NotifyAudioClipDynamicLevelMarkInserted(CVedMovie& /*aMovie*/, |
|
497 TInt /*aClipIndex*/, |
|
498 TInt /*aMarkIndex*/) |
|
499 { |
|
500 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyAudioClipDynamicLevelMarkInserted: In and out"); |
|
501 } |
|
502 |
|
503 void CVeiAddQueue::NotifyAudioClipDynamicLevelMarkRemoved(CVedMovie& /*aMovie*/, |
|
504 TInt /*aClipIndex*/, |
|
505 TInt /*aMarkIndex*/) |
|
506 { |
|
507 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyAudioClipDynamicLevelMarkRemoved: In and out"); |
|
508 } |
|
509 |
|
510 void CVeiAddQueue::NotifyVideoClipDynamicLevelMarkInserted(CVedMovie& /*aMovie*/, |
|
511 TInt /*aClipIndex*/, |
|
512 TInt /*aMarkIndex*/) |
|
513 { |
|
514 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipDynamicLevelMarkInserted: In and out"); |
|
515 } |
|
516 |
|
517 void CVeiAddQueue::NotifyVideoClipDynamicLevelMarkRemoved(CVedMovie& /*aMovie*/, |
|
518 TInt /*aClipIndex*/, |
|
519 TInt /*aMarkIndex*/) |
|
520 { |
|
521 LOG(KVideoEditorLogFile, "CVeiAddQueue::NotifyVideoClipDynamicLevelMarkRemoved: In and out"); |
|
522 } |
|
523 |
|
524 // End of File |
|