- if( !dst || !src ) return;
-#define COPY_FIELD( a ) \
- if( src->psz_ ## a ) { \
- if( dst->psz_ ## a ) free( dst->psz_## a ); \
- dst->psz_##a = strdup( src->psz_##a ); \
- }
- COPY_FIELD( title );
- COPY_FIELD( author );
- COPY_FIELD( artist );
- COPY_FIELD( genre );
- COPY_FIELD( copyright );
- COPY_FIELD( album );
- COPY_FIELD( tracknum );
- COPY_FIELD( description );
- COPY_FIELD( rating );
- COPY_FIELD( date );
- COPY_FIELD( setting );
- COPY_FIELD( url );
- COPY_FIELD( language );
- COPY_FIELD( nowplaying );
- COPY_FIELD( publisher );
- COPY_FIELD( encodedby );
- COPY_FIELD( arturl );
-}
- /** \todo Track meta */
+ VLC_COMMON_MEMBERS
+ input_item_t *p_item;
+ const char *psz_file;
+} meta_export_t;
+
+VLC_EXPORT( int, input_item_WriteMeta, (vlc_object_t *, input_item_t *) );
+
+/* Setters for meta.
+ * Warning: Make sure to use the input_item meta setters (defined in vlc_input.h)
+ * instead of those one. */
+#define vlc_meta_SetTitle( meta, b ) vlc_meta_Set( meta, vlc_meta_Title, b )
+#define vlc_meta_SetArtist( meta, b ) vlc_meta_Set( meta, vlc_meta_Artist, b )
+#define vlc_meta_SetGenre( meta, b ) vlc_meta_Set( meta, vlc_meta_Genre, b )
+#define vlc_meta_SetCopyright( meta, b ) vlc_meta_Set( meta, vlc_meta_Copyright, b )
+#define vlc_meta_SetAlbum( meta, b ) vlc_meta_Set( meta, vlc_meta_Album, b )
+#define vlc_meta_SetTrackNum( meta, b ) vlc_meta_Set( meta, vlc_meta_TrackNumber, b )
+#define vlc_meta_SetDescription( meta, b ) vlc_meta_Set( meta, vlc_meta_Description, b )
+#define vlc_meta_SetRating( meta, b ) vlc_meta_Set( meta, vlc_meta_Rating, b )
+#define vlc_meta_SetDate( meta, b ) vlc_meta_Set( meta, vlc_meta_Date, b )
+#define vlc_meta_SetSetting( meta, b ) vlc_meta_Set( meta, vlc_meta_Setting, b )
+#define vlc_meta_SetURL( meta, b ) vlc_meta_Set( meta, vlc_meta_URL, b )
+#define vlc_meta_SetLanguage( meta, b ) vlc_meta_Set( meta, vlc_meta_Language, b )
+#define vlc_meta_SetNowPlaying( meta, b ) vlc_meta_Set( meta, vlc_meta_NowPlaying, b )
+#define vlc_meta_SetPublisher( meta, b ) vlc_meta_Set( meta, vlc_meta_Publisher, b )
+#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_TITLE vlc_meta_TypeToLocalizedString( vlc_meta_Title )
+#define VLC_META_ARTIST vlc_meta_TypeToLocalizedString( vlc_meta_Artist )
+#define VLC_META_GENRE vlc_meta_TypeToLocalizedString( vlc_meta_Genre )
+#define VLC_META_COPYRIGHT vlc_meta_TypeToLocalizedString( vlc_meta_Copyright )
+#define VLC_META_ALBUM vlc_meta_TypeToLocalizedString( vlc_meta_Album )
+#define VLC_META_TRACK_NUMBER vlc_meta_TypeToLocalizedString( vlc_meta_TrackNumber )
+#define VLC_META_DESCRIPTION vlc_meta_TypeToLocalizedString( vlc_meta_Description )
+#define VLC_META_RATING vlc_meta_TypeToLocalizedString( vlc_meta_Rating )
+#define VLC_META_DATE vlc_meta_TypeToLocalizedString( vlc_meta_Date )
+#define VLC_META_SETTING vlc_meta_TypeToLocalizedString( vlc_meta_Setting )
+#define VLC_META_URL vlc_meta_TypeToLocalizedString( vlc_meta_URL )
+#define VLC_META_LANGUAGE vlc_meta_TypeToLocalizedString( vlc_meta_Language )
+#define VLC_META_NOW_PLAYING vlc_meta_TypeToLocalizedString( vlc_meta_NowPlaying )
+#define VLC_META_PUBLISHER vlc_meta_TypeToLocalizedString( vlc_meta_Publisher )
+#define VLC_META_ENCODED_BY vlc_meta_TypeToLocalizedString( vlc_meta_EncodedBy )
+#define VLC_META_ART_URL vlc_meta_TypeToLocalizedString( vlc_meta_ArtworkURL )
+#define VLC_META_TRACKID vlc_meta_TypeToLocalizedString( vlc_meta_TrackID )
+