webamp/js/actionCreators/index.js
2018-09-11 07:18:31 -07:00

100 lines
2.1 KiB
JavaScript

import {
CLOSE_WINAMP,
STOP,
TOGGLE_VISUALIZER_STYLE,
RESTORE_SERIALIZED_STATE
} from "../actionTypes";
import { SERIALIZATION_VERSION } from "../constants";
export {
toggleDoubleSizeMode,
toggleEqualizerShadeMode,
togglePlaylistShadeMode,
closeWindow,
hideWindow,
showWindow,
setWindowSize,
toggleWindow,
updateWindowPositions,
toggleMainWindowShadeMode
} from "./windows";
export {
play,
pause,
stop,
nextN,
next,
previous,
seekForward,
seekBackward,
setVolume,
adjustVolume,
scrollVolume,
setBalance,
toggleRepeat,
toggleShuffle
} from "./media";
export {
setEqBand,
setEqToMax,
setEqToMid,
setEqToMin,
setPreamp,
toggleEq
} from "./equalizer";
export {
addTracksFromReferences,
loadFilesFromReferences,
setSkinFromArrayBuffer,
setSkinFromFileReference,
setSkinFromUrl,
openEqfFileDialog,
openMediaFileDialog,
openSkinFileDialog,
fetchMediaDuration,
loadMediaFiles,
loadMediaFile,
fetchMediaTags,
setEqFromFileReference,
downloadPreset,
downloadHtmlPlaylist
} from "./files";
export {
cropPlaylist,
removeSelectedTracks,
removeAllTracks,
reverseList,
randomizeList,
sortListByTitle,
setPlaylistScrollPosition,
scrollNTracks,
scrollPlaylistByDelta,
scrollUpFourTracks,
scrollDownFourTracks,
dragSelected
} from "./playlist";
export function close() {
return dispatch => {
dispatch({ type: STOP });
dispatch({ type: CLOSE_WINAMP });
};
}
export function toggleVisualizerStyle() {
return { type: TOGGLE_VISUALIZER_STYLE };
}
export function restoreSerializedState(serializedState) {
if (serializedState.version !== SERIALIZATION_VERSION) {
// When SERIALIZATION_VERSION changes, will need to provide mapper functions
// to transform old versions to new versions here.
//
// Having types will make doing this translation much easier.
//
// For now we will throw as reminder of how important it is to remember to
// do this translation.
throw new Error("Invalid serializaiton version");
}
return { type: RESTORE_SERIALIZED_STATE, serializedState };
}