* infopanels.cpp : Information panels (general info, stats, ...)
*****************************************************************************
* Copyright (C) 2000-2004 the VideoLAN team
- * $Id: iteminfo.cpp 13905 2006-01-12 23:10:04Z dionoea $
+ * $Id$
*
* Authors: Clément Stenac <zorglub@videolan.org>
*
ADD_META( VLC_META_LANGUAGE, language_text );
ADD_META( VLC_META_NOW_PLAYING, nowplaying_text );
ADD_META( VLC_META_PUBLISHER, publisher_text );
+ ADD_META( VLC_META_SETTING, setting_text );
meta_sizer->Layout();
name_text->SetValue( wxU( p_item->psz_name ) );
#define UPDATE_META( meta, widget ) { \
- char *psz_meta = vlc_input_item_GetInfo( p_item, _(VLC_META_INFO_CAT), \
- _(meta) ); \
+ const char *psz_meta = input_item_Get##meta( p_item ); \
if( psz_meta != NULL && *psz_meta) \
{ \
widget->SetLabel( wxU( psz_meta ) ); \
else { widget->SetLabel( wxU( "-" ) ); } \
}
- UPDATE_META( VLC_META_ARTIST, artist_text );
- UPDATE_META( VLC_META_GENRE, genre_text );
- UPDATE_META( VLC_META_COPYRIGHT, copyright_text );
- UPDATE_META( VLC_META_COLLECTION, collection_text );
- UPDATE_META( VLC_META_SEQ_NUM, seqnum_text );
- UPDATE_META( VLC_META_DESCRIPTION, description_text );
- UPDATE_META( VLC_META_RATING, rating_text );
- UPDATE_META( VLC_META_DATE, date_text );
- UPDATE_META( VLC_META_LANGUAGE, language_text );
- UPDATE_META( VLC_META_NOW_PLAYING, nowplaying_text );
- UPDATE_META( VLC_META_PUBLISHER, publisher_text );
+ UPDATE_META( Artist, artist_text );
+ UPDATE_META( Genre, genre_text );
+ UPDATE_META( Copyright, copyright_text );
+ UPDATE_META( Album, collection_text );
+ UPDATE_META( TrackNum, seqnum_text );
+ UPDATE_META( Description, description_text );
+ UPDATE_META( Rating, rating_text );
+ UPDATE_META( Date, date_text );
+ UPDATE_META( Language, language_text );
+ UPDATE_META( NowPlaying, nowplaying_text );
+ UPDATE_META( Publisher, publisher_text );
+ UPDATE_META( Setting, setting_text );
#undef UPDATE_META
}
char* MetaDataPanel::GetURI( )
{
- return strdup( uri_text->GetLineText(0).mb_str() );
+ return strdup( uri_text->GetLineText(0).mb_str(wxConvUTF8) );
}
char* MetaDataPanel::GetName( )
{
- return strdup( name_text->GetLineText(0).mb_str() );
+ return strdup( name_text->GetLineText(0).mb_str(wxConvUTF8) );
}
void MetaDataPanel::Clear()
wxWindow* _p_parent ):
wxPanel( _p_parent, -1 )
{
- int flags= wxTE_PROCESS_ENTER;
/* Initializations */
p_intf = _p_intf;
p_parent = _p_parent;
wxU( _("Input") ) );
input_box->SetAutoLayout( TRUE );
input_bsizer = new wxStaticBoxSizer( input_box, wxVERTICAL );
- input_sizer = new wxFlexGridSizer( 2,2, 20 );
+ input_sizer = new wxFlexGridSizer( 4, 3, 2, 20 );
#define INPUT_ADD(txt,widget,dflt) \
- { input_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ), \
- 0, wxEXPAND| wxRIGHT, 5 ); \
- widget = new wxStaticText( this, -1, wxU( dflt ) ); \
- input_sizer->Add( widget, 0, wxEXPAND| wxLEFT, 5 ); \
+ { input_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ), \
+ 0, wxALIGN_LEFT|wxLEFT, 5 ); \
+ input_sizer->Add( 0, 0, wxEXPAND ); \
+ widget = new wxStaticText( this, -1, wxU( dflt ), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); \
+ input_sizer->Add( widget, 0, wxALIGN_RIGHT|wxRIGHT, 5 ); \
}
INPUT_ADD( "Read at media", read_bytes_text, "0" );
- INPUT_ADD( "Input bitrate", input_bitrate_text, "0" );
+ INPUT_ADD( "Input bitrate", input_bitrate_text, " 0" );
INPUT_ADD( "Demuxed", demux_bytes_text ,"0");
- /* Hack to get enough size */
- INPUT_ADD( "Stream bitrate", demux_bitrate_text, "0 " );
+ INPUT_ADD( "Stream bitrate", demux_bitrate_text, "0" );
input_sizer->Layout();
input_bsizer->Add( input_sizer, 0, wxALL | wxGROW, 5 );
sizer->Add( input_bsizer, 0, wxALL|wxGROW, 5 );
/* Vout */
- wxStaticBox *video_box = new wxStaticBox( this, -1,
- wxU( _("Video" ) ) );
+ wxStaticBox *video_box = new wxStaticBox( this, -1, wxU( _("Video" ) ) );
video_box->SetAutoLayout( TRUE );
- video_bsizer = new wxStaticBoxSizer( video_box,
- wxVERTICAL );
- video_sizer = new wxFlexGridSizer( 2,3, 20 );
+ video_bsizer = new wxStaticBoxSizer( video_box, wxVERTICAL );
+ video_sizer = new wxFlexGridSizer( 3, 3, 2, 20 );
#define VIDEO_ADD(txt,widget,dflt) \
- { video_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ), \
- 0, wxEXPAND|wxLEFT , 5 ); \
- widget = new wxStaticText( this, -1, wxU( dflt ) ); \
- video_sizer->Add( widget, 0, wxEXPAND|wxRIGHT, 5 ); \
+ { video_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ), \
+ 0, wxALIGN_LEFT|wxLEFT , 5 ); \
+ video_sizer->Add( 0, 0, wxEXPAND ); \
+ widget = new wxStaticText( this, -1, wxU( dflt ), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); \
+ video_sizer->Add( widget, 0, wxALIGN_RIGHT|wxRIGHT, 5 ); \
}
VIDEO_ADD( "Decoded blocks", video_decoded_text, "0" );
- /* Hack to get enough size */
- VIDEO_ADD( "Displayed frames", displayed_text, "0 " );
+ VIDEO_ADD( "Displayed frames", displayed_text, " 0" );
VIDEO_ADD( "Lost frames", lost_frames_text, "0" );
wxU( _("Streaming" ) ) );
sout_box->SetAutoLayout( TRUE );
sout_bsizer = new wxStaticBoxSizer( sout_box, wxVERTICAL );
- sout_sizer = new wxFlexGridSizer( 2,3, 20 );
+ sout_sizer = new wxFlexGridSizer( 3, 3, 2, 20 );
#define SOUT_ADD(txt,widget,dflt) \
- { sout_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ), \
- 0, wxEXPAND|wxLEFT|wxALIGN_LEFT , 5 ); \
- widget = new wxStaticText( this, -1, wxU( dflt ) ); \
- sout_sizer->Add( widget, 0, wxEXPAND|wxRIGHT|wxALIGN_LEFT, 5 ); \
+ { sout_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ), \
+ 0, wxALIGN_LEFT|wxLEFT, 5 ); \
+ sout_sizer->Add( 0, 0, wxEXPAND ); \
+ widget = new wxStaticText( this, -1, wxU( dflt ), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); \
+ sout_sizer->Add( widget, 0,wxALIGN_RIGHT|wxRIGHT, 5 ); \
}
- SOUT_ADD( "Sent packets", sout_sent_packets_text, "0" );
- SOUT_ADD( "Sent bytes", sout_sent_bytes_text, "0 " );
- SOUT_ADD( "Send rate", sout_send_bitrate_text, "0 " );
+ SOUT_ADD( "Sent packets", sout_sent_packets_text, " 0" );
+ SOUT_ADD( "Sent bytes", sout_sent_bytes_text, "0" );
+ SOUT_ADD( "Send rate", sout_send_bitrate_text, "0" );
sout_sizer->Layout();
sout_bsizer->Add( sout_sizer, 0, wxALL | wxGROW, 5 );
sout_bsizer->Layout();
wxU( _("Audio" ) ) );
audio_box->SetAutoLayout( TRUE );
audio_bsizer = new wxStaticBoxSizer( audio_box, wxVERTICAL );
- audio_sizer = new wxFlexGridSizer( 2,3, 20 );
+ audio_sizer = new wxFlexGridSizer( 3, 3, 2, 20 );
#define AUDIO_ADD(txt,widget,dflt) \
{ audio_sizer->Add ( new wxStaticText( this, -1, wxU(_( txt ) ) ), \
- 0, wxEXPAND|wxLEFT , 5 ); \
- widget = new wxStaticText( this, -1, wxU( dflt ) ); \
- audio_sizer->Add( widget, 0, wxEXPAND|wxRIGHT, 5 ); \
+ 0, wxALIGN_LEFT|wxLEFT, 5 ); \
+ audio_sizer->Add( 0, 0, wxEXPAND ); \
+ widget = new wxStaticText( this, -1, wxU( dflt ), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); \
+ audio_sizer->Add( widget, 0, wxALIGN_RIGHT|wxRIGHT, 5 ); \
}
- AUDIO_ADD( "Decoded blocks", audio_decoded_text, "0" );
- /* Hack to get enough size */
- AUDIO_ADD( "Played buffers", played_abuffers_text,
- "0 " );
+ AUDIO_ADD( "Decoded blocks", audio_decoded_text, " 0" );
+ AUDIO_ADD( "Played buffers", played_abuffers_text, "0" );
AUDIO_ADD( "Lost buffers", lost_abuffers_text, "0" );
audio_sizer->Layout();
audio_bsizer->Add( audio_sizer, 0, wxALL | wxGROW, 5 );
formatted.Printf( wxString( wxT(format) ), ## calc ); \
widget->SetLabel( formatted ); \
}
- UPDATE( read_bytes_text, "%8.0f kb",(float)(p_item->p_stats->i_read_bytes*8)/1000 );
+ UPDATE( read_bytes_text, "%8.0f kB",(float)(p_item->p_stats->i_read_bytes)/1000 );
UPDATE( input_bitrate_text, "%6.0f kb/s", (float)(p_item->p_stats->f_input_bitrate)*8000 );
- UPDATE( demux_bytes_text, "%8.0f kb", (float)(p_item->p_stats->i_demux_read_bytes*8)/1000 );
+ UPDATE( demux_bytes_text, "%8.0f kB", (float)(p_item->p_stats->i_demux_read_bytes)/1000 );
UPDATE( demux_bitrate_text, "%6.0f kb/s", (float)(p_item->p_stats->f_demux_bitrate)*8000 );
/* Video */
/* Sout */
UPDATE( sout_sent_packets_text, "%5i", p_item->p_stats->i_sent_packets );
- UPDATE( sout_sent_bytes_text, "%8.0f kb",
- (float)(p_item->p_stats->i_sent_bytes*8)/1000 );
+ UPDATE( sout_sent_bytes_text, "%8.0f kB",
+ (float)(p_item->p_stats->i_sent_bytes)/1000 );
UPDATE( sout_send_bitrate_text, "%6.0f kb/s",
(float)(p_item->p_stats->f_send_bitrate*8)*1000 );
input_sizer->Layout();
video_sizer->Layout();
+ sout_sizer->Layout();
+ audio_sizer->Layout();
sizer->Layout();
panel_sizer->Layout();