First public contribution.
2 * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Definition of the Audio Visualization Observer class.
20 #ifndef MVISUALIZATIONOBSERVER_H
21 #define MVISUALIZATIONOBSERVER_H
27 class TVisualizationData
34 TVisualizationData() { iFrequencyData = NULL, iWaveFormData = NULL; }
37 const TArray<TUint32>* iFrequencyData;
38 const TArray<TInt16>* iWaveFormData;
44 * Interface class to be implemented by objects that are interested in receiving notifications
45 * from Audio Visualization object.
49 class MVisualizationObserver
54 * Invoked when the state of the visualization object has changed.
56 * @param aVisualization The visualization object that changed
57 * @param aData The visualization data.
59 virtual void DataChanged( const CVisualization* aVisualization, TVisualizationData aData ) = 0;
62 * Invoked when the visualization data rate changed.
64 * @param aVisualization The visualization object that changed
65 * @param aData The visualization data.
67 virtual void DataRateChanged( const CVisualization* aVisualization ) = 0;
70 * Invoked when the visualization frequency band count changed.
72 * @param aVisualization The visualization object that changed
73 * @param aData The visualization data.
75 virtual void FrequencyBandCountChanged( const CVisualization* aVisualization ) = 0;
78 * Invoked when the visualization is preempted.
81 virtual void VisualizationPreempted( ) = 0;
84 * Invoked when the visualization is resumed.
87 virtual void VisualizationResumed( ) = 0;
90 * Invoked when the visualization is started.
93 virtual void VisualizationStarted( ) = 0;
96 * Invoked when the visualization is stopped.
99 virtual void VisualizationStopped( ) = 0;
102 * Invoked when the visualization the waveform data length changed.
104 * @param aVisualization The visualization object that changed
105 * @param aData The visualization data.
107 virtual void WaveformDataLengthChanged( const CVisualization* aVisualization ) = 0;
111 #endif // MVISUALIZATIONOBSERVER_H