import MyFile from './my-file'; export function play(mediaPlayer) { return (dispatch, getState) => { if (getState().media.status === 'PLAYING') { mediaPlayer.stop(); dispatch({type: 'MEDIA_IS_STOPPED'}); } else { mediaPlayer.play(); dispatch({type: 'MEDIA_IS_PLAYING'}); } }; } export function pause(mediaPlayer) { return (dispatch, getState) => { const status = getState().media.status; switch (status) { case 'PAUSED': mediaPlayer.play(); dispatch({type: 'MEDIA_IS_PLAYING'}); break; case 'PLAYING': mediaPlayer.pause(); dispatch({type: 'MEDIA_IS_PAUSED'}); break; } }; } export function stop(mediaPlayer) { return (dispatch) => { mediaPlayer.stop(); dispatch({type: 'MEDIA_IS_STOPPED'}); }; } export function close(mediaPlayer) { return (dispatch) => { mediaPlayer.stop(); dispatch({type: 'CLOSE_WINAMP'}); }; } export function setSkinFromFilename(winamp, filename) { const url = `https://cdn.rawgit.com/captbaritone/winamp-skins/master/v2/${filename}`; const skinFile = new MyFile(); skinFile.setUrl(url); winamp.setSkin(skinFile); return {type: 'START_LOADING'}; }