~ubuntu-branches/ubuntu/intrepid/kid3/intrepid

« back to all changes in this revision

Viewing changes to kid3/taglibext/speex/speexfile.h

  • Committer: Bazaar Package Importer
  • Author(s): Michele Angrisano
  • Date: 2008-01-09 23:20:54 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20080109232054-gtcjxz4ahdnzbt01
Tags: 0.10-1ubuntu1
* Merge from Debian unstable, remaining changes:
  - debian/rules:
    + Use dh_icons instead dh_iconcache.
  - debian/control:
    + Update maintainer field.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
    copyright            : (C) 2006 by Lukáš Lalinský
 
3
    email                : lalinsky@gmail.com
 
4
 
 
5
    copyright            : (C) 2002 by Scott Wheeler
 
6
    email                : wheeler@kde.org
 
7
                           (original Vorbis implementation)
 
8
 ***************************************************************************/
 
9
 
 
10
/***************************************************************************
 
11
 *   This library is free software; you can redistribute it and/or modify  *
 
12
 *   it  under the terms of the GNU Lesser General Public License version  *
 
13
 *   2.1 as published by the Free Software Foundation.                     *
 
14
 *                                                                         *
 
15
 *   This library is distributed in the hope that it will be useful, but   *
 
16
 *   WITHOUT ANY WARRANTY; without even the implied warranty of            *
 
17
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
 
18
 *   Lesser General Public License for more details.                       *
 
19
 *                                                                         *
 
20
 *   You should have received a copy of the GNU Lesser General Public      *
 
21
 *   License along with this library; if not, write to the Free Software   *
 
22
 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,            *
 
23
 *   MA  02110-1301  USA                                                   *
 
24
 ***************************************************************************/
 
25
 
 
26
#ifndef TAGLIB_SPEEXFILE_H
 
27
#define TAGLIB_SPEEXFILE_H
 
28
 
 
29
#include <oggfile.h>
 
30
#include <xiphcomment.h>
 
31
 
 
32
#include "speexproperties.h"
 
33
 
 
34
namespace TagLib {
 
35
 
 
36
  //! A namespace containing classes for Speex metadata
 
37
 
 
38
  namespace Speex {
 
39
 
 
40
    //! An implementation of Ogg::File with Speex specific methods
 
41
 
 
42
    /*!
 
43
     * This is the central class in the Ogg Speex metadata processing collection
 
44
     * of classes.  It's built upon Ogg::File which handles processing of the Ogg
 
45
     * logical bitstream and breaking it down into pages which are handled by
 
46
     * the codec implementations, in this case Speex specifically.
 
47
     */
 
48
 
 
49
    class File : public Ogg::File
 
50
    {
 
51
    public:
 
52
      /*!
 
53
       * Contructs a Speex file from \a file.  If \a readProperties is true the
 
54
       * file's audio properties will also be read using \a propertiesStyle.  If
 
55
       * false, \a propertiesStyle is ignored.
 
56
       */
 
57
      explicit File(const char *file, bool readProperties = true,
 
58
           Properties::ReadStyle propertiesStyle = Properties::Average);
 
59
 
 
60
      /*!
 
61
       * Destroys this instance of the File.
 
62
       */
 
63
      virtual ~File();
 
64
 
 
65
      /*!
 
66
       * Returns the XiphComment for this file.  XiphComment implements the tag
 
67
       * interface, so this serves as the reimplementation of
 
68
       * TagLib::File::tag().
 
69
       */
 
70
      virtual Ogg::XiphComment *tag() const;
 
71
 
 
72
      /*!
 
73
       * Returns the Speex::Properties for this file.  If no audio properties
 
74
       * were read then this will return a null pointer.
 
75
       */
 
76
      virtual Properties *audioProperties() const;
 
77
 
 
78
      virtual bool save();
 
79
 
 
80
    private:
 
81
      File(const File &);
 
82
      File &operator=(const File &);
 
83
 
 
84
      void read(bool readProperties, Properties::ReadStyle propertiesStyle);
 
85
 
 
86
      class FilePrivate;
 
87
      FilePrivate *d;
 
88
    };
 
89
  }
 
90
 
 
91
}
 
92
 
 
93
#endif