summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b>2004-10-09 10:47:45 +0000
committerlvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b>2004-10-09 10:47:45 +0000
commit479966d404403753227c5a51b0bbc02c7d6f0c29 (patch)
treebf264271368bc5b63de42380a9e6cceb2491a726
parent8da6cb9b3d1a60843c150eedb45f4ad7a7e4e582 (diff)
downloadvdr-plugin-muggle-479966d404403753227c5a51b0bbc02c7d6f0c29.tar.gz
vdr-plugin-muggle-479966d404403753227c5a51b0bbc02c7d6f0c29.tar.bz2
Added loop and shuffle mode handling to player control
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@215 e10066b5-e1e2-0310-b819-94efdf66514b
-rw-r--r--vdr_player.c78
1 files changed, 78 insertions, 0 deletions
diff --git a/vdr_player.c b/vdr_player.c
index 41d2a53..f30a53d 100644
--- a/vdr_player.c
+++ b/vdr_player.c
@@ -1118,6 +1118,84 @@ eOSState mgPlayerControl::ProcessKey(eKeys key)
{
Backward();
} break;
+ case kRed:
+ {
+ if( !m_visible && m_player )
+ {
+ mgPlaylist *pl = m_player->GetPlaylist();
+
+ std::string s;
+ switch( pl->toggleLoopMode() )
+ {
+ case mgPlaylist::LM_NONE:
+ {
+ s = tr( "Loop mode off" );
+ } break;
+ case mgPlaylist::LM_SINGLE:
+ {
+ s = tr( "Loop mode single" );
+ } break;
+ case mgPlaylist::LM_FULL:
+ {
+ s = tr( "Loop mode full" );
+ } break;
+ default:
+ {
+ s = tr( "Unknown loop mode" );
+ }
+#if VDRVERSNUM >= 10307
+ Skins.Message(mtInfo, s.c_str() );
+ Skins.Flush();
+#else
+ Interface->Status( s.c_str() );
+ Interface->Flush();
+#endif
+ }
+ }
+ else
+ {
+ // toggle progress display between simple and detail
+ }
+ } break;
+ case kGreen:
+ {
+ if( !m_visible && m_player )
+ {
+ mgPlaylist *pl = m_player->GetPlaylist();
+
+ std::string s;
+ switch( pl->toggleShuffleMode() )
+ {
+ case mgPlaylist::SM_NONE:
+ {
+ s = tr( "Shuffle mode off" );
+ } break;
+ case mgPlaylist::SM_NORMAL:
+ {
+ s = tr( "Shuffle mode normal" );
+ } break;
+ case mgPlaylist::SM_PARTY:
+ {
+ s = tr( "Shuffle mode party" );
+ } break;
+ default:
+ {
+ s = tr( "Unknown shuffle mode" );
+ }
+#if VDRVERSNUM >= 10307
+ Skins.Message(mtInfo, s.c_str() );
+ Skins.Flush();
+#else
+ Interface->Status( s.c_str() );
+ Interface->Flush();
+#endif
+ }
+ }
+ else
+ {
+ // toggle progress display between playlist and single track
+ }
+ } break;
case kPause:
case kYellow:
{