videditor/ManualVideoEditor/src/VeiCutAudioView.cpp
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 5 4c409de21d23
--- a/videditor/ManualVideoEditor/src/VeiCutAudioView.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,989 +0,0 @@
-/*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "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:
-* Ixonos Plc
-*
-* Description: 
-*
-*/
-
-
-// INCLUDE FILES
-// System includes
-#include <aknviewappui.h>
-#include <avkon.hrh>
-#include <manualvideoeditor.rsg>
-#include <VedAudioClipInfo.h>
-
-#include <akntitle.h> 
-#include <barsread.h>
-#include <stringloader.h> 
-#include <aknnotewrappers.h>
-#include <aknquerydialog.h>
-#include <aknnavide.h>
-#include <eikbtgpc.h>
-#include <eikmenub.h>
-#include <eikmenup.h>
-#include <eikprogi.h>
-#include <apparc.h>
-#include <aknselectionlist.h>
-
-//User includes
-#include "VeiAppUi.h"
-#include "VeiCutAudioView.h"
-#include "VeiCutAudioContainer.h" 
-#include "ManualVideoEditor.hrh"
-#include "VeiTimeLabelNavi.h"
-#include "VideoEditorCommon.h"
-#include "VeiVideoEditorSettings.h"
-#include "VeiErrorUi.h"
-
-CVeiCutAudioView* CVeiCutAudioView::NewL()
-    {
-    CVeiCutAudioView* self = CVeiCutAudioView::NewLC();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-
-CVeiCutAudioView* CVeiCutAudioView::NewLC()
-    {
-    CVeiCutAudioView* self = new (ELeave) CVeiCutAudioView();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-CVeiCutAudioView::CVeiCutAudioView()
-    {
-    }
-
-void CVeiCutAudioView::ConstructL()
-    {
-    BaseConstructL( R_VEI_CUT_AUDIO_VIEW );
-
-    CEikStatusPane* sp = StatusPane();
-
-    iNaviPane = (CAknNavigationControlContainer*) sp->ControlL(
-            TUid::Uid(EEikStatusPaneUidNavi));
-
-    iTimeNavi = CreateTimeLabelNaviL();
-    iTimeNavi->SetMopParent( this );
-
-    iVolumeNavi = iNaviPane->CreateVolumeIndicatorL(
-            R_AVKON_NAVI_PANE_VOLUME_INDICATOR );
-
-    iErrorUI = CVeiErrorUI::NewL( *iCoeEnv );   
-    
-    iTimeUpdater = CPeriodic::NewL( CActive::EPriorityLow );
-    iVolumeHider = CPeriodic::NewL( CActive::EPriorityLow );
-    }
-
-// ---------------------------------------------------------
-// CVeiCutAudioView::~CVeiCutAudioView()
-// ?implementation_description
-// ---------------------------------------------------------
-//
-CVeiCutAudioView::~CVeiCutAudioView()
-    {
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        delete iContainer;
-        iContainer = 0;
-        }
-    if ( iTimeUpdater )
-        {
-        iTimeUpdater->Cancel();
-        delete iTimeUpdater;
-        }
-    if ( iVolumeHider )
-        {
-        iVolumeHider->Cancel();
-        delete iVolumeHider;
-        }
-
-    if ( iErrorUI )
-        {
-        delete iErrorUI;
-        }
-
-    delete iVolumeNavi;
-
-    delete iTimeNavi;
-    
-    delete iCallBack;
-    }
-
-
-void CVeiCutAudioView::DynInitMenuPaneL( TInt aResourceId,CEikMenuPane* aMenuPane )
-    {
-    TInt state = iContainer->State();
-
-    if (aResourceId == R_VEI_CUT_VIDEO_VIEW_MENU_CLEAR_MARKS)
-        {
-        // delet in, out, in & out as necessary.
-
-        if (iMovie->AudioClipCutInTime(iIndex) <= TTimeIntervalMicroSeconds(0)) 
-            {
-            aMenuPane->SetItemDimmed(EVeiCmdCutVideoViewClearMarksIn, ETrue);
-            }
-        if (iMovie->AudioClipCutOutTime(iIndex) >= iMovie->AudioClipInfo(iIndex)->Duration() ) 
-            {
-            aMenuPane->SetItemDimmed(EVeiCmdCutVideoViewClearMarksOut, ETrue);
-            }
-        if (!((iMovie->AudioClipCutOutTime(iIndex) < iMovie->AudioClipInfo(iIndex)->Duration())
-            && (iMovie->AudioClipCutInTime(iIndex) > TTimeIntervalMicroSeconds(0))))
-            {
-            aMenuPane->SetItemDimmed(EVeiCmdCutVideoViewClearMarksInOut, ETrue);
-            }
-        }
-
-    if ( aResourceId == R_VEI_CUT_VIDEO_VIEW_MENU )
-        {
-        aMenuPane->SetItemDimmed( EVeiCmdCutVideoTakeSnapshot, ETrue );
-
-        if ( iPopupMenuOpened != EFalse )
-            {
-            aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewClearMarks, ETrue );
-            aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewHelp, ETrue );
-            }
-
-        if ( ( iMovie->AudioClipCutInTime( iIndex ) == TTimeIntervalMicroSeconds( 0 ) && 
-            iMovie->AudioClipCutOutTime( iIndex ) == iMovie->AudioClipInfo( iIndex )->Duration() ) )
-            {
-            aMenuPane->DeleteMenuItem( EVeiCmdCutVideoViewPlayMarked );
-            }
-        if ( state != CVeiCutAudioContainer::EStatePlayingMenuOpen && 
-            state != CVeiCutAudioContainer::EStatePaused )
-            {
-            aMenuPane->DeleteMenuItem( EVeiCmdCutVideoViewContinue );
-            }
-        if ( ( state == CVeiCutAudioContainer::EStateStopped ) ||
-             ( state == CVeiCutAudioContainer::EStateStoppedInitial ) )
-            {
-            aMenuPane->DeleteMenuItem( EVeiCmdCutVideoViewStop );
-            }
-
-        if ( ( iMovie->AudioClipCutOutTime( iIndex ) >= iMovie->AudioClipInfo( iIndex )->Duration() ) &&
-            ( iMovie->AudioClipCutInTime( iIndex ) <= TTimeIntervalMicroSeconds( 0 ) ) ) 
-            {
-            aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewClearMarks, ETrue );
-            }
-        if ( state == CVeiCutAudioContainer::EStatePaused )
-            {
-            aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewPlay, ETrue  );
-            }
-        if ( state == CVeiCutAudioContainer::EStateStoppedInitial )
-            {
-            //aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewMarkIn, ETrue );
-            //aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewMarkOut, ETrue );    
-            }
-        }
-
-    if ( aResourceId != R_VEI_CUT_VIDEO_VIEW_MENU )
-        return;
-
-
-    if ( ( state != CVeiCutAudioContainer::EStateStopped ) && 
-        ( state != CVeiCutAudioContainer::EStateStoppedInitial ) &&
-        ( state != CVeiCutAudioContainer::EStatePaused ) )
-        {
-        aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewPlay, ETrue  );
-        aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewMarkIn, ETrue  );
-        aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewMarkOut, ETrue  ); 
-        }
-    else
-        {
-        if ( iContainer->PlaybackPositionL() <= iMovie->AudioClipCutInTime( iIndex ) )
-            {
-            aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewMarkOut, ETrue );  
-            }
-        else 
-            {
-            if ( iContainer->PlaybackPositionL() >= iMovie->AudioClipCutOutTime( iIndex ) )
-                {
-                aMenuPane->SetItemDimmed( EVeiCmdCutVideoViewMarkIn, ETrue );
-                }
-            }
-        }
-
-    }
-
-TUid CVeiCutAudioView::Id() const
-    {
-    return TUid::Uid( EVeiCutAudioView );
-    }
-
-void CVeiCutAudioView::HandleCommandL(TInt aCommand)
-    {   
-    switch ( aCommand )
-        {
-        case EAknSoftkeyOk:
-            {
-            iPopupMenuOpened = ETrue;
-            if (iContainer->State() == CVeiCutAudioContainer::EStatePlaying) 
-                {
-                PausePreviewL();
-                iContainer->SetStateL(CVeiCutAudioContainer::EStatePlayingMenuOpen);
-                }
-
-            MenuBar()->TryDisplayMenuBarL();
-            if (iContainer->State() == CVeiCutAudioContainer::EStatePlayingMenuOpen) 
-                {
-                iContainer->SetStateL(CVeiCutAudioContainer::EStatePaused);
-                }
-            iPopupMenuOpened = EFalse;
-            break;
-            }       
-        case EVeiCmdCutVideoViewDone:
-        case EVeiCmdCutVideoViewBack:
-        case EAknSoftkeyBack:
-            {
-            iContainer->CloseStreamL();
-
-            StopNaviPaneUpdateL();
-
-            // Activate Edit Video view
-            AppUi()->ActivateLocalViewL( TUid::Uid(EVeiEditVideoView) );
-            break;
-            }
-
-        case EVeiCmdCutVideoViewMarkIn:
-            {
-            MarkInL();
-            break;
-            }
-        case EVeiCmdCutVideoViewMarkOut:
-            {
-            MarkOutL();
-            break;
-            }
-        case EVeiCmdCutVideoViewClearMarksInOut:
-            {
-            ClearInOutL( ETrue, ETrue );
-            break;
-            }
-        case EVeiCmdCutVideoViewClearMarksIn:
-            {
-            ClearInOutL( ETrue, EFalse );
-            break;
-            }
-        case EVeiCmdCutVideoViewClearMarksOut:
-            {
-            ClearInOutL( EFalse, ETrue );
-            break;
-            }
-        case EVeiCmdCutVideoViewPlayMarked:
-            {
-            STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl() )->
-                SetPauseIconVisibilityL( EFalse );
-            PlayMarkedL();
-            break;
-            }
-        case EVeiCmdCutVideoViewPlay:
-            {
-            STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl() )->
-                SetPauseIconVisibilityL( EFalse );
-            iNaviPane->PushL( *iTimeNavi );
-            
-            PlayPreviewL();
-            break;
-            }
-        case EVeiCmdCutVideoViewStop:
-            {
-            STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl() )->
-                SetPauseIconVisibilityL( EFalse );
-            iNaviPane->PushL( *iTimeNavi );
-            iContainer->StopL();
-            StopNaviPaneUpdateL();
-            break;
-            }
-        case EVeiCmdCutVideoViewContinue:
-            {
-            STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl() )->
-                SetPauseIconVisibilityL( EFalse );
-            iNaviPane->PushL( *iTimeNavi );
-            PlayPreviewL();
-            break;
-            }
-        case EVeiCmdCutVideoVolumeDown:
-            {
-            if ( !iAudioMuted )
-                {
-                VolumeDownL();
-                }
-            break;
-            }
-        case EVeiCmdCutVideoVolumeUp:
-            {
-            if ( !iAudioMuted )
-                {
-                VolumeUpL();    
-                }
-            break;
-            }
-        //
-        // Options->Help
-        //
-        case EVeiCmdCutVideoViewHelp:
-            {
-            // CS Help launching is handled in Video Editor's AppUi.
-            AppUi()->HandleCommandL( EVeiCmdCutVideoViewHelp );
-            break;
-            }
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-
-void CVeiCutAudioView::DoActivateL(
-   const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/,
-   const TDesC8& /*aCustomMessage*/)
-    {
-
-    if (!iContainer)
-        {
-        iContainer = CVeiCutAudioContainer::NewL( AppUi()->ClientRect(), *this, *iErrorUI );
-        iContainer->SetMopParent( this );
-        AppUi()->AddToStackL( *this, iContainer );
-        }
-
-    CEikStatusPane *statusPane = ( ( CAknAppUi* )iEikonEnv->EikAppUi() )->StatusPane(); 
-    
-    CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) );
-    TResourceReader reader1;
-    iCoeEnv->CreateResourceReaderLC( reader1, R_VEI_CUTAUDIO_VIEW_TITLE_NAME );
-    titlePane->SetFromResourceL( reader1 );
-    CleanupStack::PopAndDestroy(); //reader1
-
-    iNaviPane->PushL( *iTimeNavi );
-    
-    iAudioMuted = EFalse;
-
-    STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->
-        SetVolumeIconVisibilityL( ETrue );
-    STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl() )->
-            SetPauseIconVisibilityL( EFalse );
-    
-    iContainer->SetInTimeL( iMovie->AudioClipCutInTime( iIndex ) );
-    iContainer->SetOutTimeL( iMovie->AudioClipCutOutTime( iIndex ) );
-    iContainer->SetDuration( iMovie->AudioClipInfo( iIndex )->Duration() );
-    
-    // <testing>
-/*  TTimeIntervalMicroSeconds time1 = iMovie->AudioClipInfo( iIndex )->Duration();
-    TTimeIntervalMicroSeconds time2 = iMovie->AudioClipCutInTime( iIndex );
-    TTimeIntervalMicroSeconds time3 = iMovie->AudioClipCutOutTime( iIndex );    
-    TTimeIntervalMicroSeconds time4 = iMovie->AudioClipStartTime( iIndex );
-    TTimeIntervalMicroSeconds time5 = iMovie->AudioClipEndTime( iIndex );
-    TTimeIntervalMicroSeconds time6 = iMovie->AudioClipEditedDuration( iIndex );
-    TTimeIntervalMicroSeconds time7(time3.Int64() - time2.Int64());
-    TTimeIntervalMicroSeconds time8(time5.Int64() - time4.Int64());
-*/  // </testing>
-
-    // Start processing the file asynchronously. This is needed because
-    // CVeiCutAudioContainer::OpenAudioFileL launches a progress dialog.
-    // If it is called syncronously the previous view deactivation has 
-    // not completed, and view shutter dismisses the progress dialog...
-    if (! iCallBack)
-        {       
-        TCallBack cb (CVeiCutAudioView::AsyncOpenAudioFile, this);
-        iCallBack = new (ELeave) CAsyncCallBack(cb, CActive::EPriorityStandard);
-        }
-    iCallBack->CallBack();
-
-    iOriginalCutInTime = iMovie->AudioClipCutInTime( iIndex );
-    
-    DrawTimeNaviL();
-
-    iErrorNmb = 0;      
-    }
-
-// ---------------------------------------------------------
-// CVeiCutAudioView::AsyncOpenAudioFile
-// ?implementation_description
-// ---------------------------------------------------------
-//
-TInt CVeiCutAudioView::AsyncOpenAudioFile(TAny* aThis)
-    {
-    LOG( KVideoEditorLogFile, "CVeiCutAudioView::AsyncOpenAudioFile");
-
-    // In the asynchronous version, trap the rest of the functions 
-    // to make sure that the caller's TRequestStatus is always 
-    // completed, also in case of failures.
-    CVeiCutAudioView* view = static_cast<CVeiCutAudioView*>(aThis);
-    TRAPD(err, view->OpenAudioFileL() );
-
-    if (err)
-        {
-        // Display error message here, otherwise it would be quietly ignored.
-        TBuf<256> unused;
-        view->AppUi()->HandleError(err, SExtendedError(), unused, unused);
-        }
-
-    return err;
-    }
-
-// ---------------------------------------------------------
-// CVeiCutAudioView::OpenAudioFileL()
-// ?implementation_description
-// ---------------------------------------------------------
-//
-void CVeiCutAudioView::OpenAudioFileL()
-    {
-    TFileName audioClipFileName = iMovie->AudioClipInfo( iIndex )->FileName();
-    iContainer->OpenAudioFileL( audioClipFileName );
-    }
-
-// ---------------------------------------------------------
-// CVeiCutAudioView::DoDeactivate()
-// ?implementation_description
-// ---------------------------------------------------------
-//
-void CVeiCutAudioView::DoDeactivate()
-   {  
-    iNaviPane->Pop( iVolumeNavi );
-
-    if ( iTimeUpdater )
-        {
-        iTimeUpdater->Cancel();
-        }
-    if ( iVolumeHider )
-        {
-        iVolumeHider->Cancel();
-        }
-    if ( iContainer )
-        {
-        iNaviPane->Pop( iTimeNavi );
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-
-        delete iContainer;
-        iContainer = NULL;
-        }
-
-    }
-
-void CVeiCutAudioView::SetVideoClipAndIndex( CVedMovie& aVideoClip, TInt aIndex )
-    {
-    iMovie = &aVideoClip;
-
-    iIndex = aIndex;
-    }
-
-void CVeiCutAudioView::PlayPreviewL()
-    {
-    iPlayMarked = EFalse;
-    StartNaviPaneUpdateL();
-    iContainer->PlayL();
-    }
-
-void CVeiCutAudioView::PausePreviewL()
-    {
-    STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl() )->
-        SetPauseIconVisibilityL( ETrue );
-    StopNaviPaneUpdateL();
-    iContainer->PauseL();
-    }
-
-void CVeiCutAudioView::UpdateCBAL(TInt aState)
-    {
-    switch (aState)
-        {
-        case CVeiCutAudioContainer::EStateInitializing:
-        case CVeiCutAudioContainer::EStateOpening:
-            {
-            Cba()->SetCommandSetL(R_AVKON_SOFTKEYS_EMPTY); 
-            break;
-            }
-        case CVeiCutAudioContainer::EStateStoppedInitial:
-            {           
-            if ( ( iMovie->AudioClipCutInTime( iIndex ) == TTimeIntervalMicroSeconds( 0 ) ) &&
-                 ( iMovie->AudioClipCutOutTime( iIndex ) == iMovie->AudioClipInfo(iIndex)->Duration() ) )
-                {       
-                Cba()->SetCommandSetL(R_AVKON_SOFTKEYS_OPTIONS_BACK);   
-                }
-            else
-                {                                                               
-                Cba()->SetCommandSetL(R_VEI_SOFTKEYS_OPTIONS_DONE);             
-                }
-            break;          
-            }
-        case CVeiCutAudioContainer::EStatePaused:
-        case CVeiCutAudioContainer::EStateStopped:
-            {
-            if ( ( iMovie->AudioClipCutInTime( iIndex ) == TTimeIntervalMicroSeconds( 0 ) ) &&
-                 ( iMovie->AudioClipCutOutTime( iIndex ) == iMovie->AudioClipInfo(iIndex)->Duration() ) )
-                {       
-                Cba()->SetCommandSetL(R_AVKON_SOFTKEYS_OPTIONS_BACK);   
-                }
-            else
-                {                                                               
-                Cba()->SetCommandSetL(R_VEI_SOFTKEYS_OPTIONS_DONE);             
-                }
-            break;
-            }
-        case CVeiCutAudioContainer::EStatePlaying:
-            {
-
-            if ( iContainer->PlaybackPositionL() < iMovie->AudioClipCutInTime( iIndex ) )
-                {
-                Cba()->SetCommandSetL( R_VEI_SOFTKEYS_IN_EMPTY ); 
-                iMarkState = EMarkStateIn;
-                }
-            else if ( iContainer->PlaybackPositionL() < iMovie->AudioClipCutOutTime( iIndex ) )
-                {
-                Cba()->SetCommandSetL( R_VEI_SOFTKEYS_IN_OUT ); 
-                iMarkState = EMarkStateInOut;
-                }
-            else if ( ( iContainer->PlaybackPositionL() > iMovie->AudioClipCutOutTime( iIndex ) ) && iPlayMarked )
-                {
-                iContainer->StopL();
-                iPlayMarked = EFalse;
-                }
-            else
-                {
-                Cba()->SetCommandSetL( R_VEI_SOFTKEYS_EMPTY_OUT ); 
-                iMarkState = EMarkStateOut;
-                }
-            break;
-            }
-        default:
-            {
-            break;  
-            }
-        }
-    Cba()->DrawDeferred();
-    }
-
-void CVeiCutAudioView::PlayMarkedL()
-    {
-    TTimeIntervalMicroSeconds audioPlayStartTime;
-    audioPlayStartTime = iMovie->AudioClipCutInTime( iIndex );
-    
-    TTimeIntervalMicroSeconds audioPlayCutOutTime;
-    audioPlayCutOutTime = iMovie->AudioClipCutOutTime( iIndex );
-    
-    if ( !(( audioPlayStartTime.Int64() + 50000 ) > audioPlayCutOutTime.Int64() ) )
-        {
-        iPlayMarked = ETrue;    
-        StartNaviPaneUpdateL();
-    
-        iContainer->PlayL( audioPlayStartTime.Int64() + 1000 );
-        }
-    else    
-        {
-        iContainer->StopL();
-        }
-    }
-
-void CVeiCutAudioView::ClearInOutL( TBool aClearIn, TBool aClearOut )
-    {
-    if ( aClearIn ) 
-        {
-        iMovie->AudioClipSetCutInTime( iIndex, TTimeIntervalMicroSeconds( 0 ) );
-        iContainer->SetInTimeL( iMovie->AudioClipCutInTime( iIndex ) );
-        }
-    if ( aClearOut ) 
-        {
-        TTimeIntervalMicroSeconds audioClipOriginalDuration;
-        audioClipOriginalDuration = iMovie->AudioClipInfo( iIndex )->Duration();
-        iMovie->AudioClipSetCutOutTime( iIndex, audioClipOriginalDuration );
-        iContainer->SetOutTimeL( audioClipOriginalDuration );
-        }
-        
-    TTimeIntervalMicroSeconds cutin = iMovie->AudioClipCutInTime( iIndex );
-    TTimeIntervalMicroSeconds cutout = iMovie->AudioClipCutOutTime( iIndex );
-    
-    if ( ( cutin == TTimeIntervalMicroSeconds( 0 ) ) &&
-         ( cutout == iMovie->AudioClipInfo(iIndex)->Duration() ) )
-        {       
-        Cba()->SetCommandSetL(R_AVKON_SOFTKEYS_OPTIONS_BACK);   
-        Cba()->DrawDeferred();
-        }   
-    }
-
-void CVeiCutAudioView::MarkInL()
-    {
-    STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl() )->
-                SetPauseIconVisibilityL( ETrue );
-    StopNaviPaneUpdateL();
-/* Check that cut in time is before cut out time */
-    TTimeIntervalMicroSeconds cutOutTime = iMovie->AudioClipCutOutTime( iIndex );
-    TTimeIntervalMicroSeconds cutInTime = iContainer->PlaybackPositionL();
-    if ( cutInTime >= cutOutTime )
-        {
-        cutInTime = cutOutTime.Int64() - 100000;
-        }
-    
-    iMovie->AudioClipSetCutInTime( iIndex, cutInTime );
-    iContainer->MarkedInL();
-    }
-
-void CVeiCutAudioView::MarkOutL()
-    {
-    STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl() )->
-        SetPauseIconVisibilityL( ETrue );
-    StopNaviPaneUpdateL();
-    
-    TTimeIntervalMicroSeconds cutOutTime = iContainer->PlaybackPositionL();
-    TTimeIntervalMicroSeconds cutInTime = iMovie->AudioClipCutInTime( iIndex );
-    if ( cutOutTime <= cutInTime )
-        {
-        cutOutTime = cutInTime.Int64() + 100000;
-        }           
-    
-    //iMovie->AudioClipSetCutOutTime( iIndex, iContainer->PlaybackPositionL() );
-    iMovie->AudioClipSetCutOutTime( iIndex, cutOutTime );   
-    iContainer->MarkedOutL();
-    }
-
-void CVeiCutAudioView::MoveStartOrEndMarkL( TTimeIntervalMicroSeconds aPosition, CVeiCutAudioContainer::TCutMark aMarkType )
-	{
-	LOG(KVideoEditorLogFile, "CVeiCutAudioView::MoveStartOrEndMarkL, In");
-	
-	StopNaviPaneUpdateL();
-	
-	LOG(KVideoEditorLogFile, "CVeiCutAudioView::MoveStartOrEndMarkL, 2");
-	
-	if ( aMarkType == CVeiCutAudioContainer::EStartMark )
-		{
-		iMovie->VideoClipSetCutInTime( iIndex, aPosition );
-		}
-	else if ( aMarkType == CVeiCutAudioContainer::EEndMark )
-		{
-		iMovie->VideoClipSetCutOutTime( iIndex, aPosition );
-		}		
-	LOG( KVideoEditorLogFile, "CVeiCutAudioView::MoveStartOrEndMarkL, Out" );
-	}
-
-
-TUint CVeiCutAudioView::InPointTime()
-    {
-    if ( !iMovie )
-        {
-        return 0;
-        }
-    else
-        {
-        return (static_cast<TInt32>(iMovie->AudioClipCutInTime(iIndex).Int64() / 1000));
-        }
-    }
-
-TUint CVeiCutAudioView::OutPointTime()
-    {
-    if ( !iMovie )
-        {
-        return 0;
-        }
-    else
-        {
-        return (static_cast<TInt32>(iMovie->AudioClipCutOutTime(iIndex).Int64() / 1000));
-        }
-    }
-
-CAknNavigationDecorator* CVeiCutAudioView::CreateTimeLabelNaviL()
-    {
-    CVeiTimeLabelNavi* timelabelnavi = CVeiTimeLabelNavi::NewLC();
-    CAknNavigationDecorator* decoratedFolder =
-        CAknNavigationDecorator::NewL(iNaviPane, timelabelnavi, CAknNavigationDecorator::ENotSpecified);
-    CleanupStack::Pop(timelabelnavi);
-    
-    CleanupStack::PushL(decoratedFolder);
-    decoratedFolder->SetContainerWindowL(*iNaviPane);
-    CleanupStack::Pop(decoratedFolder);
-    decoratedFolder->MakeScrollButtonVisible(EFalse);
-
-    return decoratedFolder;
-    }
-
-TInt CVeiCutAudioView::UpdateTimeCallbackL(TAny* aPtr)
-    {
-    CVeiCutAudioView* view = (CVeiCutAudioView*)aPtr;
-
-    view->UpdateTimeL();
-
-    return 1;
-    }
-
-
-void CVeiCutAudioView::UpdateTimeL()
-    {
-    DrawTimeNaviL();
-
-    TTimeIntervalMicroSeconds playbackPos = iContainer->PlaybackPositionL();
-
-    if (iMarkState == EMarkStateIn) 
-        {
-        if (playbackPos > iMovie->AudioClipCutInTime( iIndex )) 
-            {
-            UpdateCBAL(iContainer->State());
-            }
-        }
-    else if (iMarkState == EMarkStateOut) 
-        {
-        if (playbackPos < iMovie->AudioClipCutOutTime( iIndex )) 
-            {
-            UpdateCBAL(iContainer->State());
-            }
-        }
-    else 
-        {
-        if ((playbackPos < iMovie->AudioClipCutInTime( iIndex )) ||
-            (playbackPos > iMovie->AudioClipCutOutTime( iIndex ))) 
-            {
-            UpdateCBAL(iContainer->State());
-            }
-        }
-    }
-
-void CVeiCutAudioView::DrawTimeNaviL()
-    {
-    TTime elapsed( iContainer->PlaybackPositionL().Int64() );
-    TTime total( iContainer->TotalLength().Int64() );
-
-    TBuf<16> elapsedBuf;
-    TBuf<16> totalBuf;
-
-    HBufC* dateFormatString;
-
-    if ( ( total.Int64() / 1000 ) < 3600000 )   // check if time is over 99:59
-        {
-        dateFormatString = iEikonEnv->AllocReadResourceLC( R_QTN_TIME_DURAT_MIN_SEC );
-        }
-    else
-        {
-        dateFormatString = iEikonEnv->AllocReadResourceLC( R_QTN_TIME_DURAT_LONG );
-        }
-
-    elapsed.FormatL(elapsedBuf, *dateFormatString);
-    total.FormatL(totalBuf, *dateFormatString);
-    CleanupStack::PopAndDestroy(dateFormatString);
-           
-    CDesCArrayFlat* strings = new (ELeave) CDesCArrayFlat(2);
-    CleanupStack::PushL(strings);
-    strings->AppendL(elapsedBuf);
-    strings->AppendL(totalBuf);
-    HBufC* stringholder = StringLoader::LoadL(R_VEI_NAVI_TIME, *strings, iEikonEnv);
-    CleanupStack::PopAndDestroy(strings);
-    CleanupStack::PushL(stringholder);
-
-    STATIC_CAST(CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->SetLabelL(stringholder->Des());
-
-    CleanupStack::PopAndDestroy(stringholder);
-
-
-    /* Prevent the screen light dimming. */
-    if (elapsed.DateTime().Second() == 0 || elapsed.DateTime().Second() == 15 || elapsed.DateTime().Second() == 30 || elapsed.DateTime().Second() == 45)
-        {
-        User::ResetInactivityTime();
-        }
-    }
-
-
-void CVeiCutAudioView::StartNaviPaneUpdateL()
-    {
-    DrawTimeNaviL();
-    if (iTimeUpdater && !iTimeUpdater->IsActive())
-        {
-        iTimeUpdater->Start(500000, 500000, TCallBack(CVeiCutAudioView::UpdateTimeCallbackL, this));
-        }
-    }
-
-void CVeiCutAudioView::StopNaviPaneUpdateL()
-    {
-    if (iContainer)
-        {
-        DrawTimeNaviL();
-        }
-    if (iTimeUpdater && iTimeUpdater->IsActive())
-        {
-        iTimeUpdater->Cancel();
-        }
-    }
-
-TInt CVeiCutAudioView::HideVolumeCallbackL(TAny* aPtr)
-    {
-    CVeiCutAudioView* view = (CVeiCutAudioView*)aPtr;
-    view->HideVolume();
-    return 0;
-    }
-
-void CVeiCutAudioView::HideVolume()
-    {
-    iNaviPane->Pop(iVolumeNavi);
-    }
-
-void CVeiCutAudioView::VolumeMuteL()
-    {
-    iContainer->SetVolumeL(-1000);
-    }
-
-void CVeiCutAudioView::VolumeDownL()
-    {
-    iContainer->SetVolumeL(-1);
-    TInt volume = iContainer->Volume();
-    if (iVolumeHider->IsActive())
-        {
-        iVolumeHider->Cancel();
-        }
-    if (volume == 0) 
-        {
-        STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->
-            SetVolumeIconVisibilityL( EFalse );
-        HideVolume();
-        volume = 1;
-        return;
-        }
-
-    iNaviPane->PushL(*iVolumeNavi);
-    iVolumeHider->Start(1000000, 100000, TCallBack(CVeiCutAudioView::HideVolumeCallbackL, this));
-
-    STATIC_CAST(CAknVolumeControl*, iVolumeNavi->DecoratedControl())->SetValue(volume);
-
-    STATIC_CAST(CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->SetLeftArrowVisibilityL(ETrue);
-
-    if (volume < iContainer->MaxVolume())
-        {
-        STATIC_CAST(CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->SetRightArrowVisibilityL(ETrue);
-        }
-    else
-        {
-        STATIC_CAST(CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->SetRightArrowVisibilityL(EFalse);
-        }
-    }
-
-void CVeiCutAudioView::VolumeUpL()
-    {
-    iContainer->SetVolumeL(1);
-    STATIC_CAST( CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->
-            SetVolumeIconVisibilityL( ETrue );
-
-    TInt volume = iContainer->Volume();
-    if (iVolumeHider->IsActive())
-        {
-        iVolumeHider->Cancel();
-        }
-    iNaviPane->PushL(*iVolumeNavi);
-    iVolumeHider->Start(1000000, 1000000, TCallBack(CVeiCutAudioView::HideVolumeCallbackL, this));
-
-    STATIC_CAST(CAknVolumeControl*, iVolumeNavi->DecoratedControl())->SetValue(volume);
-
-    if (volume > iContainer->MinVolume() + 1)
-        {
-        STATIC_CAST(CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->SetLeftArrowVisibilityL(ETrue);
-        }
-    else
-        {
-        STATIC_CAST(CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->SetLeftArrowVisibilityL(EFalse);
-        }
-
-    if (volume < iContainer->MaxVolume())
-        {
-        STATIC_CAST(CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->SetRightArrowVisibilityL(ETrue);
-        }
-    else
-        {
-        STATIC_CAST(CVeiTimeLabelNavi*, iTimeNavi->DecoratedControl())->SetRightArrowVisibilityL(EFalse);
-        }
-    
-    }
-
-void CVeiCutAudioView::HandleForegroundEventL  ( TBool aForeground )
-    {
-    if ( !aForeground )
-        {
-        // If the application is closing down, calling PauseL could result in 
-        // a callback from the MMF player after the container is already deleted,
-        // causing KERN-EXEC 3
-        if ( static_cast<CVeiAppUi*>( AppUi() )->AppIsOnTheWayToDestruction() )
-            {
-            iContainer->PrepareForTerminationL();
-            }
-        else
-            {
-            iContainer->PauseL();
-            }
-        iNaviPane->Pop( iTimeNavi );
-        }
-    else
-        {
-        iNaviPane->PushL( *iTimeNavi );
-        }
-    }
-
-// ---------------------------------------------------------
-// CVeiCutAudioView::HandleStatusPaneSizeChange()
-// ---------------------------------------------------------
-//
-void CVeiCutAudioView::HandleStatusPaneSizeChange()
-    {
-    if ( iContainer )
-        {
-        iContainer->SetRect( AppUi()->ClientRect() );
-        }
-    }
-
-void CVeiCutAudioView::GetAudioVisualizationL()
-    {
-    LOG(KVideoEditorLogFile, "CVeiCutAudioView::GetAudioVisualization(), In");
-    CVedAudioClipInfo* audioInfo = NULL;
-    if (iMovie)
-        {       
-        audioInfo = iMovie->AudioClipInfo( iIndex );        
-        if (audioInfo && iContainer)
-            {
-            TInt64 duration = audioInfo->Duration().Int64();
-            TInt resolution = (duration/1000)/KAudioSampleInterval;
-
-            LOGFMT(KVideoEditorLogFile, "CVeiCutAudioView::GetAudioVisualization() 2, calling audioInfo->GetVisualizationL(*iContainer, resolution, 1), where resolution is:%Ld", resolution);
-            audioInfo->GetVisualizationL(*iContainer, resolution, 1);
-            }               
-        }
-
-    LOG(KVideoEditorLogFile, "CVeiCutAudioView::GetAudioVisualization(), Out");
-    }
-
-void CVeiCutAudioView::CancelVisualizationL()
-    {
-    CVedAudioClipInfo* audioInfo = NULL;
-    if (iMovie)
-        {       
-        audioInfo = iMovie->AudioClipInfo( iIndex );        
-        }
-    if (audioInfo && iContainer)
-        {       
-        TInt resolution = (audioInfo->Duration().Int64()/1000)/KAudioSampleInterval;    
-        audioInfo->CancelVisualizationL();      
-        }   
-    }
-
-void CVeiCutAudioView::HandleResourceChange(TInt aType)
-    {
-    LOGFMT(KVideoEditorLogFile, "CVeiCutAudioView::HandleResourceChange() In, aType:%d", aType);
-    
-    if (KAknsMessageSkinChange == aType)
-        {
-        // Handle skin change in the navi label controls - they do not receive 
-        // it automatically since they are not in the control stack
-        iTimeNavi->DecoratedControl()->HandleResourceChange( aType );
-        iVolumeNavi->DecoratedControl()->HandleResourceChange( aType );
-        }
-    
-    LOG(KVideoEditorLogFile, "CVeiCutAudioView::HandleResourceChange() Out");
-    }
-
-// End of File