diff options
author | lvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b> | 2004-09-30 21:30:34 +0000 |
---|---|---|
committer | lvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b> | 2004-09-30 21:30:34 +0000 |
commit | 6b58be9953109307dbd5cc0b3af4bb1e97e5cca6 (patch) | |
tree | 5b847105031ce04322aebbde9a6999ad9ca15209 | |
parent | 24a870f6c1824281711afbc75ed30128353fa6c7 (diff) | |
download | vdr-plugin-muggle-6b58be9953109307dbd5cc0b3af4bb1e97e5cca6.tar.gz vdr-plugin-muggle-6b58be9953109307dbd5cc0b3af4bb1e97e5cca6.tar.bz2 |
Added progress display for VDR 1.3.7+
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@191 e10066b5-e1e2-0310-b819-94efdf66514b
-rw-r--r-- | vdr_player.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/vdr_player.c b/vdr_player.c index 1629a0b..4ef339c 100644 --- a/vdr_player.c +++ b/vdr_player.c @@ -868,6 +868,7 @@ mgPlayerControl::mgPlayerControl( mgPlaylist *plist ) { MGLOG( "mgPlayerControl::mgPlayerControl" ); + m_display = NULL; m_visible = false; m_has_osd = false; } @@ -989,14 +990,15 @@ void mgPlayerControl::ShowProgress() // now an osd is open, go on #if VDRVERSNUM >= 10307 - cSkinDisplayReplay *m_display; - - m_display = Skins.Current()->DisplayReplay(false); + if( !m_display ) + { + m_display = Skins.Current()->DisplayReplay(false); + } if( m_player && m_display ) { int current_frame, total_frames; m_player->GetIndex( current_frame, total_frames ); - + m_display->SetProgress( current_frame, total_frames ); m_display->SetCurrent( IndexToHMSF( current_frame ) ); m_display->SetTotal( IndexToHMSF( total_frames ) ); @@ -1004,11 +1006,13 @@ void mgPlayerControl::ShowProgress() char *buf; asprintf( &buf, "%s", m_player->GetCurrent()->getTitle().c_str() ); m_display->SetTitle( buf ); - free( buf ); - + // free( buf ); + bool play = true, forward = true; int speed = -1; m_display->SetMode( play, forward, speed ); + + m_display->Flush(); } #else int w = Interface->Width(); @@ -1033,8 +1037,15 @@ void mgPlayerControl::Hide() if( m_has_osd ) { #if VDRVERSNUM >= 10307 + /* osd->Flush(); delete osd; + */ + if( m_display ) + { + delete m_display; + m_display = NULL; + } #else Interface->Close(); #endif |