~l0rdt/mixxx/features_replaygain

« back to all changes in this revision

Viewing changes to mixxx-win32lib-msvc/taglib/mpcproperties.h

  • Committer: Vittorio
  • Date: 2010-11-07 15:27:52 UTC
  • mfrom: (2444.1.99 mixxx-trunk)
  • Revision ID: l0rdt@gmx.it-20101107152752-ncar4splwz92k16i
MergingĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
    copyright            : (C) 2004 by Allan Sandfeld Jensen
 
3
    email                : kde@carewolf.org
 
4
 ***************************************************************************/
 
5
 
 
6
/***************************************************************************
 
7
 *   This library is free software; you can redistribute it and/or modify  *
 
8
 *   it under the terms of the GNU Lesser General Public License version   *
 
9
 *   2.1 as published by the Free Software Foundation.                     *
 
10
 *                                                                         *
 
11
 *   This library is distributed in the hope that it will be useful, but   *
 
12
 *   WITHOUT ANY WARRANTY; without even the implied warranty of            *
 
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
 
14
 *   Lesser General Public License for more details.                       *
 
15
 *                                                                         *
 
16
 *   You should have received a copy of the GNU Lesser General Public      *
 
17
 *   License along with this library; if not, write to the Free Software   *
 
18
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  *
 
19
 *   USA                                                                   *
 
20
 *                                                                         *
 
21
 *   Alternatively, this file is available under the Mozilla Public        *
 
22
 *   License Version 1.1.  You may obtain a copy of the License at         *
 
23
 *   http://www.mozilla.org/MPL/                                           *
 
24
 ***************************************************************************/
 
25
 
 
26
#ifndef TAGLIB_MPCPROPERTIES_H
 
27
#define TAGLIB_MPCPROPERTIES_H
 
28
 
 
29
#include "taglib_export.h"
 
30
#include "audioproperties.h"
 
31
 
 
32
namespace TagLib {
 
33
 
 
34
  namespace MPC {
 
35
 
 
36
    class File;
 
37
 
 
38
    static const uint HeaderSize = 8*7;
 
39
 
 
40
    //! An implementation of audio property reading for MPC
 
41
 
 
42
    /*!
 
43
     * This reads the data from an MPC stream found in the AudioProperties
 
44
     * API.
 
45
     */
 
46
 
 
47
    class TAGLIB_EXPORT Properties : public AudioProperties
 
48
    {
 
49
    public:
 
50
      /*!
 
51
       * Create an instance of MPC::Properties with the data read from the
 
52
       * ByteVector \a data.
 
53
       */
 
54
      Properties(const ByteVector &data, long streamLength, ReadStyle style = Average);
 
55
 
 
56
      /*!
 
57
       * Destroys this MPC::Properties instance.
 
58
       */
 
59
      virtual ~Properties();
 
60
 
 
61
      // Reimplementations.
 
62
 
 
63
      virtual int length() const;
 
64
      virtual int bitrate() const;
 
65
      virtual int sampleRate() const;
 
66
      virtual int channels() const;
 
67
 
 
68
      /*!
 
69
       * Returns the version of the bitstream (SV4-SV7)
 
70
       */
 
71
      int mpcVersion() const;
 
72
 
 
73
    private:
 
74
      Properties(const Properties &);
 
75
      Properties &operator=(const Properties &);
 
76
 
 
77
      void read();
 
78
 
 
79
      class PropertiesPrivate;
 
80
      PropertiesPrivate *d;
 
81
    };
 
82
  }
 
83
}
 
84
 
 
85
#endif