videoeditorengine/audioeditorengine/src/AudClip.cpp
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 7 4c409de21d23
--- a/videoeditorengine/audioeditorengine/src/AudClip.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,453 +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:  
-*
-*/
-
-
-/* Copyright (c) 2003 Nokia. All rights reserved. */
-
-#include "AudClip.h"
-#include "AudPanic.h"
-
-#include "AudClipInfo.h"
-#include "AudSong.h"
-#include "ProcTools.h"
-
-    
-CAudClip* CAudClip::NewL(CAudSong* aSong, const TDesC& aFileName,
-        TTimeIntervalMicroSeconds aStartTime,                            
-        MAudClipInfoObserver& aObserver, TInt aTrackIndex) 
-    {
-    
-    CAudClip* self = new (ELeave) CAudClip(aSong);
-    CleanupStack::PushL(self);
-    self->ConstructL(aFileName, aStartTime, aObserver, aTrackIndex);
-    CleanupStack::Pop(self);
-    return self;
-    
-    }
-    
-CAudClip* CAudClip::NewL(CAudSong* aSong, RFile* aFileHandle,
-        TTimeIntervalMicroSeconds aStartTime,                            
-        MAudClipInfoObserver& aObserver, TInt aTrackIndex) 
-    {
-    
-    CAudClip* self = new (ELeave) CAudClip(aSong);
-    CleanupStack::PushL(self);
-    self->ConstructL(aFileHandle, aStartTime, aObserver, aTrackIndex);
-    CleanupStack::Pop(self);
-    return self;
-    
-    }
-
-
-CAudClip::CAudClip(CAudSong* aSong) : iSong(aSong), iMute(EFalse), iNormalize(EFalse), 
-iPriority(KAudClipPriorityNormal) 
-    {
-    
-    }
-
-EXPORT_C CAudClipInfo* CAudClip::Info() const 
-    {
-
-    return iInfo;
-    }
-
-EXPORT_C TBool CAudClip::Normalizing() const 
-    {
-
-    return iNormalize;
-    }
-
-EXPORT_C TAudDynamicLevelMark CAudClip::DynamicLevelMark(TInt aIndex) const 
-    {
-
-    return *iDynamicLevelMarkArray[aIndex];
-    }
-    
-EXPORT_C TInt CAudClip::DynamicLevelMarkCount() const 
-    {
-
-    return iDynamicLevelMarkArray.Count();
-    }
-EXPORT_C TBool CAudClip::Muting() const
-    {
-    return iMute;
-    }
-
-EXPORT_C void CAudClip::SetStartTime(TTimeIntervalMicroSeconds aStartTime) 
-    {
-
-    if (iStartTime.Int64() != aStartTime.Int64()-iCutInTime.Int64()) 
-        {
-        iStartTime = aStartTime.Int64()-iCutInTime.Int64();
-        }
-        
-
-    TInt clipIndexOnSong = iSong->FindClipIndexOnSong(this);
-    TInt newIndex = 0;
-    TBool found = EFalse;
-    for (newIndex = 0 ; newIndex < iSong->ClipCount(KAllTrackIndices); newIndex++) 
-        {
-        if (iSong->iClipArray[newIndex]->StartTime() > aStartTime) 
-            {
-            found = ETrue;
-            break;
-            }
-        }
-    if (!found) 
-        {
-        newIndex = iSong->ClipCount(KAllTrackIndices);
-        }
-
-    // the order is the same
-    if (newIndex == clipIndexOnSong || newIndex == clipIndexOnSong+1) 
-        {
-        
-        iSong->FireClipTimingsChanged(iSong, this);
-        }
-    else 
-        {
-
-
-        TInt oldIndexOnTrack = iIndex;
-        iSong->UpdateClipArray();
-        iSong->UpdateClipIndexes();
-        TInt newIndexOnTrack = iIndex;
-
-        if (oldIndexOnTrack != newIndexOnTrack) 
-            {
-            iSong->FireClipIndicesChanged(iSong, oldIndexOnTrack, newIndexOnTrack, iTrackIndex);
-            }
-        else 
-            {
-            iSong->FireClipTimingsChanged(iSong, this);
-            }
-
-        }
-
-    }
-
-
-
-
-EXPORT_C TTimeIntervalMicroSeconds CAudClip::StartTime() const 
-    {
-
-    return iStartTime.Int64()+iCutInTime.Int64();
-    }
-
-
-
-TInt32 CAudClip::StartTimeMilliSeconds() const 
-    {
-
-    return ProcTools::MilliSeconds(iStartTime);
-    
-    }
-
-EXPORT_C TTimeIntervalMicroSeconds CAudClip::EndTime() const
-    {
-    return TTimeIntervalMicroSeconds(iStartTime.Int64()+iCutOutTime.Int64());
-
-    }
-
-
-EXPORT_C TTimeIntervalMicroSeconds CAudClip::EditedDuration() const
-    {
-    TTimeIntervalMicroSeconds edDur(iCutOutTime.Int64()-iCutInTime.Int64());
-    return edDur;
-
-    }
-
-EXPORT_C TInt CAudClip::Priority() const
-    {
-    return iPriority;
-    
-    }
-
-
-EXPORT_C TInt CAudClip::IndexOnTrack() const 
-    {
-
-    return iIndex;
-    }
-
-
-
-EXPORT_C TInt CAudClip::TrackIndex() const 
-    {
-
-    return iTrackIndex;
-    }
-
-
-EXPORT_C TTimeIntervalMicroSeconds CAudClip::CutInTime() const 
-    {
-    
-    return iCutInTime;
-    }
-    
-
-TInt32 CAudClip::CutInTimeMilliSeconds() const 
-    {
-
-    return ProcTools::MilliSeconds(iCutInTime);
-    
-    }
-
-EXPORT_C void CAudClip::SetCutInTime(TTimeIntervalMicroSeconds aCutInTime) 
-    {
-
-    TInt64 oldCutIn = iCutInTime.Int64();
-    TInt64 cutDif = aCutInTime.Int64() - oldCutIn;  
-
-    iCutInTime = aCutInTime;
-    iStartTime = (TTimeIntervalMicroSeconds)(iStartTime.Int64()-cutDif);
-    iSong->FireClipTimingsChanged(iSong, this);
-    }
-    
-EXPORT_C TTimeIntervalMicroSeconds CAudClip::CutOutTime() const 
-    {
-
-    return iCutOutTime;
-    }
-
-TInt32 CAudClip::CutOutTimeMilliSeconds() const 
-    {
-
-    return ProcTools::MilliSeconds(iCutOutTime);
-    
-
-    }
-    
-EXPORT_C void CAudClip::SetCutOutTime(TTimeIntervalMicroSeconds aCutOutTime) 
-    {
-
-    iCutOutTime = aCutOutTime;
-    iSong->FireClipTimingsChanged(iSong, this);
-    }
-
-
-
-
-EXPORT_C TBool CAudClip::SetPriority(TInt aPriority)
-
-    {
-    if (aPriority < 0) return EFalse;
-
-    iPriority = aPriority;
-    return ETrue;
-
-    }
-
-
-EXPORT_C TInt CAudClip::InsertDynamicLevelMarkL(const TAudDynamicLevelMark& aMark) 
-    {
-
-    if (aMark.iTime < TTimeIntervalMicroSeconds(0)) 
-        {
-        TAudPanic::Panic(TAudPanic::EIllegalDynamicLevelMark);
-        }
-
-    TAudDynamicLevelMark* newMark = new (ELeave) TAudDynamicLevelMark(aMark);
-    
-    TBool added = EFalse;
-    TInt err = KErrNone;
-
-    // insert marks so that they are always sorted by time
-    TInt index = 0;
-    for (index = 0 ; index < iDynamicLevelMarkArray.Count() ; index++) 
-        {
-        if (iDynamicLevelMarkArray[index]->iTime == newMark->iTime) 
-            {
-            // replace the level
-            TAudDynamicLevelMark* oldMark = iDynamicLevelMarkArray[index];
-            iDynamicLevelMarkArray.Remove(index);
-            delete oldMark;
-            err = iDynamicLevelMarkArray.Insert(newMark, index);
-            added = ETrue;
-            break;
-            }
-        else if (iDynamicLevelMarkArray[index]->iTime > newMark->iTime) 
-            {
-            err = iDynamicLevelMarkArray.Insert(newMark, index);
-            added = ETrue;
-            break;
-            }
-        }
-    if (!added) 
-        {
-        index = iDynamicLevelMarkArray.Count();
-        err = iDynamicLevelMarkArray.Insert(newMark, index);
-        }
-    if (err != KErrNone) 
-        {
-        User::Leave(err);
-        }
-
-    iSong->FireDynamicLevelMarkInserted(*this, *newMark, index);
-    return index;
-
-
-    }
-    
-EXPORT_C TBool CAudClip::RemoveDynamicLevelMark(TInt aIndex) 
-    {
-
-    if (aIndex > iDynamicLevelMarkArray.Count() || aIndex < 0) 
-        {
-        TAudPanic::Panic(TAudPanic::EAudioClipIllegalIndex);
-        }
-    
-    TAudDynamicLevelMark* mark = iDynamicLevelMarkArray[aIndex];
-    
-    iDynamicLevelMarkArray.Remove(aIndex);
-    delete mark;
-    
-    iSong->FireDynamicLevelMarkRemoved(*this, aIndex);
-    return ETrue;
-    }
-    
-EXPORT_C void CAudClip::SetMuting(TBool aMuted)
-    {
-    
-    iMute = aMuted;
-    
-    }
-
-EXPORT_C void CAudClip::SetNormalizing(TBool aNormalizing) 
-    {
-    
-    iNormalize = aNormalizing;    
-
-    }
-
-EXPORT_C void CAudClip::Reset(TBool aNotify) 
-    {
-
-    TInt a = 0;
-
-    for (a = 0 ; a < iDynamicLevelMarkArray.Count() ; a++) 
-        {
-        delete iDynamicLevelMarkArray[a];
-        }
-    iDynamicLevelMarkArray.Reset();
-    iCutInTime = 0;
-    
-    if (iInfo != 0)
-        {
-        iCutOutTime = iInfo->Properties().iDuration;
-        }
-
-    if (aNotify) 
-        {
-        iSong->FireClipReseted(*this);
-        }
-
-    }
-
-
-EXPORT_C void CAudClip::SetVolumeGain(TInt aVolumeGain)
-    {
-    iVolumeGain = aVolumeGain;
-    }
-
-EXPORT_C TInt CAudClip::GetVolumeGain()
-    {
-    return iVolumeGain;
-    }
-
-/*
-EXPORT_C TBool CAudClip::operator<(const CAudClip &c2) const {
-
-    return (this->iStartTime < c2.StartTime());
-
-}
-
-
-EXPORT_C TBool CAudClip::operator>(const CAudClip &c2) const {
-
-    return (this->iStartTime > c2.StartTime());
-
-}
-
-EXPORT_C TBool CAudClip::operator==(const CAudClip &c2) const {
-
-    return (this->iStartTime == c2.StartTime());
-
-}
-*/
-TInt CAudClip::Compare(const CAudClip& c1, const CAudClip& c2) 
-    {
-
-    if (c1.iStartTime > c2.iStartTime) 
-        {
-        return 1;
-        }
-    else if (c1.iStartTime < c2.iStartTime) 
-        {
-        return -1;
-        }
-    else 
-        {
-        return 0;
-        }
-    }
-
-
-
-void CAudClip::ConstructL(const TDesC& aFileName,
-                          TTimeIntervalMicroSeconds aStartTime,
-                          MAudClipInfoObserver& aObserver, TInt aTrackIndex) 
-    {
-    
-    __ASSERT_ALWAYS(aStartTime >= TInt64(0), 
-        TAudPanic::Panic(TAudPanic::EAudioClipIllegalStartTime));
-    iStartTime = aStartTime;
-    iTrackIndex = aTrackIndex;
-    
-    iInfo = CAudClipInfo::NewL(aFileName, aObserver);
-    
-    }
-    
-void CAudClip::ConstructL(RFile* aFileHandle,
-                          TTimeIntervalMicroSeconds aStartTime,
-                          MAudClipInfoObserver& aObserver, TInt aTrackIndex) 
-    {
-    
-    __ASSERT_ALWAYS(aStartTime >= TInt64(0), 
-        TAudPanic::Panic(TAudPanic::EAudioClipIllegalStartTime));
-    iStartTime = aStartTime;
-    iTrackIndex = aTrackIndex;
-    
-    iInfo = CAudClipInfo::NewL(aFileHandle, aObserver);
-    
-    }
-
-
-CAudClip::~CAudClip() 
-    {
-
-    Reset(EFalse);
-    if (iInfo != 0)
-        {
-        delete iInfo;
-        iInfo = 0;
-        }
-    
-    }
-