MediaPortal.MusicPlayer.BASS.BassAudioEngine.OnNewAction C# (CSharp) Method

OnNewAction() private method

private OnNewAction ( MediaPortal.GUI.Library.Action action ) : void
action MediaPortal.GUI.Library.Action
return void
    private void OnNewAction(Action action)
    {
      switch (action.wID)
      {
        case Action.ActionType.ACTION_FORWARD:
        case Action.ActionType.ACTION_MUSIC_FORWARD:
          {
            if (g_Player.IsMusic)
            {
              if (Config.UseSkipSteps)
              {
                g_Player.SeekStep(true);
                string strStatus = g_Player.GetStepDescription();
                Log.Info("BASS: Skipping in stream for {0}", strStatus);
              }
              else
              {
                Log.Info("BASS: Playback speed {0}", g_Player.Speed);
              }
            }
            break;
          }

        case Action.ActionType.ACTION_REWIND:
        case Action.ActionType.ACTION_MUSIC_REWIND:
          {
            if (g_Player.IsMusic)
            {
              if (Config.UseSkipSteps)
              {
                g_Player.SeekStep(false);
                string strStatus = g_Player.GetStepDescription();
                Log.Info("BASS: Skipping in stream for {0}", strStatus);
              }
              else
              {
                Log.Info("BASS: Playback speed {0}", g_Player.Speed);
              }
            }
            break;
          }

        case Action.ActionType.ACTION_TOGGLE_MUSIC_GAP:
          {
            _playBackType++;
            if (_playBackType > 2)
            {
              _playBackType = 0;
            }

            string type = "";
            switch (_playBackType)
            {
              case (int)PlayBackType.NORMAL:
                Config.CrossFadeIntervalMs = 100;
                type = "Normal";
                break;

              case (int)PlayBackType.GAPLESS:
                Config.CrossFadeIntervalMs = 0;
                type = "Gapless";
                break;

              case (int)PlayBackType.CROSSFADE:
                Config.CrossFadeIntervalMs = _DefaultCrossFadeIntervalMS == 0 ? 4000 : _DefaultCrossFadeIntervalMS;
                type = "Crossfading";
                break;
            }
            Log.Info("BASS: Playback changed to {0}", type);
            break;
          }
      }
    }