1.1 --- a/mplayer.c Sun Dec 12 11:31:54 2010 +0100
1.2 +++ b/mplayer.c Sun Dec 12 11:53:00 2010 +0100
1.3 @@ -1,7 +1,7 @@
1.4 /*
1.5 * MP3/MPlayer plugin to VDR (C++)
1.6 *
1.7 - * (C) 2001-2009 Stefan Huelswitt <s.huelswitt@gmx.de>
1.8 + * (C) 2001-2010 Stefan Huelswitt <s.huelswitt@gmx.de>
1.9 *
1.10 * This code is free software; you can redistribute it and/or
1.11 * modify it under the terms of the GNU General Public License
1.12 @@ -69,6 +69,7 @@
1.13 data=MPlayerSetup;
1.14 SetSection(tr("MPlayer"));
1.15 Add(new cMenuEditBoolItem(tr("Setup.MPlayer$Control mode"), &data.SlaveMode, tr("Traditional"), tr("Slave")));
1.16 + Add(new cMenuEditBoolItem(tr("Setup.MPlayer$Prev/Next keys"),&data.PrevNextKeyMode, tr("Chapter"), tr("Playlist")));
1.17 res[0]=tr("disabled");
1.18 res[1]=tr("global only");
1.19 res[2]=tr("local first");
1.20 @@ -88,6 +89,7 @@
1.21 SetupStore("ControlMode", MPlayerSetup.SlaveMode);
1.22 SetupStore("HideMainMenu",MPlayerSetup.HideMainMenu);
1.23 SetupStore("ResumeMode", MPlayerSetup.ResumeMode);
1.24 + SetupStore("PrevNextMode",MPlayerSetup.PrevNextKeyMode);
1.25 for(int i=0; i<10; i++) {
1.26 char name[16];
1.27 snprintf(name,sizeof(name),"KeyCmd%d",i);
1.28 @@ -368,17 +370,15 @@
1.29
1.30 case kRed: Jump(); break;
1.31
1.32 - case kGreen|k_Repeat: // temporary use
1.33 + case kGreen|k_Repeat:
1.34 case kGreen: player->SkipSeconds(-60); break;
1.35 case kYellow|k_Repeat:
1.36 case kYellow: player->SkipSeconds(60); break;
1.37 - // case kGreen|k_Repeat: // reserved for future use
1.38 - // case kGreen: player->SkipPrev(); break;
1.39 - // case kYellow|k_Repeat:
1.40 - // case kYellow: player->SkipNext(); break;
1.41 -
1.42 - case kBack:
1.43 - Hide();
1.44 +
1.45 + case kNext: player->SkipTrack(1,MPlayerSetup.PrevNextKeyMode!=0); break;
1.46 + case kPrev: player->SkipTrack(-1,MPlayerSetup.PrevNextKeyMode!=0); break;
1.47 +
1.48 + case kBack: Hide();
1.49 cRemote::CallPlugin(plugin_name);
1.50 return osBack;
1.51 case kStop:
1.52 @@ -393,12 +393,6 @@
1.53 case kAudio:
1.54 player->KeyCmd("switch_audio");
1.55 break;
1.56 - case kNext:
1.57 - player->KeyCmd("seek_chapter +1");
1.58 - break;
1.59 - case kPrev:
1.60 - player->KeyCmd("seek_chapter -1");
1.61 - break;
1.62 case k0:
1.63 case k1:
1.64 case k2:
1.65 @@ -696,6 +690,7 @@
1.66 if( !strcasecmp(Name, "ControlMode")) MPlayerSetup.SlaveMode = atoi(Value);
1.67 else if (!strcasecmp(Name, "HideMainMenu")) MPlayerSetup.HideMainMenu = atoi(Value);
1.68 else if (!strcasecmp(Name, "ResumeMode")) MPlayerSetup.ResumeMode = atoi(Value);
1.69 + else if (!strcasecmp(Name, "PrevNextMode")) MPlayerSetup.PrevNextKeyMode = atoi(Value);
1.70 else if (!strncasecmp(Name,"KeyCmd", 6) && strlen(Name)==7 && isdigit(Name[6]))
1.71 strn0cpy(MPlayerSetup.KeyCmd[Name[6]-'0'],Value,sizeof(MPlayerSetup.KeyCmd[0]));
1.72 else return false;