mirror of
https://github.com/captbaritone/webamp.git
synced 2026-01-23 18:25:30 +00:00
51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
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'};
|
|
}
|