demos/spectrum/app/engine.h
changeset 30 5dc02b23752f
parent 29 b72c6db6890b
child 33 3e2da88830cd
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
     7 ** This file is part of the examples of the Qt Toolkit.
     7 ** This file is part of the examples of the Qt Toolkit.
     8 **
     8 **
     9 ** $QT_BEGIN_LICENSE:BSD$
     9 ** $QT_BEGIN_LICENSE:BSD$
    10 ** You may use this file under the terms of the BSD license as follows:
    10 ** You may use this file under the terms of the BSD license as follows:
    11 **
    11 **
    12 ** "Redistribution and use in source and binary forms, with or without
    12 ** Redistribution and use in source and binary forms, with or without
    13 ** modification, are permitted provided that the following conditions are
    13 ** modification, are permitted provided that the following conditions are met:
    14 ** met:
    14 ** - Redistributions of source code must retain the above copyright notice,
    15 **   * Redistributions of source code must retain the above copyright
    15 **   this list of conditions and the following disclaimer.
    16 **     notice, this list of conditions and the following disclaimer.
    16 ** - Redistributions in binary form must reproduce the above copyright notice,
    17 **   * Redistributions in binary form must reproduce the above copyright
    17 **   this list of conditions and the following disclaimer in the documentation
    18 **     notice, this list of conditions and the following disclaimer in
    18 **   and/or other materials provided with the distribution.
    19 **     the documentation and/or other materials provided with the
    19 ** - Neither the name of Nokia Corporation and its Subsidiary(-ies) nor the
    20 **     distribution.
    20 **   names of its contributors may be used to endorse or promote products
    21 **   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
    21 **   derived from this software without specific prior written permission.
    22 **     the names of its contributors may be used to endorse or promote
    22 **
    23 **     products derived from this software without specific prior written
    23 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    24 **     permission.
    24 ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    25 **
    25 ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    26 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    26 ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    27 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    27 ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    28 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    28 ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    29 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    29 ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    30 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    30 ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    31 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    31 ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    32 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    32 ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    33 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    33 ** POSSIBILITY OF SUCH DAMAGE.
    34 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
       
    35 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
       
    36 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
       
    37 ** $QT_END_LICENSE$
    34 ** $QT_END_LICENSE$
    38 **
    35 **
    39 ****************************************************************************/
    36 *****************************************************************************/
    40 
    37 
    41 #ifndef ENGINE_H
    38 #ifndef ENGINE_H
    42 #define ENGINE_H
    39 #define ENGINE_H
    43 
    40 
    44 #include "spectrum.h"
    41 #include "spectrum.h"
    62 
    59 
    63 #ifdef DUMP_DATA
    60 #ifdef DUMP_DATA
    64 #include <QDir>
    61 #include <QDir>
    65 #endif
    62 #endif
    66 
    63 
       
    64 class QAudioInput;
       
    65 class QAudioOutput;
    67 class FrequencySpectrum;
    66 class FrequencySpectrum;
    68 
    67 class QFile;
    69 QT_FORWARD_DECLARE_CLASS(QAudioInput)
       
    70 QT_FORWARD_DECLARE_CLASS(QAudioOutput)
       
    71 QT_FORWARD_DECLARE_CLASS(QFile)
       
    72 
    68 
    73 /**
    69 /**
    74  * This class interfaces with the QtMultimedia audio classes, and also with
    70  * This class interfaces with the QtMultimedia audio classes, and also with
    75  * the SpectrumAnalyser class.  Its role is to manage the capture and playback
    71  * the SpectrumAnalyser class.  Its role is to manage the capture and playback
    76  * of audio data, meanwhile performing real-time analysis of the audio level
    72  * of audio data, meanwhile performing real-time analysis of the audio level