/libtunepimp-0.5.3/plugins/flac/flac_meta.h
C Header | 64 lines | 21 code | 10 blank | 33 comment | 0 complexity | ed9caa1bec2837f5ddd8ddf91b8ec663 MD5 | raw file
Possible License(s): LGPL-2.1, LGPL-3.0, GPL-2.0, LGPL-2.0
1/*----------------------------------------------------------------------------
2
3 libtunepimp -- The MusicBrainz tagging library.
4 Let a thousand taggers bloom!
5
6 Copyright (C) Robert Kaye 2003
7
8 This file is part of libtunepimp.
9
10 libtunepimp is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
14
15 libtunepimp is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with libtunepimp; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23
24 $Id: flac_meta.h 1448 2006-01-14 00:29:50Z luks $
25
26----------------------------------------------------------------------------*/
27//---------------------------------------------------------------------------
28// This code is based on vorbis.cpp and vorbis.cpp from FreeAmp. EMusic.com
29// has released this code into the Public Domain.
30// (Thanks goes to Brett Thomas, VP Engineering Emusic.com)
31//---------------------------------------------------------------------------
32// Portions (c) Copyright Kristian G. Kvilekval, and permission to use in LGPL
33// library granted on February 25th, 2003
34
35#ifndef INCLUDED_FLAC_META_H
36#define INCLUDED_FLAC_META_H
37
38#include <string>
39#include <assert.h>
40using namespace std;
41
42#include "metadata.h"
43#include "metadata_plugin.h"
44
45class FLAC : public MetadataPlugin
46{
47 public:
48
49 FLAC(const char *encoding) : encoding(encoding) {};
50 virtual ~FLAC(void) {};
51
52 bool write (const string &fileName, const Metadata &metadata, bool clear);
53 bool read (const string &fileName, Metadata &metadata);
54
55 void getError(string &error) { error = errString; };
56
57 private:
58
59 const string ConvertToISO(const char *utf8);
60 string encoding;
61 string errString;
62};
63
64#endif