--- a/videoeditorengine/audioeditorengine/inc/AudClip.h Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,387 +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:
-*
-*/
-
-
-
-
-#ifndef __AUDCLIP_H__
-#define __AUDCLIP_H__
-
-
-
-#include <e32base.h>
-#include <f32file.h>
-
-
-#include "AudCommon.h"
-#include "AudObservers.h"
-
-/*
-* Forward declarations.
-*/
-
-class CAudSong;
-class CAudSongObserver;
-class CAudClipInfo;
-class MAudClipInfoObserver;
-
-
-/*
-* Constant definitions.
-*/
-
-
-/**
-* Individual audio clip stored as a single bitstream.
-*
-* @see CAudSong
-*/
-class CAudClip : public CBase
- {
-public:
-
- /* Property methods. */
-
- /**
- * Returns an audio clip info object to get detailed information about
- * the original audio clip. Note that the specified editing operations
- * (for example, cutting or muting) do <em>not</em>
- * affect the values returned by the info object.
- *
- * @return pointer to an audio clip info instance
- */
- IMPORT_C CAudClipInfo* Info() const;
-
- /**
- * Returns a boolean value that indicates whether this clip is normalized
- *
- * @return ETrue if normalized, EFalse otherwise
- */
- IMPORT_C TBool Normalizing() const;
-
- /**
- * Returns a dynamic level mark at the specified index
- * If the index is illegal, the method panics with the code
- * <code>EIllegalDynamicLevelMarkIndex</code>
- *
- * @return A dynamic level mark
- */
- IMPORT_C TAudDynamicLevelMark DynamicLevelMark(TInt aIndex) const;
-
- /**
- * Returns the number of dynamic level marks
- *
- * @return The number of dynamic level mark
- */
- IMPORT_C TInt DynamicLevelMarkCount() const;
-
- /**
- * Returns whether this clip is muted or not
- *
- * @return muting
- */
- IMPORT_C TBool Muting() const;
-
- /**
- * Sets the start time of this audio clip in clip timebase.
- * Panics with <code>EAudioClipIllegalStartTime</code> if
- * cut in time is illegal (negative).
- *
- * @param aCutInTime cut in time in microseconds in clip timebase
- */
- IMPORT_C void SetStartTime(TTimeIntervalMicroSeconds aStartTime);
-
- /**
- * Returns the start time of this audio clip in song timebase.
- *
- * @return start time in microseconds in song timebase
- */
- IMPORT_C TTimeIntervalMicroSeconds StartTime() const;
-
- /**
- * Returns the start time of this audio clip in song timebase.
- *
- * @return start time in milliseconds in song timebase
- */
- TInt32 StartTimeMilliSeconds() const;
-
-
- /**
- * Returns the end time of this audio clip in song timebase.
- *
- * @return end time in microseconds in song timebase
- */
- IMPORT_C TTimeIntervalMicroSeconds EndTime() const;
-
- /**
- * Returns the duration of this audio clip with the specified
- * editing operations applied (for example, cutting)
- *
- * @return duration in microseconds
- */
- IMPORT_C TTimeIntervalMicroSeconds EditedDuration() const;
-
- /**
- * Returns the priority of this audio clip
- *
- * @return priority
- */
- IMPORT_C TInt Priority() const;
-
- /**
- * Returns the index of this audio clip __on a track__
- *
- * @return index
- */
- IMPORT_C TInt IndexOnTrack() const;
-
-
- /**
- * Returns the track index of this audio clip in CAudSong
- *
- * @return track index
- */
- IMPORT_C TInt TrackIndex() const;
-
-
-
- /* Song methods. */
-
- /**
- * Returns the song that this audio clip is part of.
- *
- * @return song
- */
- IMPORT_C CAudSong* Song() const;
-
- /* Timing methods. */
-
- /**
- * Returns the cut in time of this audio clip in clip timebase.
- *
- * @return cut in time in microseconds in clip timebase
- */
- IMPORT_C TTimeIntervalMicroSeconds CutInTime() const;
-
- /**
- * Returns the cut in time of this audio clip in clip timebase.
- *
- * @return cut in time in milliseconds in clip timebase
- */
- TInt32 CutInTimeMilliSeconds() const;
-
- /**
- * Sets the cut in time of this audio clip in clip timebase.
- * Panics with <code>EAudioClipIllegalCutInTime</code> if
- * cut in time is illegal.
- *
- * @param aCutInTime cut in time in microseconds in clip timebase
- */
- IMPORT_C void SetCutInTime(TTimeIntervalMicroSeconds aCutInTime);
-
- /**
- * Returns the cut out time of this audio clip in clip timebase.
- *
- * @return cut out time in microseconds in clip timebase
- */
- IMPORT_C TTimeIntervalMicroSeconds CutOutTime() const;
-
- /**
- * Returns the cut out time of this audio clip in clip timebase.
- *
- * @return cut out time in milliseconds in clip timebase
- */
- TInt32 CutOutTimeMilliSeconds() const;
-
- /**
- * Sets the cut out time of this audio clip in clip timebase.
- * Panics with <code>EAudioClipIllegalCutOutTime</code> if
- * cut out time is illegal.
- *
- * @param aCutOutTime cut out time in microseconds in clip timebase
- */
- IMPORT_C void SetCutOutTime(TTimeIntervalMicroSeconds aCutOutTime);
-
- /**
- * Sets the priority of this audio clip
- *
- * @param aPriority priority, >= 0
- *
- * @return ETrue if aPriority >= 0
- * EFalse if aPriority < 0, priority not set
- *
- */
- IMPORT_C TBool SetPriority(TInt aPriority);
-
-
- /* Processing methods */
-
- /**
- * Inserts a dynamic level mark to a clip.
- * If time of the given mark is illegal
- * <code>EIllegalDynamicLevelMark</code>-panic is raised
- *
- * Possible leave codes:
- * - <code>KErrNoMemory</code> if memory allocation fails
- *
- * @param aMark mark to be added in clip time domain
- * @return index of the mark inserted
- */
- IMPORT_C TInt InsertDynamicLevelMarkL(const TAudDynamicLevelMark& aMark);
-
- /**
- * Removes a dynamic level mark in a clip.
- * Panics with code <code>EAudioClipIllegalIndex</code>
- * if the clip index is invalid.
- *
- * @param aIndex index of the removed mark in this clip
- * @return ETrue if mark was removed, EFalse otherwise
- */
- IMPORT_C TBool RemoveDynamicLevelMark(TInt aIndex);
-
- /**
- * Sets whether this clip is muted or not.
- *
- * @param aMuting <code>ETrue</code> to mute the audio clip;
- * <code>EFalse</code> not to mute the audio clip
- */
- IMPORT_C void SetMuting(TBool aMuted);
-
- /**
- * Sets whether this clip is normalized
- *
- * @param aNormalizing <code>ETrue</code> if normalized
- * <code>EFalse</code> otherwise
- */
- IMPORT_C void SetNormalizing(TBool aNormalizing);
-
- IMPORT_C void Reset(TBool aNotify);
-
- /**
- * Sets common volume gain for the clip. It is used to store
- * the gain; the actual processing will be based on dynamic level
- * marks which are set based on the gain value just before processing.
- * Since global gain setting may affect the dynamic level mark,
- * we need different variable to store the clip-specific gain also after the processing.
- * I.e. dynamic level marks do not have effect to this value.
- *
- * @param aVolumeGain
- */
- IMPORT_C void SetVolumeGain(TInt aVolumeGain);
-
- /**
- * Gets common volume gain for the clip.
- * Since global gain setting may affect the dynamic level mark,
- * we need different variable to store the clip-specific gain also after the processing.
- *
- * @param aVolumeGain
- */
- IMPORT_C TInt GetVolumeGain();
-
- /**
- *
- * Compare is used by RPointerArray::Sort()
- *
- */
- static TInt Compare(const CAudClip &c1, const CAudClip &c2);
-
-
-protected:
-
-
-private:
-
-
-
- /* Constructors. */
-
- static CAudClip* NewL(CAudSong* aSong, const TDesC& aFileName,
- TTimeIntervalMicroSeconds aStartTime,
- MAudClipInfoObserver& aObserver, TInt aTrackIndex);
-
- static CAudClip* NewL(CAudSong* aSong, RFile* aFileHandle,
- TTimeIntervalMicroSeconds aStartTime,
- MAudClipInfoObserver& aObserver, TInt aTrackIndex);
-
- CAudClip(CAudSong* aSong);
-
- void ConstructL(const TDesC& aFileName,
- TTimeIntervalMicroSeconds aStartTime,
- MAudClipInfoObserver& aObserver, TInt aTrackIndex);
-
- void ConstructL(RFile* aFileHandle,
- TTimeIntervalMicroSeconds aStartTime,
- MAudClipInfoObserver& aObserver, TInt aTrackIndex);
-
- /* Destructor. */
-
- /**
- * Destroys the object and releases all resources.
- */
- virtual ~CAudClip();
-
-private:
- // Member variables
-
- // Song class this clip is part of.
- CAudSong* iSong;
- // File of the audio clip.
- RFile iFile;
-
-
- // Info class of this audio clip.
- CAudClipInfo* iInfo;
-
- // Cut in time of this audio clip.
- TTimeIntervalMicroSeconds iCutInTime;
- // Cut out time of this audio clip.
- TTimeIntervalMicroSeconds iCutOutTime;
- // Start time of this audio clip.
- TTimeIntervalMicroSeconds iStartTime;
-
- // Muting of this audio clip.
- // If ETrue, the clip is to be muted
- TBool iMute;
-
- // Normalizing of this audio clip.
- // If ETrue, the clip is to be normalized
- TBool iNormalize;
-
- // Priority of this audio clip.
- TInt iPriority;
-
- // index of this clip in CAudSong
- TInt iIndex;
-
- // track index of this clip
- TInt iTrackIndex;
-
- TInt iVolumeGain;
-
- // Marks used for manual level controlling
- RPointerArray<TAudDynamicLevelMark> iDynamicLevelMarkArray;
-
- friend class CAudSong;
- friend class CAudSongAddClipOperation;
- friend class RPointerArray<CAudClip>;
-
- };
-
-
-#endif // __AUDCLIP_H__
-