~ubuntu-app-review-contributors/ubuntu-app-reviews/qoobar

« back to all changes in this revision

Viewing changes to mac_os/taglib.framework/Versions/A/Headers/aifffile.h

  • Committer: Andrew Mitchell
  • Author(s): Alex Novichkov
  • Date: 2012-03-04 06:34:35 UTC
  • Revision ID: ajmitch@ubuntu.com-20120304063435-mc7990pmo8n7r293
Tags: 1.5.1
* Added: progress bar for internet search
* Added: Autocompletion now can match the whole string or the last word
* Added: The ability to change some mp4 tags mapping
* Added: Support for some binary mp4 tags (Windows only or TagLib > 1.7.0)
* Added: Progress bar to split dialog
* Added: Option to save tags separated by ; as separate fields (for ape, ogg, flac files)
* Added: Full support for rating in mp4 files (Windows only or TagLib > 1.7.0)
* Changed: Switched to a newer taglib (Windows only)
* Changed: Id3v1 tags now append to tags, not replace the empty ones.
* Changed: scheme files to support new mp4 items
* Changed: Improved transliteration algorithm
* Fixed: Fixed two potential bugs.
* Fixed: Attempt to read binary id3v24 tag causes program crash.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
    copyright            : (C) 2008 by Scott Wheeler
 
3
    email                : wheeler@kde.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., 51 Franklin Street, Fifth Floor, Boston, MA         *
 
19
 *   02110-1301  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_AIFFFILE_H
 
27
#define TAGLIB_AIFFFILE_H
 
28
 
 
29
#include "rifffile.h"
 
30
#include "id3v2tag.h"
 
31
#include "aiffproperties.h"
 
32
 
 
33
namespace TagLib {
 
34
 
 
35
  namespace RIFF {
 
36
 
 
37
    //! An implementation of AIFF metadata
 
38
 
 
39
    /*!
 
40
     * This is implementation of AIFF metadata.
 
41
     *
 
42
     * This supports an ID3v2 tag as well as reading stream from the ID3 RIFF
 
43
     * chunk as well as properties from the file.
 
44
     */
 
45
 
 
46
    namespace AIFF {
 
47
 
 
48
      //! An implementation of TagLib::File with AIFF specific methods
 
49
 
 
50
      /*!
 
51
       * This implements and provides an interface for AIFF files to the
 
52
       * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing
 
53
       * the abstract TagLib::File API as well as providing some additional
 
54
       * information specific to AIFF files.
 
55
       */
 
56
 
 
57
      class TAGLIB_EXPORT File : public TagLib::RIFF::File
 
58
      {
 
59
      public:
 
60
        /*!
 
61
         * Contructs an AIFF file from \a file.  If \a readProperties is true the
 
62
         * file's audio properties will also be read using \a propertiesStyle.  If
 
63
         * false, \a propertiesStyle is ignored.
 
64
         */
 
65
        File(FileName file, bool readProperties = true,
 
66
             Properties::ReadStyle propertiesStyle = Properties::Average);
 
67
 
 
68
        /*!
 
69
         * Contructs an AIFF file from \a file.  If \a readProperties is true the
 
70
         * file's audio properties will also be read using \a propertiesStyle.  If
 
71
         * false, \a propertiesStyle is ignored.
 
72
         */
 
73
        File(IOStream *stream, bool readProperties = true,
 
74
             Properties::ReadStyle propertiesStyle = Properties::Average);
 
75
 
 
76
        /*!
 
77
         * Destroys this instance of the File.
 
78
         */
 
79
        virtual ~File();
 
80
 
 
81
        /*!
 
82
         * Returns the Tag for this file.
 
83
         */
 
84
        virtual ID3v2::Tag *tag() const;
 
85
 
 
86
        /*!
 
87
         * Returns the AIFF::Properties for this file.  If no audio properties
 
88
         * were read then this will return a null pointer.
 
89
         */
 
90
        virtual Properties *audioProperties() const;
 
91
 
 
92
        /*!
 
93
         * Saves the file.
 
94
         */
 
95
        virtual bool save();
 
96
 
 
97
      private:
 
98
        File(const File &);
 
99
        File &operator=(const File &);
 
100
 
 
101
        void read(bool readProperties, Properties::ReadStyle propertiesStyle);
 
102
 
 
103
        class FilePrivate;
 
104
        FilePrivate *d;
 
105
      };
 
106
    }
 
107
  }
 
108
}
 
109
 
 
110
#endif