mu-player
Version:
Play music from vk.com and soundcloud.com via Music Player Daemon
56 lines (44 loc) • 1.27 kB
JavaScript
import PlayMusic from 'playmusic';
import Promise from 'bluebird';
import { format } from './music-actions';
export let pm = Promise.promisifyAll(new PlayMusic());
export let setCredentials = (credentials) => {
return pm.initAsync(credentials);
};
export let getUrl = (track) => {
return pm.getStreamUrlAsync(track.id || track.nid);
};
let processTracks = (tracks) => {
let result = tracks.map((track) => {
return {
artist: track.artist,
title: track.title,
url: () => getUrl(track)
};
});
return format(result);
};
export let getAlbum = (albumId) => {
return pm.getAlbumAsync(albumId, true).then((fullAlbumDetails) => {
return processTracks(fullAlbumDetails.tracks);
});
};
export let findAlbum = (query) => {
return pm.searchAsync(query, 20).then((results) => {
return results.entries.filter((entry) => entry.type === '3' && entry.album);
});
};
export let getThumbsUp = () => {
return pm.getFavotitesAsync().then((data) => {
return processTracks(data.track);
});
};
export let getAllTracks = () => {
return pm.getAllTracksAsync().then((data) => {
return processTracks(data.data.items);
});
};
export let getToken = (credentials) => {
return pm.loginAsync(credentials);
};
export let isAllAccess = () => pm._allAccess;