From 02aa688ed3d0c7702318aecf4ef42f3485d176ab Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Fri, 8 Mar 2019 21:29:03 -0800 Subject: [PATCH] Next Preset hotkeys --- js/actionCreators/milkdrop.ts | 6 ++++-- js/components/MilkdropWindow/index.tsx | 11 +++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/js/actionCreators/milkdrop.ts b/js/actionCreators/milkdrop.ts index 073d5b20..85a11e70 100644 --- a/js/actionCreators/milkdrop.ts +++ b/js/actionCreators/milkdrop.ts @@ -102,7 +102,9 @@ export function appendPresetFileList(fileList: FileList): Dispatchable { }; } -export function selectNextPreset(): Dispatchable { +export function selectNextPreset( + transitionType: TransitionType = TransitionType.DEFAULT +): Dispatchable { return (dispatch, getState) => { const state = getState(); const currentPresetIndex = Selectors.getCurrentPresetIndex(state); @@ -110,7 +112,7 @@ export function selectNextPreset(): Dispatchable { return; } const nextPresetIndex = currentPresetIndex + 1; - dispatch(requestPresetAtIndex(nextPresetIndex, TransitionType.DEFAULT)); + dispatch(requestPresetAtIndex(nextPresetIndex, transitionType)); }; } diff --git a/js/components/MilkdropWindow/index.tsx b/js/components/MilkdropWindow/index.tsx index bfc7b5b8..11ba4039 100644 --- a/js/components/MilkdropWindow/index.tsx +++ b/js/components/MilkdropWindow/index.tsx @@ -6,7 +6,7 @@ import GenWindow from "../GenWindow"; import { WINDOWS } from "../../constants"; import * as Selectors from "../../selectors"; import * as Actions from "../../actionCreators"; -import { AppState, Dispatch } from "../../types"; +import { AppState, Dispatch, TransitionType } from "../../types"; import Visualizer from "./Visualizer"; import "../../../css/milkdrop-window.css"; @@ -29,6 +29,7 @@ interface DispatchProps { togglePresetOverlay(): void; selectRandomPreset(): void; handlePresetDrop(e: React.DragEvent): void; + selectNextPreset(transitionType?: TransitionType): void; } interface OwnProps { @@ -47,13 +48,13 @@ function Milkdrop(props: Props) { return props.onFocusedKeyDown(e => { switch (e.keyCode) { case 32: // spacebar - // this._nextPreset(USER_PRESET_TRANSITION_SECONDS); + props.selectNextPreset(); break; case 8: // backspace // this._prevPreset(0); break; case 72: // H - // this._nextPreset(0); + props.selectNextPreset(TransitionType.IMMEDIATE); break; case 82: // R // this.props.presets.toggleRandomize(); @@ -138,7 +139,9 @@ const mapDispatchToProps = (dispatch: Dispatch): DispatchProps => ({ toggleDesktop: () => dispatch(Actions.toggleMilkdropDesktop()), togglePresetOverlay: () => dispatch(Actions.togglePresetOverlay()), selectRandomPreset: () => dispatch(Actions.selectRandomPreset()), - handlePresetDrop: e => dispatch(Actions.handlePresetDrop(e)) + handlePresetDrop: e => dispatch(Actions.handlePresetDrop(e)), + selectNextPreset: (transitionType?: TransitionType) => + dispatch(Actions.selectNextPreset(transitionType)) }); export default connect(