os/mm/mm_pub/audio_effects_api/inc/AudioEqualizerData.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description:  This file contains definitions of audio effects data structures for
sl@0
    15
*                equalizer.
sl@0
    16
*
sl@0
    17
*/
sl@0
    18
sl@0
    19
sl@0
    20
sl@0
    21
#ifndef EQUALIZERDATA_H
sl@0
    22
#define EQUALIZERDATA_H
sl@0
    23
sl@0
    24
//  INCLUDES
sl@0
    25
#include <e32std.h>
sl@0
    26
#include <s32mem.h>
sl@0
    27
#include <AudioEffectData.h>
sl@0
    28
sl@0
    29
// CLASS DECLARATION
sl@0
    30
sl@0
    31
/**
sl@0
    32
*  This class defines the effect data structure of a particular frequency band.
sl@0
    33
*
sl@0
    34
*  @lib EqualizerEffect.lib
sl@0
    35
*  @since 3.0
sl@0
    36
*/
sl@0
    37
class TEfAudioEqualizerBand
sl@0
    38
    {
sl@0
    39
    public:
sl@0
    40
sl@0
    41
        /**
sl@0
    42
        * Constructor.
sl@0
    43
        */
sl@0
    44
        TEfAudioEqualizerBand() {}
sl@0
    45
sl@0
    46
        void ExternalizeL( RWriteStream& aStream ) const
sl@0
    47
        	{
sl@0
    48
			aStream.WriteUint8L(iBandId);
sl@0
    49
			aStream.WriteUint32L(iBandLevel);
sl@0
    50
			aStream.WriteUint32L(iBandWidth);
sl@0
    51
			aStream.WriteUint32L(iCenterFrequency);
sl@0
    52
			aStream.WriteUint32L(iCrossoverFrequency);
sl@0
    53
			}
sl@0
    54
sl@0
    55
        void InternalizeL( RReadStream& aStream )
sl@0
    56
        	{
sl@0
    57
			iBandId = aStream.ReadUint8L();
sl@0
    58
			iBandLevel = aStream.ReadUint32L();
sl@0
    59
			iBandWidth = aStream.ReadUint32L();
sl@0
    60
			iCenterFrequency = aStream.ReadUint32L();
sl@0
    61
			iCrossoverFrequency = aStream.ReadUint32L();
sl@0
    62
			}
sl@0
    63
sl@0
    64
		TUint8 iBandId;
sl@0
    65
		TInt32 iBandLevel;
sl@0
    66
		TInt32 iBandWidth;
sl@0
    67
		TInt32 iCenterFrequency;
sl@0
    68
		TInt32 iCrossoverFrequency;
sl@0
    69
sl@0
    70
    };
sl@0
    71
sl@0
    72
/**
sl@0
    73
*  This class defines the effect data structure to be passed between client and
sl@0
    74
*  server.
sl@0
    75
*
sl@0
    76
*  @lib EqualizerEffect.lib
sl@0
    77
*  @since 3.0
sl@0
    78
*/
sl@0
    79
class TEfAudioEqualizer : public TEfCommon
sl@0
    80
    {
sl@0
    81
    public:
sl@0
    82
sl@0
    83
        /**
sl@0
    84
        * Constructor.
sl@0
    85
        */
sl@0
    86
        TEfAudioEqualizer() {}
sl@0
    87
sl@0
    88
        /**
sl@0
    89
        * Constructor.
sl@0
    90
        */
sl@0
    91
        TEfAudioEqualizer( TInt32 aMindB, TInt32 aMaxdB ) :
sl@0
    92
        	iMindB(aMindB), iMaxdB(aMaxdB) {}
sl@0
    93
sl@0
    94
		TInt32 iMindB;
sl@0
    95
		TInt32 iMaxdB;
sl@0
    96
sl@0
    97
    };
sl@0
    98
sl@0
    99
sl@0
   100
class TEfAudioEqualizerCombined : public TEfAudioEqualizer, public TEfAudioEqualizerBand
sl@0
   101
    {
sl@0
   102
    public:
sl@0
   103
sl@0
   104
		// Indicates the data is valid for Equalizer
sl@0
   105
		TBool iAudioEqualizerDataValid;
sl@0
   106
		// Indicates the data is valid for Equalizer Band
sl@0
   107
		TBool iAudioEqualizerBandDataValid;
sl@0
   108
    };
sl@0
   109
sl@0
   110
sl@0
   111
typedef TPckgBuf<TEfAudioEqualizer> TEfAudioEqualizerDataPckg;
sl@0
   112
typedef TPckgBuf<TEfAudioEqualizerBand> TEfAudioEqualizerBandDataPckg;
sl@0
   113
typedef TPckgBuf<TEfAudioEqualizerCombined> TEfAudioEqualizerCombinedDataPckg;
sl@0
   114
sl@0
   115
#endif      // EQUALIZERDATA_H
sl@0
   116
sl@0
   117
// End of File