videoeditorengine/audioeditorengine/src/AudProcessor.cpp
changeset 0 951a5db380a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoeditorengine/audioeditorengine/src/AudProcessor.cpp	Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,212 @@
+/*
+* 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 "AudSong.h"
+#include "AudProcessor.h"
+#include "AudPanic.h"
+
+// Debug print macro
+#if defined _DEBUG 
+#include <e32svr.h>
+#define PRINT(x) RDebug::Print x;
+#else
+#define PRINT(x)
+#endif
+
+
+CAudProcessor* CAudProcessor::NewL() 
+    {
+    CAudProcessor* self = NewLC();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+
+CAudProcessor* CAudProcessor::NewLC()
+    {
+    CAudProcessor* self = new (ELeave) CAudProcessor;
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    return self;
+    }
+
+
+CAudProcessor::CAudProcessor() : iProcessing(EFalse)
+    {
+    
+    }
+
+
+void CAudProcessor::ConstructL()
+    {
+        iClipInfoAO = CProcClipInfoAO::NewL();
+        iProcessingObject = CProcProcess::NewL();
+        iVisualizationAO = CProcVisualizationAO::NewL();
+        iTimeEstimateAO = CProcTimeEstimateAO::NewL();
+        
+       
+        
+        
+    }
+
+
+CAudProcessor::~CAudProcessor()
+    {
+    PRINT((_L("CAudProcessor::~CAudProcessor() in") ));
+
+
+        
+        if (iVisualizationAO != 0)
+            {
+            delete iVisualizationAO;
+            iVisualizationAO = 0;
+            }
+    PRINT((_L("CAudProcessor::~CAudProcessor() deleted iVisualizationAO") ));
+
+        if (iProcessingObject != 0)
+            {
+            delete iProcessingObject;
+            iProcessingObject = 0;
+            }
+
+    PRINT((_L("CAudProcessor::~CAudProcessor() deleted iProcessingObject") ));
+        if (iClipInfoAO != 0)
+            {
+            delete iClipInfoAO;
+            iClipInfoAO = 0;
+            }
+            
+    PRINT((_L("CAudProcessor::~CAudProcessor() deleted iClipInfoAO") ));
+        if (iTimeEstimateAO != 0)
+            {
+            delete iTimeEstimateAO;
+            iTimeEstimateAO = 0;
+            }
+
+
+    PRINT((_L("CAudProcessor::~CAudProcessor() out") ));
+
+    }
+
+
+
+TBool CAudProcessor::StartSyncProcessingL(const CAudSong* aSong)
+    {
+
+    if (iProcessing) 
+        {
+        TAudPanic::Panic(TAudPanic::ESongProcessingOperationAlreadyRunning);
+        }
+
+
+    return iProcessingObject->StartSyncProcessingL(aSong);
+
+    }
+
+TBool CAudProcessor::ProcessSyncPieceL(HBufC8*& aFrame, TInt& aProgress,
+                                       TTimeIntervalMicroSeconds& aDuration)
+    {
+    TBool ret = iProcessingObject->ProcessSyncPieceL(aFrame, aProgress, aDuration);
+    
+    if (!ret) return EFalse;
+    else
+        {
+        delete iProcessingObject;
+        iProcessingObject = 0;
+        return ETrue;
+        }
+
+    }
+
+    
+/**
+ * Cancel song processing.
+ */
+void CAudProcessor::CancelProcessing(MProcProcessObserver& aObserver) 
+    {
+
+    iProcessing = EFalse;
+    aObserver.NotifyAudioProcessingCompleted(KErrCancel);
+    }
+
+
+void CAudProcessor::GetAudFilePropertiesL(const TDesC& aFileName, 
+                                          RFile* aFileHandle,
+                                          TAudFileProperties* aProperties, 
+                                          MProcClipInfoObserver& aObserver,
+                                          TInt aPriority) 
+    {
+
+    iClipInfoAO->StartL(aFileName, aFileHandle, aObserver, aProperties, aPriority);
+    }
+
+
+
+void CAudProcessor::StartGetClipVisualizationL(const CAudClipInfo* aClipInfo, TInt aSize,
+        MAudVisualizationObserver& aObserver, 
+        TInt aPriority) 
+    {
+
+    
+    iVisualizationAO->StartClipVisualizationL(aClipInfo, aSize, aObserver, aPriority);
+
+
+    }
+
+
+    
+void CAudProcessor::CancelClipVisualization() 
+    {
+
+    if (iVisualizationAO)
+        {
+        iVisualizationAO->CancelVisualization();
+        }
+
+    }
+    
+    
+TBool CAudProcessor::StartTimeEstimateL(const CAudSong* aSong, MAudTimeEstimateObserver& aTEObserver) 
+    {
+
+    if (iTimeEstimateAO)
+        {
+        return iTimeEstimateAO->StartL(aSong, aTEObserver);
+        }
+    else
+        {
+        return EFalse;
+        }
+
+    }
+
+void CAudProcessor::CancelTimeEstimate() 
+    {
+
+    if (iTimeEstimateAO)
+        {
+        iTimeEstimateAO->CancelTimeEstimate();
+        }
+
+    }
+
+
+