/**********************************************************************
* Background Widget. Show a simple image background. Currently,
- * it's a static cone.
+ * it's album art if present or cone.
**********************************************************************/
#define ICON_SIZE 128
#define MAX_BG_SIZE 400
backgroundLayout->setColumnStretch( 0, 1 );
backgroundLayout->setColumnStretch( 2, 1 );
- CONNECT( THEMIM, inputChanged( input_thread_t *),
- this, update( input_thread_t * ) );
+ CONNECT( THEMIM->getIM(), artChanged( QString ), this, update( QString ) );
resize( 300, 150 );
}
{
}
-void BackgroundWidget::update( input_thread_t *p_input )
+void BackgroundWidget::update( QString url )
{
- if( !p_input || p_input->b_dead )
+ if( url.isNull() )
{
if( QDate::currentDate().dayOfYear() >= 354 )
label->setPixmap( QPixmap( ":/vlc128-christmas.png" ) );
return;
}
- vlc_object_yield( p_input );
- char *psz_arturl = input_item_GetArtURL( input_GetItem(p_input) );
- vlc_object_release( p_input );
-
- QString arturl = qfu( psz_arturl ).replace( "file://",QString("" ) );
+ QString arturl = url.replace( "file://",QString("" ) );
if( arturl.isNull() )
{
if( QDate::currentDate().dayOfYear() >= 354 )
else
{
label->setPixmap( QPixmap( arturl ) );
- msg_Dbg( p_intf, "changing input b_need_update done %s", psz_arturl );
+ msg_Dbg( p_intf, "changing input b_need_update done ");
}
- free( psz_arturl );
}
void BackgroundWidget::contextMenuEvent( QContextMenuEvent *event )
i_old_playing_status = 0;
emit statusChanged( END_S ); // see vlc_input.h, input_state_e enum
delInput();
+ emit artChanged( "" );
return;
}
i_old_playing_status = val.i_int;
emit statusChanged( val.i_int == PAUSE_S ? PAUSE_S : PLAYING_S );
}
+
+ QString url;
+ char *psz_art = input_item_GetArtURL( input_GetItem( p_input ) );
+ url.sprintf("%s", psz_art );
+ free( psz_art );
+ if( artUrl != url )
+ {
+ emit artChanged( url );
+ artUrl = url;
+ }
}
void InputManager::sliderUpdate( float new_pos )