2016-10-14 22:42:45 +13:00
|
|
|
|
2016-11-16 16:30:49 +13:00
|
|
|
import * as helpers from '../../helpers'
|
2016-10-14 22:42:45 +13:00
|
|
|
|
2017-05-19 11:33:06 +12:00
|
|
|
export function setConfig(config){
|
2016-10-14 22:42:45 +13:00
|
|
|
return {
|
2016-10-18 21:57:29 +13:00
|
|
|
type: 'MOPIDY_SET_CONFIG',
|
|
|
|
|
config: config
|
2016-10-14 22:42:45 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-18 21:57:29 +13:00
|
|
|
export function connect(){
|
2016-10-14 22:42:45 +13:00
|
|
|
return {
|
2016-10-18 21:57:29 +13:00
|
|
|
type: 'MOPIDY_CONNECT'
|
2016-10-16 12:37:37 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-18 21:57:29 +13:00
|
|
|
export function disconnect(){
|
2016-10-18 08:56:53 +13:00
|
|
|
return {
|
2016-10-18 21:57:29 +13:00
|
|
|
type: 'MOPIDY_DISCONNECT'
|
2016-10-18 08:56:53 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-19 11:33:06 +12:00
|
|
|
export function instruct(call, value){
|
2016-10-21 23:27:50 +13:00
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_INSTRUCT',
|
|
|
|
|
call: call,
|
|
|
|
|
value: value
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-19 11:33:06 +12:00
|
|
|
export function debug(call, value){
|
2016-12-05 10:20:01 +13:00
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_DEBUG',
|
|
|
|
|
call: call,
|
|
|
|
|
value: value
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-21 23:27:50 +13:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Playback-oriented actions
|
|
|
|
|
**/
|
|
|
|
|
|
2016-10-16 12:37:37 +13:00
|
|
|
export function changeTrack( tlid ){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('playback.play', {tlid: tlid})
|
2016-10-16 12:37:37 +13:00
|
|
|
}
|
|
|
|
|
|
2017-05-05 03:56:55 +12:00
|
|
|
export function playURIs(uris, from_uri = null){
|
2016-10-19 14:09:34 +13:00
|
|
|
return {
|
2016-11-18 08:29:13 +13:00
|
|
|
type: 'MOPIDY_PLAY_URIS',
|
2017-02-14 20:24:35 +13:00
|
|
|
uris: uris,
|
|
|
|
|
from_uri: from_uri
|
2016-10-20 21:38:01 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-07 09:29:18 +12:00
|
|
|
export function enqueueURIs(uris, from_uri = null, next = false, at_position = null, offset = 0){
|
2016-10-20 21:38:01 +13:00
|
|
|
return {
|
2017-02-14 20:24:35 +13:00
|
|
|
type: 'MOPIDY_ENQUEUE_URIS',
|
|
|
|
|
uris: uris,
|
|
|
|
|
at_position: at_position,
|
2017-04-04 21:21:44 +12:00
|
|
|
next: next,
|
2017-05-07 09:29:18 +12:00
|
|
|
from_uri: from_uri,
|
|
|
|
|
offset: offset
|
2016-10-19 14:09:34 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-05-05 03:56:55 +12:00
|
|
|
export function enqueueURIsBatchDone(){
|
|
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_ENQUEUE_URIS_BATCH_DONE'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-04-07 10:33:54 +12:00
|
|
|
export function playPlaylist(uri){
|
|
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_PLAY_PLAYLIST',
|
|
|
|
|
uri: uri
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function playAlbum(uri){
|
|
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_PLAY_ALBUM',
|
|
|
|
|
uri: uri
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-16 12:37:37 +13:00
|
|
|
export function removeTracks( tlids ){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('tracklist.remove', {tlid: tlids})
|
2016-10-14 22:42:45 +13:00
|
|
|
}
|
|
|
|
|
|
2016-11-16 16:30:49 +13:00
|
|
|
export function reorderTracklist( indexes, insert_before ){
|
|
|
|
|
var range = helpers.createRange( indexes );
|
2016-11-25 19:04:27 +13:00
|
|
|
if( insert_before > range.start ) insert_before = insert_before - range.length
|
2016-11-16 16:30:49 +13:00
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_REORDER_TRACKLIST',
|
|
|
|
|
range_start: range.start,
|
|
|
|
|
range_length: range.length,
|
|
|
|
|
insert_before: insert_before
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-01-22 12:54:20 +13:00
|
|
|
export function clearTracklist(){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('tracklist.clear')
|
2017-01-22 12:54:20 +13:00
|
|
|
}
|
|
|
|
|
|
2016-10-20 21:38:01 +13:00
|
|
|
export function play(){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('playback.play')
|
2016-10-20 21:38:01 +13:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function pause(){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('playback.pause')
|
2016-10-20 21:38:01 +13:00
|
|
|
}
|
|
|
|
|
|
2016-11-03 18:22:26 +13:00
|
|
|
export function stop(){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('playback.stop')
|
2016-11-03 18:22:26 +13:00
|
|
|
}
|
|
|
|
|
|
2016-10-20 21:38:01 +13:00
|
|
|
export function next(){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('playback.next')
|
2016-10-20 21:38:01 +13:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function previous(){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('playback.previous')
|
2016-10-20 21:38:01 +13:00
|
|
|
}
|
2016-10-21 23:27:50 +13:00
|
|
|
|
2017-05-19 11:33:06 +12:00
|
|
|
export function setMute(mute){
|
|
|
|
|
return instruct('mixer.setMute', {mute: mute})
|
2016-11-04 13:51:17 +13:00
|
|
|
}
|
|
|
|
|
|
2017-05-19 11:33:06 +12:00
|
|
|
export function setVolume(volume){
|
|
|
|
|
return instruct('playback.setVolume', {volume: volume})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function seek(time_position){
|
|
|
|
|
return instruct('playback.seek', {time_position: parseInt(time_position)})
|
2016-11-03 18:22:26 +13:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function getTimePosition(){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('playback.getTimePosition')
|
2016-11-03 18:22:26 +13:00
|
|
|
}
|
|
|
|
|
|
2017-05-19 11:33:06 +12:00
|
|
|
export function setTimePosition(time_position){
|
2016-11-08 16:57:44 +13:00
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_TIMEPOSITION',
|
|
|
|
|
data: time_position
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-10-21 23:27:50 +13:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Asset-oriented actions
|
|
|
|
|
**/
|
|
|
|
|
|
2017-08-03 15:26:54 +12:00
|
|
|
export function getImages( context, uris ){
|
|
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_GET_IMAGES',
|
|
|
|
|
context: context,
|
|
|
|
|
uris: uris
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-11-14 11:20:02 +13:00
|
|
|
export function deletePlaylist( uri ){
|
|
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_DELETE_PLAYLIST',
|
|
|
|
|
uri: uri
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-01-13 13:17:47 +13:00
|
|
|
export function getLibraryPlaylists(){
|
|
|
|
|
return { type: 'MOPIDY_GET_LIBRARY_PLAYLISTS' }
|
2016-10-21 23:27:50 +13:00
|
|
|
}
|
|
|
|
|
|
2016-11-02 16:51:00 +13:00
|
|
|
export function getPlaylist( uri ){
|
|
|
|
|
return {
|
2017-01-13 13:17:47 +13:00
|
|
|
type: 'MOPIDY_GET_PLAYLIST',
|
2016-11-02 16:51:00 +13:00
|
|
|
data: { uri: uri }
|
2016-11-01 07:37:18 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-11-02 16:51:00 +13:00
|
|
|
export function getDirectory( uri ){
|
2016-11-01 11:49:04 +13:00
|
|
|
return {
|
2017-01-13 13:17:47 +13:00
|
|
|
type: 'MOPIDY_GET_DIRECTORY',
|
2017-07-07 08:25:58 +12:00
|
|
|
data: { uri: uri }
|
2016-11-01 11:49:04 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-11-01 16:41:04 +13:00
|
|
|
export function getArtist( uri ){
|
|
|
|
|
return {
|
2017-01-13 13:17:47 +13:00
|
|
|
type: 'MOPIDY_GET_ARTIST',
|
2016-11-01 16:41:04 +13:00
|
|
|
data: { uri: uri }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-01-26 09:15:54 +13:00
|
|
|
export function getLibraryArtists(){
|
2016-11-01 19:27:59 +13:00
|
|
|
return {
|
2017-01-26 09:15:54 +13:00
|
|
|
type: 'MOPIDY_GET_LIBRARY_ARTISTS'
|
2016-11-01 19:27:59 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-01-15 21:06:24 +13:00
|
|
|
export function getAlbum( uri ){
|
|
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_GET_ALBUM',
|
|
|
|
|
data: { uri: uri }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-08-10 12:00:08 +12:00
|
|
|
export function getAlbums(uris, processor = null){
|
2016-11-02 16:51:00 +13:00
|
|
|
return {
|
2017-01-26 08:51:35 +13:00
|
|
|
type: 'MOPIDY_GET_ALBUMS',
|
2017-08-10 12:00:08 +12:00
|
|
|
uris: uris,
|
|
|
|
|
processor: processor
|
2017-01-26 08:51:35 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-01-26 09:15:54 +13:00
|
|
|
export function getLibraryAlbums(){
|
2017-01-26 08:51:35 +13:00
|
|
|
return {
|
2017-01-26 09:15:54 +13:00
|
|
|
type: 'MOPIDY_GET_LIBRARY_ALBUMS'
|
2016-11-02 16:51:00 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-08-10 12:00:08 +12:00
|
|
|
export function runProcessor(processor){
|
|
|
|
|
return {
|
|
|
|
|
type: processor
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function cancelProcessor(processor){
|
|
|
|
|
return {
|
|
|
|
|
type: processor+'_CANCEL'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-11-06 18:29:49 +13:00
|
|
|
|
|
|
|
|
/**
|
2017-03-24 23:05:43 +13:00
|
|
|
* Searching
|
2016-11-06 18:29:49 +13:00
|
|
|
**/
|
|
|
|
|
|
2017-03-25 09:40:13 +13:00
|
|
|
export function getTrackSearchResults(query, limit = 100, uri_scheme){
|
2016-11-06 18:29:49 +13:00
|
|
|
return {
|
2017-03-24 23:05:43 +13:00
|
|
|
type: 'MOPIDY_GET_TRACK_SEARCH_RESULTS',
|
|
|
|
|
query: query,
|
|
|
|
|
limit: limit,
|
2017-03-25 09:40:13 +13:00
|
|
|
uri_scheme: uri_scheme
|
2016-11-06 18:29:49 +13:00
|
|
|
}
|
|
|
|
|
}
|
2017-02-10 09:06:41 +13:00
|
|
|
|
2017-03-25 09:40:13 +13:00
|
|
|
export function getArtistSearchResults(query, limit = 100, uri_scheme){
|
2017-03-24 16:06:49 +13:00
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_GET_ARTIST_SEARCH_RESULTS',
|
2017-03-24 23:05:43 +13:00
|
|
|
query: query,
|
2017-03-25 09:40:13 +13:00
|
|
|
limit: limit,
|
|
|
|
|
uri_scheme: uri_scheme
|
2017-03-24 23:05:43 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-03-25 09:40:13 +13:00
|
|
|
export function getAlbumSearchResults(query, limit = 100, uri_scheme){
|
2017-03-24 23:05:43 +13:00
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_GET_ALBUM_SEARCH_RESULTS',
|
|
|
|
|
query: query,
|
2017-03-25 09:40:13 +13:00
|
|
|
limit: limit,
|
|
|
|
|
uri_scheme: uri_scheme
|
2017-03-24 16:06:49 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-03-25 09:40:13 +13:00
|
|
|
export function getPlaylistSearchResults(query, limit = 100, uri_scheme){
|
2017-03-24 23:05:43 +13:00
|
|
|
return {
|
|
|
|
|
type: 'MOPIDY_GET_PLAYLIST_SEARCH_RESULTS',
|
|
|
|
|
query: query,
|
2017-03-25 09:40:13 +13:00
|
|
|
limit: limit,
|
|
|
|
|
uri_scheme: uri_scheme
|
2017-03-24 23:05:43 +13:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Other general actions
|
|
|
|
|
**/
|
|
|
|
|
|
2017-02-10 09:06:41 +13:00
|
|
|
export function getQueueHistory(){
|
2017-05-19 11:33:06 +12:00
|
|
|
return instruct('history.getHistory')
|
2017-02-10 09:06:41 +13:00
|
|
|
}
|
2016-11-07 18:09:42 +13:00
|
|
|
|