]> git.sesse.net Git - vlc/commitdiff
Add support for writing more Ogg tags.
authorTimothy B. Terriberry <tterribe@xiph.org>
Mon, 2 Sep 2013 15:50:52 +0000 (08:50 -0700)
committerJean-Baptiste Kempf <jb@videolan.org>
Tue, 3 Sep 2013 09:21:38 +0000 (11:21 +0200)
This propagates more of the data between a vlc_meta_t object and
the taglib object used to write out new metadata. This should
support everything except Setting, URL, NowPlaying, ArtworkURL, and
TrackID.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
include/vlc_meta.h
modules/meta_engine/taglib.cpp

index db9f58af4b68976c9fd31aaa431b9ec52cd41717..388a322225aca693708de70232b0e6bcc2e50abc 100644 (file)
@@ -125,6 +125,7 @@ VLC_API int input_item_WriteMeta(vlc_object_t *, input_item_t *);
 #define vlc_meta_SetEncodedBy( meta, b )   vlc_meta_Set( meta, vlc_meta_EncodedBy, b )
 #define vlc_meta_SetArtURL( meta, b )      vlc_meta_Set( meta, vlc_meta_ArtworkURL, b )
 #define vlc_meta_SetTrackID( meta, b )     vlc_meta_Set( meta, vlc_meta_TrackID, b )
+#define vlc_meta_SetTrackTotal( meta, b )  vlc_meta_Set( meta, vlc_meta_TrackTotal, b )
 
 #define VLC_META_TITLE              vlc_meta_TypeToLocalizedString( vlc_meta_Title )
 #define VLC_META_ARTIST             vlc_meta_TypeToLocalizedString( vlc_meta_Artist )
index 1be894c0b0244536f1ab25f2cdce961e1cdef0d2..577c96f9feba0894b239a96ad49ceda248c07328 100644 (file)
@@ -434,7 +434,13 @@ static void ReadMetaFromXiph( Ogg::XiphComment* tag, demux_meta_t* p_demux_meta,
     if( !list.isEmpty() )                                                      \
         vlc_meta_Set##metaName( p_meta, (*list.begin()).toCString( true ) );
 
+    SET( "TRACKTOTAL", TrackTotal );
     SET( "COPYRIGHT", Copyright );
+    SET( "ORGANIZATION", Publisher );
+    SET( "DATE", Date );
+    SET( "ENCODER", EncodedBy );
+    SET( "RATING", Rating );
+    SET( "LANGUAGE", Language );
 #undef SET
 
     // Try now to get embedded art
@@ -846,7 +852,14 @@ static void WriteMetaToXiph( Ogg::XiphComment* tag, input_item_t* p_item )
     }                                                   \
     free( psz_meta );
 
+    WRITE( TrackNum, "TRACKNUMBER" );
+    WRITE( TrackTotal, "TRACKTOTAL" );
     WRITE( Copyright, "COPYRIGHT" );
+    WRITE( Publisher, "ORGANIZATION" );
+    WRITE( Date, "DATE" );
+    WRITE( EncodedBy, "ENCODER" );
+    WRITE( Rating, "RATING" );
+    WRITE( Language, "LANGUAGE" );
 
 #undef WRITE
 }