void MouseEnter(IControl control, KeyModifiers mods) { int index = Array.IndexOf(Buttons, control); PadPressed?.Invoke(index); PadModsPressed?.Invoke(index, mods); }
private void HandleControlChangeEvent(MidiInMessageEventArgs e) { ControlChangeEvent controlChangeEvent = (ControlChangeEvent)e.MidiEvent; int controllerIndex = (int)controlChangeEvent.Controller; if (controllerIndex > 9 && controllerIndex < 26) { PadPressed.Execute(new PadPressedEvent(controllerIndex, controlChangeEvent.ControllerValue == 127)).Subscribe().Dispose(); } switch (controllerIndex) { case 2: // BRIGHTNESS { _stellaServer.Animator.StoryboardTransformationController.SetBrightnessCorrection( ConvertToBrightnessScale(controlChangeEvent.ControllerValue)); break; } case 9: // SPEED { int value = controlChangeEvent.ControllerValue; if (value == 127) { value = 1000; } _stellaServer.Animator.StoryboardTransformationController.SetTimeUnitsPerFrame((int)(value)); break; } case 6: // RED { var master = _stellaServer.Animator?.StoryboardTransformationController.Settings.MasterSettings; if (master == null) { return; } _stellaServer.Animator.StoryboardTransformationController.SetRgbFadeCorrection(new float[3] { ConvertControllerValueToPercentage(controlChangeEvent.ControllerValue), master.RgbFadeCorrection[1], master.RgbFadeCorrection[2], }); } break; case 7: // GREEN { var master = _stellaServer.Animator?.StoryboardTransformationController.Settings.MasterSettings; if (master == null) { return; } _stellaServer.Animator.StoryboardTransformationController.SetRgbFadeCorrection(new float[3] { master.RgbFadeCorrection[0], ConvertControllerValueToPercentage(controlChangeEvent.ControllerValue), master.RgbFadeCorrection[2], }); } break; case 8: // BLUE { var master = _stellaServer.Animator?.StoryboardTransformationController.Settings.MasterSettings; if (master == null) { return; } _stellaServer.Animator.StoryboardTransformationController.SetRgbFadeCorrection(new float[3] { master.RgbFadeCorrection[0], master.RgbFadeCorrection[1], ConvertControllerValueToPercentage(controlChangeEvent.ControllerValue), }); } break; case 62: // PAUZE { var master = _stellaServer.Animator?.StoryboardTransformationController.Settings.MasterSettings; if (master == null) { return; } _stellaServer.Animator.StoryboardTransformationController.SetIsPaused( controlChangeEvent.ControllerValue == 127); } break; case 40: // STOP { if (controlChangeEvent.ControllerValue == 127) { Stop.Execute().Subscribe().Dispose(); } } break; } }