public static void SendAction(SpotifyAction a) { if (!Spotify.IsRunning()) { return; } // bah. Because control cannot fall through cases we need to special case volume if (SettingsXml.Current.ChangeSpotifyVolumeOnly) { if (a == SpotifyAction.VolumeUp) { Telemetry.TrackEvent(TelemetryCategory.Action, Telemetry.TelemetryEvent.Action.VolumeUp); VolumeHelper.IncrementVolume("Spotify"); return; } else if (a == SpotifyAction.VolumeDown) { Telemetry.TrackEvent(TelemetryCategory.Action, Telemetry.TelemetryEvent.Action.VolumeDown); VolumeHelper.DecrementVolume("Spotify"); return; } else if (a == SpotifyAction.Mute) { Telemetry.TrackEvent(TelemetryCategory.Action, Telemetry.TelemetryEvent.Action.Mute); VolumeHelper.ToggleApplicationMute("Spotify"); return; } } switch (a) { case SpotifyAction.CopyTrackInfo: case SpotifyAction.ShowToast: //Nothing break; case SpotifyAction.ShowSpotify: Telemetry.TrackEvent(TelemetryCategory.Action, Telemetry.TelemetryEvent.Action.ShowSpotify); if (Spotify.IsMinimized()) { ShowSpotify(); } else { Minimize(); } break; case SpotifyAction.FastForward: Telemetry.TrackEvent(TelemetryCategory.Action, Telemetry.TelemetryEvent.Action.FastForward); SendComplexKeys("+{Right}"); break; case SpotifyAction.Rewind: Telemetry.TrackEvent(TelemetryCategory.Action, Telemetry.TelemetryEvent.Action.Rewind); SendComplexKeys("+{Left}"); break; default: Telemetry.TrackEvent(TelemetryCategory.Action, Telemetry.TelemetryEvent.Action.Default + a.ToString()); Win32.SendMessage(GetSpotify(), Win32.Constants.WM_APPCOMMAND, IntPtr.Zero, new IntPtr((long)a)); break; } }