-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathsetlyr3.h
55 lines (38 loc) · 1.24 KB
/
setlyr3.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
tag::write::Lyrics3 applicative class
copyright (c) 2006 squell <[email protected]>
use, modification, copying and distribution of this software is permitted
under the conditions described in the file 'COPYING'.
Usage:
The write::Lyrics3 class implements the interface for Lyrics3 tags
*/
#ifndef __ZF_SETLYRICS3
#define __ZF_SETLYRICS3
#include <map>
#include <string>
#include "set_base.h"
namespace tag {
namespace write {
class Lyrics3 : public handler, public reader {
public:
bool vmodify(const char*, const function&) const;
metadata* read(const char*) const;
// standard set
Lyrics3() : mod(), null_tag(), fresh(), gen() { }
Lyrics3& set(ID3field i, std::string m);
Lyrics3& rewrite(bool t = true)
{ fresh = t; return *this; }
Lyrics3& create(bool t = true)
{ gen = t; return *this; }
// extended
bool set(std::string field, std::string s);
bool rm(std::string field);
bool from(const char* fn);
private:
std::map<std::string,std::string> mod;
std::string null_tag;
bool fresh, gen;
};
}
}
#endif