#define SET( keyName, metaName ) \
item = tag->itemListMap()[keyName]; \
- if( !item.isEmpty() ) vlc_meta_Set##metaName( p_meta, item.toString().toCString( true ) ); \
+ if( !item.isEmpty() ) vlc_meta_Set##metaName( p_meta, item.toString().toCString( true ) );
+
+#define SET_EXTRA( keyName, metaName ) \
+ item = tag->itemListMap()[keyName]; \
+ if( !item.isEmpty() ) vlc_meta_AddExtra( p_meta, metaName, item.toString().toCString( true ) );
SET( "ALBUM", Album );
SET( "ARTIST", Artist );
SET( "PUBLISHER", Publisher );
SET( "MUSICBRAINZ_TRACKID", TrackID );
+ SET_EXTRA( "MUSICBRAINZ_ALBUMID", VLC_META_EXTRA_MB_ALBUMID );
+
#undef SET
+#undef SET_EXTRA
/* */
item = tag->itemListMap()["TRACK"];
vlc_meta_Set##metaName( p_meta, list.front().toString().toCString( true ) ); \
}
+#define SET_EXTRA( keyName, metaName ) \
+ if( tag->attributeListMap().contains(keyName) ) \
+ { \
+ list = tag->attributeListMap()[keyName]; \
+ vlc_meta_AddExtra( p_meta, metaName, list.front().toString().toCString( true ) ); \
+ }
+
SET("MusicBrainz/Track Id", TrackID );
+ SET_EXTRA("MusicBrainz/Album Id", VLC_META_EXTRA_MB_ALBUMID );
#undef SET
+#undef SET_EXTRA
#ifdef TAGLIB_HAVE_ASFPICTURE_H
// List the pictures
vlc_meta_Set( p_meta, vlc_meta_TrackTotal, p_txxx->fieldList().back().toCString( true ) );
continue;
}
+ if( !strcmp( p_txxx->description().toCString( true ), "MusicBrainz Album Id" ) )
+ {
+ vlc_meta_AddExtra( p_meta, VLC_META_EXTRA_MB_ALBUMID, p_txxx->fieldList().back().toCString( true ) );
+ continue;
+ }
vlc_meta_AddExtra( p_meta, p_txxx->description().toCString( true ),
p_txxx->fieldList().back().toCString( true ) );
}
if( !list.isEmpty() ) \
vlc_meta_Set##metaName( p_meta, (*list.begin()).toCString( true ) );
+#define SET_EXTRA( keyName, metaName ) \
+ list = tag->fieldListMap()[keyName]; \
+ if( !list.isEmpty() ) \
+ vlc_meta_AddExtra( p_meta, keyName, (*list.begin()).toCString( true ) );
+
SET( "COPYRIGHT", Copyright );
SET( "ORGANIZATION", Publisher );
SET( "DATE", Date );
SET( "RATING", Rating );
SET( "LANGUAGE", Language );
SET( "MUSICBRAINZ_TRACKID", TrackID );
+
+ SET_EXTRA( "MUSICBRAINZ_ALBUMID", VLC_META_EXTRA_MB_ALBUMID );
#undef SET
+#undef SET_EXTRA
list = tag->fieldListMap()["TRACKNUMBER"];
if( !list.isEmpty() )
list = tag->itemListMap()[keyName]; \
vlc_meta_Set##metaName( p_meta, list.toStringList().front().toCString( true ) ); \
}
+#define SET_EXTRA( keyName, metaName ) \
+ if( tag->itemListMap().contains(keyName) ) \
+ { \
+ list = tag->itemListMap()[keyName]; \
+ vlc_meta_AddExtra( p_meta, metaName, list.toStringList().front().toCString( true ) ); \
+ }
SET("----:com.apple.iTunes:MusicBrainz Track Id", TrackID );
+ SET_EXTRA("----:com.apple.iTunes:MusicBrainz Album Id", VLC_META_EXTRA_MB_ALBUMID );
#undef SET
+#undef SET_EXTRA
if( tag->itemListMap().contains("covr") )
{