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;
}
}
}