23
23
#include "xmms/xmms_log.h"
26
static const gchar *id3_genres[] = {
26
static const gchar * const id3_genres[] = {
27
27
"Blues", "Classic Rock", "Country", "Dance",
28
28
"Disco", "Funk", "Grunge", "Hip-Hop",
29
29
"Jazz", "Metal", "New Age", "Oldies",
137
137
g_return_val_if_fail (config, FALSE);
138
138
encoding = xmms_config_property_get_string (config);
140
xmms_mad_id3v1_set (xform, XMMS_MEDIALIB_ENTRY_PROPERTY_ARTIST, tag->artist,
140
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_ARTIST;
141
xmms_mad_id3v1_set (xform, metakey, tag->artist,
141
142
sizeof (tag->artist), encoding);
142
xmms_mad_id3v1_set (xform, XMMS_MEDIALIB_ENTRY_PROPERTY_ALBUM, tag->album,
144
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_ALBUM;
145
xmms_mad_id3v1_set (xform, metakey, tag->album,
143
146
sizeof (tag->album), encoding);
144
xmms_mad_id3v1_set (xform, XMMS_MEDIALIB_ENTRY_PROPERTY_TITLE, tag->title,
148
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_TITLE;
149
xmms_mad_id3v1_set (xform, metakey, tag->title,
145
150
sizeof (tag->title), encoding);
146
xmms_mad_id3v1_set (xform, XMMS_MEDIALIB_ENTRY_PROPERTY_YEAR, tag->year,
152
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_YEAR;
153
xmms_mad_id3v1_set (xform, metakey, tag->year,
147
154
sizeof (tag->year), encoding);
150
if (!xmms_xform_metadata_has_val (xform,
151
XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE)) {
156
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE;
157
if (!xmms_xform_metadata_has_val (xform, metakey)) {
152
158
if (tag->genre >= G_N_ELEMENTS (id3_genres)) {
153
xmms_xform_metadata_set_str (xform,
154
XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE,
159
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE;
160
xmms_xform_metadata_set_str (xform, metakey, "Unknown");
157
xmms_xform_metadata_set_str (xform,
158
XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE,
162
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE;
163
xmms_xform_metadata_set_str (xform, metakey,
159
164
id3_genres[tag->genre]);
166
171
tag->u.v1_1.comment, sizeof (tag->u.v1_1.comment),
170
xmms_xform_metadata_has_val (xform,
171
XMMS_MEDIALIB_ENTRY_PROPERTY_TRACKNR);
173
xmms_xform_metadata_set_int (xform,
174
XMMS_MEDIALIB_ENTRY_PROPERTY_TRACKNR,
174
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_TRACKNR;
175
if (!xmms_xform_metadata_has_val (xform, metakey)) {
176
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_TRACKNR;
177
xmms_xform_metadata_set_int (xform, metakey,
175
178
tag->u.v1_1.track_number);
178
xmms_mad_id3v1_set (xform, XMMS_MEDIALIB_ENTRY_PROPERTY_COMMENT,
179
tag->u.v1_0.comment, sizeof (tag->u.v1_0.comment),
181
metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_COMMENT;
182
xmms_mad_id3v1_set (xform, metakey, tag->u.v1_0.comment,
183
sizeof (tag->u.v1_0.comment), encoding);