void HandleKeyPressed(object sender, HotKey key) { if (openedProject == null) { return; } if (openedProjectType != ProjectType.CaptureProject && openedProjectType != ProjectType.URICaptureProject && openedProjectType != ProjectType.FakeCaptureProject) { KeyAction action; if (player == null) { return; } try { action = Config.Hotkeys.ActionsHotkeys.GetKeyByValue(key); } catch (Exception ex) { /* The dictionary contains 2 equal values for different keys */ Log.Exception(ex); return; } if (action == KeyAction.None) { return; } switch (action) { case KeyAction.FrameUp: player.SeekToNextFrame(); return; case KeyAction.FrameDown: player.SeekToPreviousFrame(); return; case KeyAction.JumpUp: player.StepForward(); return; case KeyAction.JumpDown: player.StepBackward(); return; case KeyAction.DrawFrame: TimelineEvent evt = loadedPlay; if (evt == null && loadedElement is PlaylistPlayElement) { evt = (loadedElement as PlaylistPlayElement).Play; } if (evt != null) { Config.EventsBroker.EmitDrawFrame(evt, -1, player.CamerasConfig [0], true); } return; case KeyAction.TogglePlay: player.TogglePlay(); return; case KeyAction.SpeedUp: player.FramerateUp(); return; case KeyAction.SpeedDown: player.FramerateDown(); return; case KeyAction.CloseEvent: Config.EventsBroker.EmitLoadEvent(null); return; case KeyAction.Prev: HandlePrev(loadedPlaylist); return; case KeyAction.Next: HandleNext(loadedPlaylist); return; } } else { //if (Capturer == null) // return; } }