Damian Ivereigh <damian at cisco.com> - ac3dec uninitialized data structure fix
Damien Fouilleul <damien.fouilleul at laposte.net> - DirectShow input improvements
Daniel Fischer <dan at subsignal dot org> - Shoutcast output support
-Daniel Stränger <vlc at schmaller d0t de> - M3U, xtag and playlist improvements
+Daniel Stränger <vlc at schmaller d0t de> - M3U, xtag and playlist improvements. Meta information core fixes
David Kennedy <dkennedy at tinytoad.com> - X11 fullscreen patch
Daniel Nylander <info@danielnylander at se> - Swedish translation
David Weber <david_weber at gmx.de> - Mac OS X interface design & graphics (v0.5.0)
#define _VLC_META_H 1
/* VLC meta name */
+#define VLC_META_INFO_CAT N_("Meta-information")
#define VLC_META_TITLE N_("Title")
#define VLC_META_AUTHOR N_("Author")
#define VLC_META_ARTIST N_("Artist")
#define VLC_META_GENRE N_("Genre")
#define VLC_META_COPYRIGHT N_("Copyright")
+#define VLC_META_COLLECTION N_("Album/movie/show title")
+#define VLC_META_SEQ_NUM N_("Track number/position in set")
#define VLC_META_DESCRIPTION N_("Description")
#define VLC_META_RATING N_("Rating")
#define VLC_META_DATE N_("Date")
p_access->info.i_title+1 );
pp_meta = (vlc_meta_t**)va_arg( args, vlc_meta_t** );
*pp_meta = vlc_meta_New();
- vlc_meta_Add( *pp_meta, VLC_META_TITLE, psz_title );
+ vlc_meta_Add( *pp_meta, _(VLC_META_TITLE), psz_title );
free( psz_title );
break;
}
else
{
- char *psz_uri; int i_size, i_length;
+ char *psz_uri;
int i_path_len = p_access->psz_path ? strlen( p_access->psz_path )
: 0;
char *psz_opt;
if( cddb_track_get_title( t ) != NULL )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
- VLC_META_TITLE,
+ _(VLC_META_INFO_CAT),
+ _(VLC_META_TITLE),
cddb_track_get_title( t ) );
if( p_item->input.psz_name )
free( p_item->input.psz_name );
if( psz_result )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
- VLC_META_ARTIST, psz_result );
+ _(VLC_META_INFO_CAT),
+ _(VLC_META_ARTIST), psz_result );
}
}
}
psz_value++;
input_Control( p_input, INPUT_ADD_INFO, _("Vorbis comment"),
psz_name, psz_value );
- /* HACK, we should use meta */
if( strcasestr( psz_name, "artist" ) )
{
- input_Control( p_input, INPUT_ADD_INFO, _("Meta-information"),
- _("Artist"), psz_value );
+ vlc_input_item_AddInfo( p_input->input.p_item,
+ _(VLC_META_INFO_CAT), _(VLC_META_ARTIST),
+ "%s", psz_value );
}
else if( strcasestr( psz_name, "title" ) )
{
if( psz_now )
{
vlc_input_item_AddInfo( &(p_item->input),
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( VLC_META_NOW_PLAYING ),
"%s",
psz_now );
if( psz_genre )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( VLC_META_GENRE ),
"%s",
psz_genre );
if( psz_listeners )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Listeners" ),
"%s",
psz_listeners );
if( psz_bitrate )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Bitrate" ),
"%s",
psz_bitrate );
}
p_item->input.i_duration = i_duration;
if ( psz_artist && *psz_artist )
- vlc_input_item_AddInfo( &p_item->input, _("Meta-information"),
- _("Artist"), "%s", psz_artist );
+ vlc_input_item_AddInfo( &p_item->input, _(VLC_META_INFO_CAT),
+ _(VLC_META_ARTIST), "%s", psz_artist );
playlist_NodeAddItem( p_playlist, p_item,
p_current->pp_parents[0]->i_view,
p_current, PLAYLIST_APPEND,
&& !strcmp( psz_elname, "link" ) )
{
vlc_input_item_AddInfo( &(p_current->input),
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Link" ),
"%s",
psz_text );
&& !strcmp( psz_elname, "copyright" ) )
{
vlc_input_item_AddInfo( &(p_current->input),
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Copyright" ),
"%s",
psz_text );
&& !strcmp( psz_elname, "itunes:category" ) )
{
vlc_input_item_AddInfo( &(p_current->input),
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Category" ),
"%s",
psz_text );
&& !strcmp( psz_elname, "itunes:keywords" ) )
{
vlc_input_item_AddInfo( &(p_current->input),
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Keywords" ),
"%s",
psz_text );
&& !strcmp( psz_elname, "itunes:subtitle" ) )
{
vlc_input_item_AddInfo( &(p_current->input),
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Subtitle" ),
"%s",
psz_text );
||!strcmp( psz_elname, "description" ) ) )
{ /* <description> isn't standard iTunes podcast stuff */
vlc_input_item_AddInfo( &(p_current->input),
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Summary" ),
"%s",
psz_text );
if( psz_item_date )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Publication Date" ),
"%s",
psz_item_date );
if( psz_item_author )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Author" ),
"%s",
psz_item_author );
if( psz_item_category )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Subcategory" ),
"%s",
psz_item_category );
if( psz_item_duration )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Duration" ),
"%s",
psz_item_duration );
if( psz_item_keywords )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Keywords" ),
"%s",
psz_item_keywords );
if( psz_item_subtitle )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Subtitle" ),
"%s",
psz_item_subtitle );
if( psz_item_summary )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Summary" ),
"%s",
psz_item_summary );
if( psz_item_size )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Size" ),
"%s bytes",
psz_item_size );
if( psz_item_type )
{
vlc_input_item_AddInfo( &p_item->input,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_( "Podcast Type" ),
"%s",
psz_item_type );
static int ItemChanged( vlc_object_t *, const char *,
vlc_value_t, vlc_value_t, void * );
static int ItemAppended( vlc_object_t *p_this, const char *psz_variable,
- vlc_value_t oval, vlc_value_t nval, void *param );
+ vlc_value_t oval, vlc_value_t nval, void *param );
static int ItemDeleted( vlc_object_t *p_this, const char *psz_variable,
- vlc_value_t oval, vlc_value_t nval, void *param );
+ vlc_value_t oval, vlc_value_t nval, void *param );
/*****************************************************************************
* Event Table.
wxString msg;
wxString duration = wxU( "" );
char *psz_author = vlc_input_item_GetInfo( &p_item->input,
- _("Meta-information"),
- VLC_META_ARTIST );
+ _(VLC_META_INFO_CAT), _(VLC_META_ARTIST) );
if( !psz_author )
{
UnlockPlaylist( p_intf->p_sys, p_playlist );
else
{
msg = wxString(wxU( psz_author )) + wxT(" - ") +
- wxString(wxU(p_item->input.psz_name)) + duration;
+ wxString(wxU(p_item->input.psz_name)) + duration;
}
free( psz_author );
treectrl->SetItemText( item , msg );
void InputManager::UpdateNowPlaying()
{
char *psz_now_playing = vlc_input_item_GetInfo( p_input->input.p_item,
- _("Meta-information"), _(VLC_META_NOW_PLAYING) );
+ _(VLC_META_INFO_CAT), _(VLC_META_NOW_PLAYING) );
if( psz_now_playing && *psz_now_playing )
{
p_main_intf->statusbar->SetStatusText(
#include <wx/dynarray.h>
#include <wx/imaglist.h>
+#include "vlc_meta.h"
namespace wxvlc {
/* Callback prototype */
wxString duration = wxU( "" );
char *psz_author =
vlc_input_item_GetInfo( &p_item->input,
- _("Meta-information"), _("Artist"));
+ _(VLC_META_INFO_CAT), _(VLC_META_ARTIST) );
if( !psz_author )
{
UnlockPlaylist( p_intf->p_sys, p_playlist );
/* Playing something ... */
psz_artist = vlc_input_item_GetInfo( p_input->input.p_item,
- _("Meta-information"),
+ _(VLC_META_INFO_CAT),
_(VLC_META_ARTIST) );
psz_album = vlc_input_item_GetInfo( p_input->input.p_item,
- _("Meta-information"),
- _("Album/movie/show title" ) );
+ _(VLC_META_INFO_CAT),
+ _(VLC_META_COLLECTION) );
psz_title = strdup( p_input->input.p_item->psz_name );
if( psz_title == NULL ) psz_title = strdup( N_("(no title)") );
if( psz_artist == NULL ) psz_artist = strdup( N_("(no artist)") );
#include <vlc/vlc.h>
#include <vlc/intf.h>
+#include <vlc_meta.h>
#include <errno.h> /* ENOMEM */
{
char *psz_artist =
vlc_input_item_GetInfo( &p_playlist->pp_items[i]->input,
- _("Meta-information"), _("Artist") );
+ _(VLC_META_INFO_CAT), _(VLC_META_ARTIST) );
if( psz_artist && *psz_artist )
{
/* write EXTINF with artist */
p_host->p_songs[i].id );
p_item = playlist_ItemNew( p_sd, psz_buff,
p_host->p_songs[i].itemname );
- vlc_input_item_AddInfo( &p_item->input, _("Meta-information"),
- _("Artist"), p_host->p_songs[i].songartist );
- vlc_input_item_AddInfo( &p_item->input, _("Meta-information"),
- _("Album"), p_host->p_songs[i].songalbum );
+ vlc_input_item_AddInfo( &p_item->input, _(VLC_META_INFO_CAT),
+ _(VLC_META_ARTIST), p_host->p_songs[i].songartist );
+ vlc_input_item_AddInfo( &p_item->input, _(VLC_META_INFO_CAT),
+ _(VLC_META_COLLECTION), p_host->p_songs[i].songalbum );
playlist_NodeAddItem( p_playlist, p_item, VIEW_CATEGORY,
p_host->p_node, PLAYLIST_APPEND, PLAYLIST_END );
char *psz_cat = malloc( strlen(_("Program")) + 10 );
sprintf( psz_cat, "%s %d", _("Program"), p_pgrm->i_id );
- input_Control( p_input, INPUT_ADD_INFO, _("Meta-information"),
- VLC_META_NOW_PLAYING, "%s", p_pgrm->psz_now_playing );
+ input_Control( p_input, INPUT_ADD_INFO, _(VLC_META_INFO_CAT),
+ _(VLC_META_NOW_PLAYING), "%s", p_pgrm->psz_now_playing );
free( psz_cat );
}
if( p_sys->p_pgrm == p_pgrm )
{
- input_Control( p_input, INPUT_ADD_INFO, _("Meta-information"),
- VLC_META_NOW_PLAYING, "%s", psz_now_playing );
+ input_Control( p_input, INPUT_ADD_INFO, _(VLC_META_INFO_CAT),
+ _(VLC_META_NOW_PLAYING), "%s", psz_now_playing );
}
}
free( psz_cat );
}
/* Remove 'Now playing' info as it is probably outdated */
- input_Control( p_input, INPUT_DEL_INFO, _("Meta-information"),
- VLC_META_NOW_PLAYING );
+ input_Control( p_input, INPUT_DEL_INFO, _(VLC_META_INFO_CAT),
+ VLC_META_NOW_PLAYING ); /* ? Don't translate as it might has been copied ? */
return p_input;
}
msg_Dbg( p_input, " - '%s' = '%s'",
_(p_meta->name[i]), p_meta->value[i] );
- if( !strcmp(p_meta->name[i], VLC_META_TITLE) && p_meta->value[i] &&
+ if( !strcmp(p_meta->name[i], _(VLC_META_TITLE)) && p_meta->value[i] &&
!p_input->input.p_item->b_fixed_name )
input_Control( p_input, INPUT_SET_NAME, p_meta->value[i] );
- if( !strcmp( p_meta->name[i], VLC_META_AUTHOR ) )
+ if( !strcmp( p_meta->name[i], _(VLC_META_AUTHOR) ) )
input_Control( p_input, INPUT_ADD_INFO, _("General"),
- _("Author"), p_meta->value[i] );
+ _(VLC_META_AUTHOR), p_meta->value[i] );
- input_Control( p_input, INPUT_ADD_INFO, _("Meta-information"),
+ input_Control( p_input, INPUT_ADD_INFO, _(VLC_META_INFO_CAT),
_(p_meta->name[i]), "%s", p_meta->value[i] );
}
#define GET_META( c, s ) \
var_Get( p_input, (s), &val ); \
if( *val.psz_string ) \
- vlc_meta_Add( p_meta, c, val.psz_string ); \
+ vlc_meta_Add( p_meta, _(c), val.psz_string ); \
free( val.psz_string )
GET_META( VLC_META_TITLE, "meta-title" );
{
char *psz_a = vlc_input_item_GetInfo(
&pp_items[i]->input,
- _( "Meta-information"), _("Artist") );
+ _(VLC_META_INFO_CAT), _(VLC_META_ARTIST) );
char *psz_b = vlc_input_item_GetInfo(
&pp_items[i_small]->input,
- _( "Meta-information"), _("Artist") );
+ _(VLC_META_INFO_CAT), _(VLC_META_ARTIST) );
if( pp_items[i]->i_children == -1 &&
pp_items[i_small]->i_children >= 0 )
{
{
char *psz_a = vlc_input_item_GetInfo(
&pp_items[i]->input,
- _( "Meta-information"), _("Album/movie/show title") );
+ _(VLC_META_INFO_CAT), _(VLC_META_COLLECTION) );
char *psz_b = vlc_input_item_GetInfo(
&pp_items[i_small]->input,
- _( "Meta-information"), _("Album/movie/show title") );
+ _(VLC_META_INFO_CAT), _(VLC_META_COLLECTION) );
if( pp_items[i]->i_children == -1 &&
pp_items[i_small]->i_children >= 0 )
{
else if ( i_mode == SORT_AUTHOR )
{
psz_search = vlc_input_item_GetInfo( &pp_items[i]->input,
- _("Meta-information"), _( "Artist" ) );
+ _(VLC_META_INFO_CAT), _(VLC_META_ARTIST) );
}
else if ( i_mode == SORT_ALBUM )
{
psz_search = vlc_input_item_GetInfo( &pp_items[i]->input,
- _("Meta-information"), _( "Album/movie/show title" ) );
+ _(VLC_META_INFO_CAT), _(VLC_META_COLLECTION) );
}
else if ( i_mode == SORT_GENRE )
{
psz_search = vlc_input_item_GetInfo( &pp_items[i]->input,
- _("Meta-information"), _( "Genre" ) );
+ _(VLC_META_INFO_CAT), _(VLC_META_GENRE) );
}
if( psz_search && !strcmp( psz_search, "" ) )