42 #include <xiphcomment.h>
47 using namespace TagLib;
130 static Info * create(
const String &filename);
132 static Info * create_from_mime(
const String &filename,
const String &mime_type);
137 String get_file_name(
void);
146 String get_album_artist(
void)
const;
147 void set_album_artist(
const String new_artist);
149 String get_album(
void)
const;
150 void set_album(
const String new_album);
152 String get_artist(
void)
const;
153 void set_artist(
const String new_artist);
155 int get_beats_per_minute()
const;
156 void set_beats_per_minute(
const int new_bpm);
158 String get_comments(
void)
const;
159 void set_comments(
const String new_comments);
161 String get_composer(
void)
const;
162 void set_composer(
const String new_composer);
164 String get_copyright(
void)
const;
165 void set_copyright(
const String new_copyright);
167 String get_encoder(
void)
const;
168 void set_encoder(
const String new_encoder);
170 String get_genre(
void)
const;
171 void set_genre(
const String new_genre);
173 bool get_has_image()
const;
175 String get_homepage(
void)
const;
176 void set_homepage(
const String new_homepage);
178 bool get_is_compilation()
const;
179 void set_is_compilation(
bool compilation);
181 String get_original_artist(
void)
const;
182 void set_original_artist(
const String new_artist);
184 int get_playcount()
const;
185 void set_playcount(
int new_playcount);
187 int get_rating()
const;
188 void set_rating(
const int new_rating);
190 String get_title(
void)
const;
191 void set_title(
const String new_title);
193 int get_track_count()
const;
194 void set_track_count(
const int new_track_count);
196 int get_track_number()
const;
197 void set_track_number(
const int new_track_number);
199 int get_volume_count()
const;
200 void set_volume_count(
const int count);
202 int get_volume_number()
const;
203 void set_volume_number(
const int number);
205 int get_year()
const;
206 void set_year(
const int new_year);
209 int get_length_seconds()
const;
210 int get_bitrate()
const;
211 int get_channels()
const;
212 int get_samplerate()
const;
216 StringList get_track_labels_list()
const;
217 void set_track_labels_list(
const StringList &new_track_labels_list);
219 StringList get_artist_labels_list()
const;
220 void set_artist_labels_list(
const StringList &new_artist_labels_list);
222 StringList get_album_labels_list()
const;
223 void set_album_labels_list(
const StringList &new_album_labels_list);
231 virtual bool load(
void);
236 virtual bool save(
void);
240 virtual void set_images(
const ImageList images);
242 virtual String get_lyrics(
void)
const;
243 virtual void set_lyrics(
const String &lyrics);
248 Info(
const String &filename =
"");
342 void load_base_tags(TagLib::Tag * tag);
346 void save_base_tags(TagLib::Tag * tag);
357 InfoRef(
const String &filename);
359 InfoRef(
const String &filename,
const String &mime);
363 bool is_valid()
const;
Asf media file.
Definition: taginfo.h:76
TagLib::File * taglib_file
TagLib::File of the media file
Definition: taginfo.h:254
A simple, value based wrapper round Info.
Definition: taginfo.h:355
String composer
Composer of the Info object.
Definition: taginfo.h:275
Aac media file.
Definition: taginfo.h:70
Flac media file.
Definition: taginfo.h:78
MP3 media file.
Definition: taginfo.h:86
String file_name
The path of the media file.
Definition: taginfo.h:260
String artist_labels_string
User defined artist labels as string with "|" as delimiter.
Definition: taginfo.h:325
String comments
Comments of the Info object.
Definition: taginfo.h:277
int track_number
Track number of the Info object.
Definition: taginfo.h:287
Speex media file.
Definition: taginfo.h:104
Impulse Tracker media file.
Definition: taginfo.h:110
String title
Title of the Info object.
Definition: taginfo.h:265
MP4 media file.
Definition: taginfo.h:88
String album
Album of the Info object.
Definition: taginfo.h:273
bool valid
Whether the info object is valid.
Definition: taginfo.h:338
bool has_image
Whether there is image data available.
Definition: taginfo.h:335
int playcount
Play count.
Definition: taginfo.h:314
MediaFileType
describes the media file type
Definition: taginfo.h:66
int beats_per_minute
Speed in beats per minute.
Definition: taginfo.h:295
M4A media file.
Definition: taginfo.h:80
int length_seconds
Lenght in seconds.
Definition: taginfo.h:304
String track_labels_string
User defined track labels as string with "|" as delimiter.
Definition: taginfo.h:321
M4P media file.
Definition: taginfo.h:84
StringList album_labels
User defined album labels.
Definition: taginfo.h:327
Unknown media file type.
Definition: taginfo.h:68
Opus media file.
Definition: taginfo.h:116
int volume_number
Volume number of the Info object.
Definition: taginfo.h:297
Wmv media file.
Definition: taginfo.h:106
Tta media file.
Definition: taginfo.h:96
Ape media file.
Definition: taginfo.h:74
MPC media file.
Definition: taginfo.h:90
int bitrate
Bitrate.
Definition: taginfo.h:306
String genre
Genre of the Info object.
Definition: taginfo.h:267
String copyright
Copyright of the Info object.
Definition: taginfo.h:283
M4B media file.
Definition: taginfo.h:82
String original_artist
Original artist of the Info object.
Definition: taginfo.h:285
TagLib::FileRef * taglib_fileref
TagLib::FileRef of the media file
Definition: taginfo.h:251
S3m media file.
Definition: taginfo.h:114
int samplerate
Sample rate.
Definition: taginfo.h:308
String album_labels_string
User defined album labels as string with "|" as delimiter.
Definition: taginfo.h:329
WavPack media file.
Definition: taginfo.h:102
Mod media file.
Definition: taginfo.h:108
Ogg media file.
Definition: taginfo.h:94
int channels
Channel count.
Definition: taginfo.h:310
Xm media file.
Definition: taginfo.h:112
TagLib::List< Image * > ImageList
Definition: taginfo.h:62
Aiff media file.
Definition: taginfo.h:72
ulong changedflag
The setters for the tags on the info object will set these ChangedFlags flags.
Definition: taginfo.h:332
String artist
Artist of the Info object.
Definition: taginfo.h:269
int year
Year of the Info object.
Definition: taginfo.h:291
TagLib::Tag * taglib_tag
TagLib::Tag of the media file
Definition: taginfo.h:257
int volume_count
Volume count of the Info object.
Definition: taginfo.h:299
StringList track_labels
User defined track labels.
Definition: taginfo.h:319
int track_count
Track count of the Info object.
Definition: taginfo.h:289
Oga media file.
Definition: taginfo.h:92
String album_artist
Album artist of the Info object.
Definition: taginfo.h:271
String homepage
Homepage of the Info object.
Definition: taginfo.h:279
String encoder
Encoder of the Info object.
Definition: taginfo.h:281
Wave media file.
Definition: taginfo.h:98
Wma media file.
Definition: taginfo.h:100
bool is_compilation
Whether the media file is part of a compilation.
Definition: taginfo.h:293
StringList artist_labels
User defined artist labels.
Definition: taginfo.h:323
int rating
Rating (1 - 5 stars, 0 not set)
Definition: taginfo.h:316
A simple, generic interface to common audio meta data fields and media properties.
Definition: taginfo.h:125