PageRenderTime 20ms CodeModel.GetById 12ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/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