mplayer.c
branchtrunk
changeset 39 ba6464ebc3f9
parent 29 640ce9201139
     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;