videoeditorengine/audioeditorengine/src/ProcTools.cpp
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 7 4c409de21d23
--- a/videoeditorengine/audioeditorengine/src/ProcTools.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1043 +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 "ProcTools.h"
-#include "AudPanic.h"
-
-#include "mime_io.h"
-
-
-TBool ProcTools::Dec2Bin(TUint8 aDec, TBuf8<8>& aBinary) 
-    {
-
-    // clear aBinary just in case
-    aBinary.Delete(0, aBinary.Length());
-
-    aBinary.AppendNum(aDec, EBinary);
-
-    TInt zerosNeeded = 0;
-    if (aBinary.Length() == 8) 
-        {
-        // the MSB is one -> no padding needed
-        }
-    else 
-        {
-            
-        zerosNeeded = 8 - aBinary.Length();
-        for(TInt as = 0 ; as < zerosNeeded ; as++) 
-            {
-            aBinary.AppendNum(0);
-            }
-
-        for (TInt tr = 8 - 1 ; tr >= 0 ; tr--) 
-            {
-
-            if (tr >= zerosNeeded) 
-                { 
-                aBinary[tr] = aBinary[tr-zerosNeeded];
-                }
-            else 
-                {
-                aBinary[tr] = '0';
-                }
-        
-            }
-        }
-
-
-    return ETrue;
-    }
-
-TBool ProcTools::Dec2BinL(TUint32 aDec, HBufC8*& aBin)
-    {
-    
-    // 32 bits, the leftmost is one
-    TUint32 bitMask = 0x80000000;
-
-    TBool onlyZeros = ETrue;
-    for (TInt a = 32 ; a > 0 ; a--)
-        {
-        TUint32 res = bitMask & aDec;
-        
-        if (res > 0 && onlyZeros)
-            {
-            // the first one from left found
-            onlyZeros = EFalse;
-            aBin = HBufC8::NewL(a);
-            aBin->Des().Append('1');
-            }
-        else if (res > 0 && !onlyZeros)
-            {
-            aBin->Des().Append('1');
-            }
-        else if (res == 0 && !onlyZeros)
-            {    
-            aBin->Des().Append('0');
-        
-            }
-        bitMask >>= 1;
-        }
-
-    return ETrue;
-
-    }
-
-TBool ProcTools::Bin2Dec(const TDesC8& aBin, TUint& aDec) 
-    {
-
-    TLex8 leks(aBin);
-
-    if (leks.Val(aDec, EBinary) != KErrNone) 
-        {
-        return EFalse;
-        }
-    return ETrue;
-
-    }
-
-TBool ProcTools::Des2Dec(TDesC8& aDes, TUint& aDec) 
-    {
-
-    TLex8 leks(aDes);
-
-    if (leks.Val(aDec, EDecimal) != KErrNone) 
-        {
-        return EFalse;
-        }
-    return ETrue;
-
-
-    }
-
-TBool ProcTools::Des2BinL(const TDesC8& aDes, HBufC8*& aBin) 
-    {
-
-    aBin = HBufC8::NewL(aDes.Length()*8);
-    // clear aBinary just in case
-    
-    for (TInt a = 0 ; a < aDes.Length() ; a++) 
-        {
-    
-        TUint8 chDec = aDes[a];
-
-        aBin->Des().AppendNum(chDec, EBinary);
-        
-        TInt zerosNeeded = 0;
-        if (aBin->Des().Length() == (a+1)*8) 
-            {
-            // the MSB is one -> no padding needed
-            }
-        else 
-            {
-            
-            zerosNeeded = (a+1)*8 - aBin->Des().Length();
-            for(TInt as = 0 ; as < zerosNeeded ; as++) 
-                {
-                aBin->Des().Insert(a*8, _L8("0"));
-                //AppendNum(0);
-                }
-           
-            }
-        }
-
-
-    return ETrue;
-
-    }
-    
-TInt ProcTools::MilliSeconds(TTimeIntervalMicroSeconds aMicroSeconds)
-    {
-    
-#ifndef EKA2
-    return (aMicroSeconds.Int64()/1000).GetTInt();
-#else
-    return (aMicroSeconds.Int64()/1000);
-#endif
-    
-    }
-
-TTimeIntervalMicroSeconds ProcTools::MicroSeconds(TInt aMilliSeconds)
-    {
-    
-    TTimeIntervalMicroSeconds mic(aMilliSeconds*1000);
-    return mic;
-    }
-    
-TInt ProcTools::GetTInt(TInt64 aTInt64)
-    {
-
-#ifndef EKA2
-    return aTInt64.GetTInt();
-#else        
-    return aTInt64;
-#endif
-        
-    }
-
-TInt ProcTools::GetValueFromShuffledFrame(const HBufC8* aFrame, 
-                                          const TUint8 aBitPositions[], 
-                                          const TInt aSize) 
-    {
-
-    HBufC8* inBytes = 0;
-    TRAPD(err, inBytes = HBufC8::NewL(aSize));
-    if (err != KErrNone)
-        {
-        inBytes = 0;
-        return -1;
-        }
-    
-    
-    _LIT8(KZero, "0");
-    _LIT8(KOne, "1");
-
-
-    for (TInt a = 0 ; a < aSize ; a++) 
-        {
-        
-        TUint8 mask = 0x80; // 1000 0000b
-        TUint byteNumber = aBitPositions[a]/8;
-        TUint bitNumber = aBitPositions[a]%8;
-        
-        const TUint8 byteNow = (*aFrame)[byteNumber];
-
-        mask >>= bitNumber;
-
-        //TUint8 masked = byteNow & mask;
-        // why casting is needed, dunno?
-
-        TUint8 masked = static_cast<TUint8>(byteNow & mask);
-
-        if (masked == 0) 
-            {
-            inBytes->Des().Append(KZero);
-            }
-        else 
-            {
-            inBytes->Des().Append(KOne);
-            }
-        }
-    TUint dec = 0;
-    Bin2Dec(inBytes->Des(), dec);
-    delete inBytes;
-    inBytes = 0;
-    return dec;
-
-
-    }
-
-
-
-TInt ProcTools::GetValueFromShuffledAWBFrameL(const HBufC8* aFrame, TInt aBitRate, TInt aBitPosition, TInt aLength)
-    {
-
-    HBufC8* inBytes = HBufC8::NewLC(aLength);
-    
-    
-    _LIT8(KZero, "0");
-    _LIT8(KOne, "1");
-
-    const TInt* table = 0;
-    TInt tableSize = 0;
-
-    switch(aBitRate)
-        {
-        case(23850):
-            {
-            table = sort_2385;
-            tableSize = 477;
-            break;
-            }
-        case(23050):
-            {
-            table = sort_2305;
-            tableSize = 461;
-            break;
-            }
-        case(19850):
-            {
-            table = sort_1985;
-            tableSize = 397;
-            break;
-            }
-        case(18250):
-            {
-            table = sort_1825;
-            tableSize = 365;
-            break;
-            }
-        case(15850):
-            {
-            table = sort_1585;
-            tableSize = 317;
-            break;
-            }
-        case(14250):
-            {
-            table = sort_1425;
-            tableSize = 285;
-            break;
-            }
-        case(12650):
-            {
-            table = sort_1265;
-            tableSize = 253;
-            break;
-            }
-        case(8850):
-            {
-            table = sort_885;
-            tableSize = 177;
-            break;
-            }
-        case(6600):
-            {
-            table = sort_660;
-            tableSize = 132;
-            break;
-            }
-        default:
-            {
-            // illegal bitrate
-            CleanupStack::PopAndDestroy(inBytes);
-            return -1;
-            }
-
-        }
-
-
-    for (TInt a = 0 ; a < aLength ; a++) 
-        {
-        TInt bitIndex = FindIndex(aBitPosition+a, table, tableSize)+8;
-
-        TUint8 mask = 0x80; // 1000 0000b
-        TUint byteNumber = bitIndex/8;
-        TUint bitNumber = bitIndex%8;
-        
-        const TUint8 byteNow = (*aFrame)[byteNumber];
-
-        mask >>= bitNumber;
-
-        //TUint8 masked = byteNow & mask;
-        // why casting is needed, dunno?
-
-        TUint8 masked = static_cast<TUint8>(byteNow & mask);
-
-        if (masked == 0) 
-            {
-            inBytes->Des().Append(KZero);
-            }
-        else 
-            {
-            inBytes->Des().Append(KOne);
-            }
-        }
-
-    TUint dec = 0;
-    Bin2Dec(inBytes->Des(), dec);
-    CleanupStack::PopAndDestroy(inBytes);
-
-    inBytes = 0;
-    return dec;
-
-    }
-
-
-TBool ProcTools::SetValueToShuffledAWBFrame(TUint8 aNewValue, HBufC8* aFrame, 
-                                            TInt aBitRate, TInt aBitPosition, TInt aLength)
-    {
-
-    const TInt* table = 0;
-    TInt tableSize = 0;
-
-    switch(aBitRate)
-        {
-        case(23850):
-            {
-            table = sort_2385;
-            tableSize = 477;
-            
-            break;
-            }
-        case(23050):
-            {
-            table = sort_2305;
-            tableSize = 461;
-            
-            break;
-            }
-        case(19850):
-            {
-            table = sort_1985;
-            tableSize = 397;
-            
-            break;
-            }
-        case(18250):
-            {
-            table = sort_1825;
-            tableSize = 365;
-            
-            break;
-            }
-        case(15850):
-            {
-            table = sort_1585;
-            tableSize = 317;
-            
-            break;
-            }
-        case(14250):
-            {
-            table = sort_1425;
-            tableSize = 285;
-            
-            break;
-            }
-        case(12650):
-            {
-            table = sort_1265;
-            tableSize = 253;
-            
-            break;
-            }
-        case(8850):
-            {
-            table = sort_885;
-            tableSize = 177;
-            
-            break;
-            }
-        case(6600):
-            {
-            table = sort_660;
-            tableSize = 132;
-            
-            break;
-            }
-        default:
-            {
-            // illegal bitrate
-            return -1;
-            }
-
-        }
-
-
-    _LIT8(KZero, "0");
-
-    TBuf8<8> newValueBin;
-    Dec2Bin(aNewValue, newValueBin);
-    // remove leading zeros
-    newValueBin.Delete(0, 8-aLength);
-
-
-
-    TPtr8 framePtr(aFrame->Des());
-
-    for (TInt a = 0 ; a < newValueBin.Size() ; a++) 
-        {
-
-        TInt bitIndex = FindIndex(aBitPosition+a, table, tableSize)+8;
-
-        TUint8 bitPositionInByte = static_cast<TUint8>(bitIndex%8);
-        TUint byteNumber = bitIndex/8;
-
-        if (newValueBin.Mid(a,1).Compare(KZero) == 0) 
-            {
-
-            TUint8 mask = 0x80; // 0111 1111b
-            mask >>= bitPositionInByte;
-            mask = static_cast<TUint8>(~mask);
-
-            //--->
-//            TUint8 oldByte = framePtr[byteNumber];
-    //        TUint8 newByte = oldByte & mask;
-            //<--
-
-            framePtr[byteNumber] = static_cast<TUint8>(framePtr[byteNumber] & mask);  
-    
-            }
-        else 
-            {
-
-            TUint8 mask = 0x80; // 1000 0000b
-            mask >>= bitPositionInByte;
-            
-            //--->
-//            TUint8 oldByte = framePtr[byteNumber];
-//            TUint8 newByte = oldByte & mask;
-            //<--
-            framePtr[byteNumber] = static_cast<TUint8>(framePtr[byteNumber] | mask);
-
-            }
-        
-        }
-
-    return EFalse;
-    }
-
-TBool ProcTools::SetValueToShuffledFrame(HBufC8* aFrame, TUint8 aNewValue, 
-                                         const TUint8 aBitPositions[], 
-                                         TInt aSize) 
-    {
-
-    
-    _LIT8(KZero, "0");
-    
-    TBuf8<8> newValueBin;
-    Dec2Bin(aNewValue, newValueBin);
-    newValueBin.Delete(0, 8-aSize);
-
-    TPtr8 framePtr(aFrame->Des());
-
-    for (TInt a = 0 ; a < aSize ; a++) 
-        {
-
-        TUint8 bitPosition = static_cast<TUint8>(aBitPositions[a]%8);
-        TUint byteNumber = aBitPositions[a]/8;
-
-        if (newValueBin.Mid(a,1).Compare(KZero) == 0) 
-            {
-
-            TUint8 mask = 0x80; // 0111 1111b
-            mask >>= bitPosition;
-            mask = static_cast<TUint8>(~mask);
-
-            //--->
-//            TUint8 oldByte = framePtr[byteNumber];
-    //        TUint8 newByte = oldByte & mask;
-            //<--
-
-            framePtr[byteNumber] = static_cast<TUint8>(framePtr[byteNumber] & mask);  
-    
-            }
-        else 
-            {
-
-            TUint8 mask = 0x80; // 1000 0000b
-            mask >>= bitPosition;
-            
-            //--->
-//            TUint8 oldByte = framePtr[byteNumber];
-//            TUint8 newByte = oldByte & mask;
-            //<--
-            framePtr[byteNumber] = static_cast<TUint8>(framePtr[byteNumber] | mask);
-
-            }
-
-
-        
-        }
-    
-    return ETrue;
-
-    }
-
-
-
-TBool ProcTools::WriteValuesToFileL(const RArray<TInt>& aArray, const TDesC& aFilename) 
-    {
-
-    RFs fs;
-    User::LeaveIfError(fs.Connect());
-
-    RFile file;
-    TInt err=file.Open(fs, aFilename, EFileWrite);
-    
-    if (err==KErrNotFound) 
-        {
-        err=file.Create(fs, aFilename, EFileWrite);
-        }
-    TInt nolla = 0;
-    file.Seek(ESeekEnd, nolla);
-    for (TInt a = 0; a < aArray.Count() ; a++) 
-        {
-        TBuf8<8> num;
-        num.AppendNum(aArray[a]);
-        file.Write(num);
-        file.Write(_L8("\n"));
-
-
-        }
-
-    file.Close();
-    fs.Close();
-
-    return ETrue;
-    }
-
-
-TUint8 ProcTools::FindNewIndexSQ(TInt aNewGain, const TInt aGainTable[], TInt aTableSize) 
-    {
-
-    if (aTableSize > 256)
-        {
-        TAudPanic::Panic(TAudPanic::EInternal);
-        }
-
-    TUint8 tableSize = static_cast<TUint8>(aTableSize-1);
-
-    TInt minimum = 0xFFFF;
-    TUint8 indexFound = 0;
-
-    for (TUint a = 0 ; a <= tableSize ; a++) 
-        {
-            
-        if (Abs(aGainTable[a]-aNewGain) < minimum) 
-            {
-            minimum = Abs(aGainTable[a]-aNewGain);
-            indexFound = static_cast<TUint8>(a);
-            }
-        }
-
-    return indexFound;
-
-    }
-
-TUint8 ProcTools::FindNewIndexVQ(TInt aNewGain, TInt aOldPitch, const TInt aGainTable[], TInt aTableSize) 
-    {
-
-    if (aTableSize > 256)
-        {
-        TAudPanic::Panic(TAudPanic::EInternal);
-        }
-
-    TUint8 tableSize = static_cast<TUint8>(aTableSize-1);
-
-
-
-    TInt minimum = KMaxTInt;
-    TUint8 indexFound = 0;
-
-    for (TUint a = 0 ; a <= tableSize ; a+=2) 
-        {
-
-        // gpitch: Q14 , 2^14 = 16384
-        TInt distance_pitch = (100*(Abs(aGainTable[a]-aOldPitch)))/16384;
-
-        // g_fac: Q12 , 2^12 = 4096
-        TInt distance_fc = (100*Abs(aGainTable[a+1]-aNewGain))/4096;
-        
-
-        TInt distance = distance_pitch*distance_pitch + distance_fc*distance_fc;
-        
-        if (distance < minimum) 
-            {
-            minimum = distance;
-            indexFound = static_cast<TUint8>(a);
-            }
-        }
-
-    return static_cast<TUint8>(indexFound/2);
-
-    }
-
-TUint8 ProcTools::FindNewIndexVQ2(TInt aNewGain, TInt aOldPitch, const TInt aGainTable[], TInt aTableSize)
-    {
-
-    if (aTableSize > 256)
-        {
-        TAudPanic::Panic(TAudPanic::EInternal);
-        }
-
-    TUint8 tableSize = static_cast<TUint8>(aTableSize-1);
-
-    TInt minimum = KMaxTInt;
-    TUint8 indexFound = 0;
-
-    for (TUint a = 0 ; a <= tableSize ; a+=2) 
-        {
-
-        // gpitch: Q14 , 2^14 = 16384
-        TInt distance_pitch = (100*(Abs(aGainTable[a]-aOldPitch)))/16384;
-
-        // g_fac: Q11 , 2^11 = 2048
-        TInt distance_fc = (100*Abs(aGainTable[a+1]-aNewGain))/2048;
-        
-
-        TInt distance = distance_pitch*distance_pitch + distance_fc*distance_fc;
-        
-        if (distance < minimum) 
-            {
-            minimum = distance;
-            indexFound = static_cast<TUint8>(a);
-            }
-        }
-
-    return static_cast<TUint8>(indexFound/2);
-
-    
-
-
-    }
-
-
-TUint8 ProcTools::FindNewIndex475VQ(TInt aNewGain0, TInt aOldPitch0, TInt aNewGain1, TInt aOldPitch1)
-    {
-
-    TInt minimum = KMaxTInt;
-    TInt indexFound = -1;
-
-    TInt tableSize = 256*4;
-
-
-    for (TInt a = 0 ; a < tableSize-3 ; a+=4) 
-        {
-
-        // gpitch: Q14 , 2^14 = 16384
-        TInt distance_pitch0 = (100*(Abs(KAmrGainTable475[a]-aOldPitch0)))/16384;
-        TInt distance_pitch1 = (100*(Abs(KAmrGainTable475[a+2]-aOldPitch1)))/16384;
-
-        // g_fac: Q12 , 2^12 = 4096
-        TInt distance_fc0 = (100*Abs(KAmrGainTable475[a+1]-aNewGain0))/4096;
-        TInt distance_fc1 = (100*Abs(KAmrGainTable475[a+3]-aNewGain1))/4096;        
-
-        TInt distance = distance_pitch0*distance_pitch0 + distance_fc0*distance_fc0 +
-                        distance_pitch1*distance_pitch1 + distance_fc1*distance_fc1;
-        
-        if (distance < minimum) 
-            {
-            minimum = distance;
-            indexFound = a;
-            }
-        }
-
-    return static_cast<TUint8>(indexFound/4);
-
-    }
-
-TInt ProcTools::FindIndex(TInt aKey, const TInt aBitPositions[], TInt aTableLength)
-    {
-    
-    for (TInt a = 0 ; a < aTableLength ; a++)
-        {
-        if (aBitPositions[a] == aKey) return a;
-        }
-
-    return -1;
-
-    }
-
-TBool ProcTools::GenerateADTSHeaderL(TBuf8<7>& aHeader, TInt aFrameLength, TAudFileProperties aProperties)
-    {
-    TUint8 byte1 = 0xFF;
-
-    TUint8 byte2 = 0x0;
-    if (aProperties.iAudioType == EAudAAC_MPEG2)
-        {
-        byte2 = 0xF9;
-        }
-    else if (aProperties.iAudioType == EAudAAC_MPEG4)
-        {
-        byte2 = 0xF1;
-        }
-    else return EFalse;
-    TBuf8<8> byte3b(8);
-    TBuf8<8> byte4b(8);
-    TBuf8<8> byte5b(8);
-    TBuf8<8> byte6b(8);
-    TBuf8<8> byte7b(8);
-
-    byte3b.Fill('0');
-    byte4b.Fill('0');
-    byte5b.Fill('0');
-    byte6b.Fill('0');
-    byte7b.Fill('0');
-
-    
-    const TInt KAAC_SAMPLING_RATES[16] = {96000,88200,64000,48000,44100,32000,24000,
-                                            22050,16000,12000,11025,8000,0,0,0,0};
-    
-    TBool srFound = EFalse;
-    TUint8 srIndex = 0; 
-    for (srIndex = 0 ; srIndex < 14 ; srIndex++)
-        {
-        if (KAAC_SAMPLING_RATES[srIndex] == aProperties.iSamplingRate) 
-            {
-            srFound = ETrue;
-            break;
-            }
-        }
-
-    if (srFound)
-        {
-        TBuf8<8> srB;
-        ProcTools::Dec2Bin(srIndex, srB);
-    
-        // Sampling rate
-        byte3b[2] = srB[4];
-        byte3b[3] = srB[5];
-        byte3b[4] = srB[6];
-        byte3b[5] = srB[7];
-
-        }
-
-    
-
-    // private bit
-    byte3b[6] = '0';
-
-    // channel configuration
-    byte3b[7] = '0';
-    if (aProperties.iChannelMode == EAudStereo)
-        {
-        byte4b[0] = '1';
-        byte4b[1] = '0';
-
-        }
-    else if(aProperties.iChannelMode == EAudSingleChannel)
-        {
-        byte4b[0] = '0';
-        byte4b[1] = '1';
-
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    //original/copy & home
-    byte4b[2] = '0';
-    byte4b[3] = '0';
-    // copyright identification & start
-    byte4b[4] = '0';
-    byte4b[5] = '0';
-
-    HBufC8* lenBin = 0;
-    if (ProcTools::Dec2BinL(aFrameLength+7, lenBin))
-        {
-
-        TInt fromRight = 0;
-        for(TInt i = lenBin->Size()-1 ; i >= 0 ; i--)
-            {
-            if (fromRight < 3)
-                {
-                // byte7
-                byte6b[2-fromRight] = lenBin->Des()[i];    
-                }
-            else if (fromRight < 11)
-                {
-                // byte6
-                byte5b[10-fromRight] = lenBin->Des()[i];
-
-                }
-            else if (fromRight < 13)
-                {
-                // byte5
-                byte4b[18-fromRight] = lenBin->Des()[i];
-                }
-
-            fromRight++;
-            }
-
-        delete lenBin;
-        }
-    
-    TInt bitInd = 0; 
-    for (bitInd = 3 ; bitInd < 8 ; bitInd++)
-    {
-        byte6b[bitInd] = '1';
-    }
-    for (bitInd = 0 ; bitInd < 6 ; bitInd++)
-    {
-        byte7b[bitInd] = '1';
-    }
-    
-    
-    aHeader.Append(byte1);
-    aHeader.Append(byte2);
-
-    TUint tmpByte = 0;
-    ProcTools::Bin2Dec(byte3b, tmpByte);
-    
-    // profile
-    TUint8 bitMask = aProperties.iAACObjectType;
-    bitMask <<= 6;
-    tmpByte = tmpByte | bitMask;
-
-    aHeader.Append(static_cast<TUint8>(tmpByte));
-
-    ProcTools::Bin2Dec(byte4b, tmpByte);
-    aHeader.Append(static_cast<TUint8>(tmpByte));
-
-    ProcTools::Bin2Dec(byte5b, tmpByte);
-    aHeader.Append(static_cast<TUint8>(tmpByte));
-
-    ProcTools::Bin2Dec(byte6b, tmpByte);
-    aHeader.Append(static_cast<TUint8>(tmpByte));
-
-    ProcTools::Bin2Dec(byte7b, tmpByte);
-    aHeader.Append(static_cast<TUint8>(tmpByte));
-
-    return ETrue;
-
-    }
-
-TInt ProcTools::GetNextAMRFrameLength(const HBufC8* aFrame, TInt aPosNow)
-    {
-
-
-    if (aPosNow >= aFrame->Size()) return -1;
-
-
-    const TUint8 ch = (*aFrame)[aPosNow];
-
-    TUint dec_mode = (enum Mode)((ch & 0x0078) >> 3);
-    
-    switch (dec_mode)
-        {
-        case 0:
-            {
-            return 12+1;
-            }
-            
-        case 1:
-            {
-            return 13+1;
-            }
-            
-        case 2:
-            {
-            return 15+1;
-            }
-            
-        case 3:
-            {
-            return 17+1;
-            }
-            
-        case 4:
-            {
-            return 19+1;
-            }
-            
-        case 5:
-            {
-            return 20+1;
-            }
-            
-        case 6:
-            {
-            return 26+1;
-            }
-            
-        case 7:
-            {
-            return 31+1;
-            }
-            
-        case 8:
-            {
-            return 5+1;
-            }
-            
-        case 15:
-            {
-            return 0+1;
-            }
-            
-        default:
-            return 0+1;
-            
-        };
-    
-
-    }
-
-
-CProcessingEvent* CProcessingEvent::NewL()
-    {
-    CProcessingEvent* self = new (ELeave) CProcessingEvent();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-
-    }
-
-void CProcessingEvent::ConstructL()
-    {
-    }
-
-CProcessingEvent::~CProcessingEvent()
-    {
-    iAllIndexes.Close();
-    }
-
-
-CProcessingEvent::CProcessingEvent()
-    {
-    }
-
-void CProcessingEvent::InsertIndex(TInt aIndex)
-        {
-        iAllIndexes.Append(aIndex);
-        }
-
-TInt CProcessingEvent::GetIndex(TInt aProcessingEventIndex)
-    {
-    return iAllIndexes[aProcessingEventIndex];
-    }
-
-TBool CProcessingEvent::GetAllIndexes(RArray<TInt>& aAllIndexes)
-    {
-    for (TInt a = 0 ; a < iAllIndexes.Count() ; a++)
-        {
-        aAllIndexes.Append(iAllIndexes[a]);
-
-        }
-    return ETrue;
-    }
-
-TInt CProcessingEvent::IndexCount()
-    {
-    return iAllIndexes.Count();
-    }
-
-TInt CProcessingEvent::FindIndex(TInt aClipIndex)
-    {
-    return iAllIndexes.Find(aClipIndex);
-    }
-
-void CProcessingEvent::RemoveIndex(TInt aProcessingEventIndex)
-    {
-    iAllIndexes.Remove(aProcessingEventIndex);
-    }
-
-    
-TInt CProcessingEvent::Compare(const CProcessingEvent& c1, const CProcessingEvent& c2) 
-    {
-                
-    if (c1.iPosition > c2.iPosition) 
-        {
-        return 1;
-        }
-    else if (c1.iPosition < c2.iPosition) 
-        {
-        return -1;
-        }
-    else 
-        {
-        return 0;
-        }
-    }
-    
-