Mutability, #100

This commit is contained in:
James Barnsley
2017-05-19 11:33:06 +12:00
parent d13f0a2265
commit 06f9c1d0b9
6 changed files with 44 additions and 44 deletions

View File

@ -1,7 +1,7 @@
import * as helpers from '../../helpers'
export function setConfig( config ){
export function setConfig(config){
return {
type: 'MOPIDY_SET_CONFIG',
config: config
@ -20,7 +20,7 @@ export function disconnect(){
}
}
export function instruct( call, value ){
export function instruct(call, value){
return {
type: 'MOPIDY_INSTRUCT',
call: call,
@ -28,7 +28,7 @@ export function instruct( call, value ){
}
}
export function debug( call, value ){
export function debug(call, value){
return {
type: 'MOPIDY_DEBUG',
call: call,
@ -42,11 +42,7 @@ export function debug( call, value ){
**/
export function changeTrack( tlid ){
return {
type: 'MOPIDY_INSTRUCT',
call: 'playback.play',
value: { tlid: tlid }
}
return instruct('playback.play', {tlid: tlid})
}
export function playURIs(uris, from_uri = null){
@ -101,11 +97,7 @@ export function playAlbum(uri){
}
export function removeTracks( tlids ){
return {
type: 'MOPIDY_INSTRUCT',
call: 'tracklist.remove',
value: { tlid: tlids }
}
return instruct('tracklist.remove', {tlid: tlids})
}
export function reorderTracklist( indexes, insert_before ){
@ -120,53 +112,46 @@ export function reorderTracklist( indexes, insert_before ){
}
export function clearTracklist(){
return instruct('tracklist.clear');
return instruct('tracklist.clear')
}
export function play(){
return instruct('playback.play');
return instruct('playback.play')
}
export function pause(){
return instruct('playback.pause');
return instruct('playback.pause')
}
export function stop(){
return instruct('playback.stop');
return instruct('playback.stop')
}
export function next(){
return instruct('playback.next');
return instruct('playback.next')
}
export function previous(){
return instruct('playback.previous');
return instruct('playback.previous')
}
export function setVolume( volume ){
return {
type: 'MOPIDY_INSTRUCT',
call: 'playback.setVolume',
value: { volume: volume }
}
export function setMute(mute){
return instruct('mixer.setMute', {mute: mute})
}
export function seek( time_position ){
return {
type: 'MOPIDY_INSTRUCT',
call: 'playback.seek',
value: { time_position: parseInt(time_position) }
}
export function setVolume(volume){
return instruct('playback.setVolume', {volume: volume})
}
export function seek(time_position){
return instruct('playback.seek', {time_position: parseInt(time_position)})
}
export function getTimePosition(){
return {
type: 'MOPIDY_INSTRUCT',
call: 'playback.getTimePosition'
}
return instruct('playback.getTimePosition')
}
export function setTimePosition( time_position ){
export function setTimePosition(time_position){
return {
type: 'MOPIDY_TIMEPOSITION',
data: time_position
@ -284,9 +269,6 @@ export function getPlaylistSearchResults(query, limit = 100, uri_scheme){
**/
export function getQueueHistory(){
return {
type: 'MOPIDY_INSTRUCT',
call: 'history.getHistory'
}
return instruct('history.getHistory')
}

View File

@ -29,6 +29,7 @@ const MopidyMiddleware = (function(){
store.dispatch({ type: 'MOPIDY_CONNECTED' });
instruct( ws, store, 'playback.getState' );
instruct( ws, store, 'playback.getVolume' );
instruct( ws, store, 'mixer.getMute' );
instruct( ws, store, 'tracklist.getConsume' );
instruct( ws, store, 'tracklist.getRandom' );
instruct( ws, store, 'tracklist.getRepeat' );
@ -89,6 +90,10 @@ const MopidyMiddleware = (function(){
store.dispatch({ type: 'MOPIDY_VOLUME', data: data.volume });
break;
case 'event:muteChanged':
store.dispatch({ type: 'MOPIDY_MUTE', data: data.mute });
break;
case 'event:optionsChanged':
instruct( ws, store, 'tracklist.getConsume' );
instruct( ws, store, 'tracklist.getRandom' );
@ -111,7 +116,7 @@ const MopidyMiddleware = (function(){
* @param string value (optional) = value of the property to pass
* @return promise
**/
const instruct = ( ws, store, call, value = {} ) => {
const instruct = (ws, store, call, value = {}) => {
if( !store.getState().mopidy.connected ) return false
@ -131,7 +136,7 @@ const MopidyMiddleware = (function(){
}
}else{
var error = {
message: 'Call to an invalid object. Check your are calling a valid Mopidy endpoint.',
message: 'Call to an invalid object. Check you are calling a valid Mopidy object.',
call: call,
value: value
}

View File

@ -58,6 +58,11 @@ export default function reducer(mopidy = {}, action){
volume: action.data
});
case 'MOPIDY_MUTE':
return Object.assign({}, mopidy, {
mute: action.data
});
case 'MOPIDY_TIMEPOSITION':
return Object.assign({}, mopidy, {
time_position: action.data