mmaudio_plat/audio_visualization_api/inc/MVisualizationObserver.h
author hgs
Tue, 02 Nov 2010 12:28:51 +0000
changeset 6 fe9d1bf55678
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
* All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
* Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
* Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
* Description:  Definition of the Audio Visualization Observer class.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
#ifndef MVISUALIZATIONOBSERVER_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
#define MVISUALIZATIONOBSERVER_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
class CVisualization;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
// CLASS DECLARATION
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
class TVisualizationData
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
    public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
        * Constructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
        TVisualizationData() { iFrequencyData = NULL, iWaveFormData = NULL; }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
		TUint64 iTimeStamp;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
		const TArray<TUint32>* iFrequencyData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
		const TArray<TInt16>* iWaveFormData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
*  Interface class to be implemented by objects that are interested in receiving notifications
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
*  from Audio Visualization object.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
*  @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
class MVisualizationObserver
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
    public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
        * Invoked when the state of the visualization object has changed.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
        * @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
        * @param aVisualization The visualization object that changed
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
        * @param aData The visualization data.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
        virtual void DataChanged( const CVisualization* aVisualization, TVisualizationData aData ) = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
     	/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
        * Invoked when the visualization data rate changed.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
        * @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
        * @param aVisualization The visualization object that changed
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
        * @param aData The visualization data.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
        virtual void DataRateChanged( const CVisualization* aVisualization ) = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
     	/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
        * Invoked when the visualization frequency band count changed.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
        * @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
        * @param aVisualization The visualization object that changed
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
        * @param aData The visualization data.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
        virtual void FrequencyBandCountChanged( const CVisualization* aVisualization ) = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
     	/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
        * Invoked when the visualization is preempted.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
        * @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
        virtual void VisualizationPreempted( ) = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
     	/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
        * Invoked when the visualization is resumed.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
        * @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
        virtual void VisualizationResumed( ) = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
     	/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
        * Invoked when the visualization is started.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
        * @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
        virtual void VisualizationStarted( ) = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
     	/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
        * Invoked when the visualization is stopped.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
        * @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
        virtual void VisualizationStopped( ) = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
     	/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
        * Invoked when the visualization the waveform data length changed.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
        * @since 3.0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
        * @param aVisualization The visualization object that changed
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
        * @param aData The visualization data.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
        virtual void WaveformDataLengthChanged( const CVisualization* aVisualization ) = 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
#endif      // MVISUALIZATIONOBSERVER_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
// End of File