X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_meta.h;h=bd7b3190915604b25a4ab554880806538b52ea68;hb=4d756c68e54439a44ef611cdfb7e4f95bc7f10ff;hp=d3b6f46548e6c593315aa8b9bc4566e9b30c587c;hpb=eaba6509a79dd35ce836400d2dce4588ac77d1dd;p=vlc diff --git a/include/vlc_meta.h b/include/vlc_meta.h index d3b6f46548..bd7b319091 100644 --- a/include/vlc_meta.h +++ b/include/vlc_meta.h @@ -1,24 +1,24 @@ /***************************************************************************** * vlc_meta.h: Stream meta-data ***************************************************************************** - * Copyright (C) 2004 the VideoLAN team + * Copyright (C) 2004 VLC authors and VideoLAN * $Id$ * * Authors: Laurent Aimar * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ #ifndef VLC_META_H @@ -48,46 +48,51 @@ typedef enum vlc_meta_type_t vlc_meta_Publisher, vlc_meta_EncodedBy, vlc_meta_ArtworkURL, - vlc_meta_TrackID + vlc_meta_TrackID, + vlc_meta_TrackTotal, + vlc_meta_Director, + vlc_meta_Season, + vlc_meta_Episode, + vlc_meta_ShowName, + vlc_meta_Actors, } vlc_meta_type_t; -#define VLC_META_TYPE_COUNT 17 +#define VLC_META_TYPE_COUNT 23 -typedef int vlc_meta_status_e; -#deinf ITEM_PREPARSED 1 -#deinf ITEM_ARTURL_FETCHED 2 -#deinf ITEM_PREPARSED 4 -#deinf ITEM_PREPARSED 8 +#define ITEM_PREPARSED 1 +#define ITEM_ARTURL_FETCHED 2 +#define ITEM_ART_FETCHED 4 +#define ITEM_ART_NOTFOUND 8 /** * Basic function to deal with meta */ struct vlc_meta_t; -VLC_EXPORT(vlc_meta_t *, vlc_meta_New, ( void )); -VLC_EXPORT(void, vlc_meta_Delete, ( vlc_meta_t *m )); -VLC_EXPORT(void, vlc_meta_Set, ( vlc_meta_t *p_meta, vlc_meta_type_t meta_type, const char *psz_val )); -VLC_EXPORT(const char *, vlc_meta_Get, ( const vlc_meta_t *p_meta, vlc_meta_type_t meta_type )); +VLC_API vlc_meta_t * vlc_meta_New( void ) VLC_USED; +VLC_API void vlc_meta_Delete( vlc_meta_t *m ); +VLC_API void vlc_meta_Set( vlc_meta_t *p_meta, vlc_meta_type_t meta_type, const char *psz_val ); +VLC_API const char * vlc_meta_Get( const vlc_meta_t *p_meta, vlc_meta_type_t meta_type ); -VLC_EXPORT(void, vlc_meta_AddExtra, ( vlc_meta_t *m, const char *psz_name, const char *psz_value )); -VLC_EXPORT(const char *, vlc_meta_GetExtra, ( const vlc_meta_t *m, const char *psz_name )); -VLC_EXPORT(unsigned, vlc_meta_GetExtraCount, ( const vlc_meta_t *m )); +VLC_API void vlc_meta_AddExtra( vlc_meta_t *m, const char *psz_name, const char *psz_value ); +VLC_API const char * vlc_meta_GetExtra( const vlc_meta_t *m, const char *psz_name ); +VLC_API unsigned vlc_meta_GetExtraCount( const vlc_meta_t *m ); /** * Allocate a copy of all extra meta names and a table with it. * Be sure to free both the returned pointers and its name. */ -VLC_EXPORT(char **, vlc_meta_CopyExtraNames, ( const vlc_meta_t *m )); +VLC_API char ** vlc_meta_CopyExtraNames( const vlc_meta_t *m ) VLC_USED; -VLC_EXPORT(void, vlc_meta_Merge, ( vlc_meta_t *dst, const vlc_meta_t *src )); +VLC_API void vlc_meta_Merge( vlc_meta_t *dst, const vlc_meta_t *src ); -VLC_EXPORT(vlc_meta_status_e, vlc_meta_GetStatus, ( vlc_meta_t *m )); -VLC_EXPORT(void, vlc_meta_SetStatus, ( vlc_meta_t *m, vlc_meta_status_e status )); +VLC_API int vlc_meta_GetStatus( vlc_meta_t *m ); +VLC_API void vlc_meta_SetStatus( vlc_meta_t *m, int status ); /** * Returns a localizes string describing the meta */ -VLC_EXPORT(const char *, vlc_meta_TypeToLocalizedString, ( vlc_meta_type_t meta_type ) ); +VLC_API const char * vlc_meta_TypeToLocalizedString( vlc_meta_type_t meta_type ); enum { ALBUM_ART_WHEN_ASKED, @@ -103,10 +108,10 @@ typedef struct meta_export_t const char *psz_file; } meta_export_t; -VLC_EXPORT( int, input_item_WriteMeta, (vlc_object_t *, input_item_t *) ); +VLC_API 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) + * Warning: Make sure to use the input_item meta setters (defined in vlc_input_item.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 ) @@ -125,6 +130,12 @@ VLC_EXPORT( 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_SetDirector( meta, b ) vlc_meta_Set( meta, vlc_meta_Director, b ) +#define vlc_meta_SetSeason( meta, b ) vlc_meta_Set( meta, vlc_meta_Season, b ) +#define vlc_meta_SetEpisode( meta, b ) vlc_meta_Set( meta, vlc_meta_Episode, b ) +#define vlc_meta_SetShowName( meta, b ) vlc_meta_Set( meta, vlc_meta_ShowName, b ) +#define vlc_meta_SetActors( meta, b ) vlc_meta_Set( meta, vlc_meta_Actors, b ) #define VLC_META_TITLE vlc_meta_TypeToLocalizedString( vlc_meta_Title ) #define VLC_META_ARTIST vlc_meta_TypeToLocalizedString( vlc_meta_Artist ) @@ -143,6 +154,12 @@ VLC_EXPORT( int, input_item_WriteMeta, (vlc_object_t *, input_item_t *) ); #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 ) +#define VLC_META_DIRECTOR vlc_meta_TypeToLocalizedString( vlc_meta_Director ) +#define VLC_META_SEASON vlc_meta_TypeToLocalizedString( vlc_meta_Season ) +#define VLC_META_EPISODE vlc_meta_TypeToLocalizedString( vlc_meta_Episode ) +#define VLC_META_SHOW_NAME vlc_meta_TypeToLocalizedString( vlc_meta_ShowName ) +#define VLC_META_ACTORS vlc_meta_TypeToLocalizedString( vlc_meta_Actors ) +#define VLC_META_EXTRA_MB_ALBUMID "MB_ALBUMID" #endif