Commit 7658d8e4 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt: improve title display

parent 492b2bc1
......@@ -456,29 +456,31 @@ void InputManager::UpdateRate()
void InputManager::UpdateName()
{
/* Update text, name and nowplaying */
QString text;
QString name;
/* Try to get the nowplaying */
char *format = var_InheritString( p_intf, "input-title-format" );
char *formated = str_format_meta( p_input, format );
text = formated;
name = formated;
/* Free everything */
free( format );
free( formated );
/* If we have Nothing */
if( text.isEmpty() )
if( name.isEmpty() )
{
char *psz_name = input_item_GetURI( input_GetItem( p_input ) );
text.sprintf( "%s", psz_name );
text = text.remove( 0, text.lastIndexOf( DIR_SEP ) + 1 );
char *psz_name = make_path( input_item_GetURI( input_GetItem( p_input ) ) );
name = psz_name;
name = name.remove( 0, name.lastIndexOf( DIR_SEP ) + 1 );
free( psz_name );
}
if( oldName != text )
name = name.trimmed();
if( oldName != name )
{
emit nameChanged( text );
oldName = text;
emit nameChanged( name );
oldName = name;
}
}
......
......@@ -1958,7 +1958,7 @@ vlc_module_begin ()
add_integer( "input-timeshift-granularity", -1, INPUT_TIMESHIFT_GRANULARITY_TEXT,
INPUT_TIMESHIFT_GRANULARITY_LONGTEXT, true )
add_string( "input-title-format", "$a - $t", INPUT_TITLE_FORMAT_TEXT, INPUT_TITLE_FORMAT_LONGTEXT, false );
add_string( "input-title-format", "$Z", INPUT_TITLE_FORMAT_TEXT, INPUT_TITLE_FORMAT_LONGTEXT, false );
/* Decoder options */
add_category_hint( N_("Decoders"), CODEC_CAT_LONGTEXT , true )
......
......@@ -618,11 +618,6 @@ static void format_duration (char *buf, size_t len, int64_t duration)
d += len; \
free( string ); \
} \
else if( !b_empty_if_na ) \
{ \
*(dst+d) = '-'; \
d++; \
} \
/* same than INSERT_STRING, except that string won't be freed */
#define INSERT_STRING_NO_FREE( string ) \
......@@ -730,15 +725,15 @@ char *str_format_meta( vlc_object_t *p_object, const char *string )
}
break;
case 's':
{
char *lang = NULL;
if( p_input )
lang = var_GetNonEmptyString( p_input, "sub-language" );
if( lang == NULL )
lang = strdup( b_empty_if_na ? "" : "-" );
INSERT_STRING( lang );
break;
}
{
char *lang = NULL;
if( p_input )
lang = var_GetNonEmptyString( p_input, "sub-language" );
if( lang == NULL )
lang = strdup( b_empty_if_na ? "" : "-" );
INSERT_STRING( lang );
break;
}
case 't':
if( p_item )
{
......@@ -822,16 +817,16 @@ char *str_format_meta( vlc_object_t *p_object, const char *string )
}
break;
case 'O':
{
char *lang = NULL;
if( p_input )
lang = var_GetNonEmptyString( p_input,
"audio-language" );
if( lang == NULL )
lang = strdup( b_empty_if_na ? "" : "-" );
INSERT_STRING( lang );
break;
}
{
char *lang = NULL;
if( p_input )
lang = var_GetNonEmptyString( p_input,
"audio-language" );
if( lang == NULL )
lang = strdup( b_empty_if_na ? "" : "-" );
INSERT_STRING( lang );
break;
}
case 'P':
if( p_input )
{
......@@ -871,7 +866,7 @@ char *str_format_meta( vlc_object_t *p_object, const char *string )
format_duration( buf, sizeof(buf), i_time );
}
else
strcpy( buf, b_empty_if_na ? "" : "--:--:--" );
strcpy( buf, b_empty_if_na ? "" : "--:--:--" );
INSERT_STRING_NO_FREE( buf );
break;
case 'U':
......@@ -881,12 +876,12 @@ char *str_format_meta( vlc_object_t *p_object, const char *string )
}
break;
case 'V':
{
audio_volume_t volume = aout_VolumeGet( p_object );
snprintf( buf, 10, "%d", volume );
INSERT_STRING_NO_FREE( buf );
break;
}
{
audio_volume_t volume = aout_VolumeGet( p_object );
snprintf( buf, 10, "%d", volume );
INSERT_STRING_NO_FREE( buf );
break;
}
case '_':
*(dst+d) = '\n';
d++;
......@@ -897,8 +892,12 @@ char *str_format_meta( vlc_object_t *p_object, const char *string )
char *now_playing = input_item_GetNowPlaying( p_item );
if ( now_playing == NULL )
{
INSERT_STRING( input_item_GetTitle( p_item ) );
INSERT_STRING_NO_FREE( " - " );
char *temp = input_item_GetTitle( p_item );
if( !EMPTY_STR( temp ) )
{
INSERT_STRING( temp );
INSERT_STRING_NO_FREE( " - " );
}
INSERT_STRING( input_item_GetArtist( p_item ) );
}
else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment