UNPKG

mu-player

Version:

Play music from vk.com and soundcloud.com via Music Player Daemon

113 lines (94 loc) 2.85 kB
import tui from './tui/screen'; import drawLayout from './tui/layout'; import setupCredentials from './helpers/credentials'; import startApp from './components/main'; import meow from 'meow'; import * as player from '../src/player/player-control'; import * as lfmActions from './actions/lastfm-actions'; lfmActions.init(); import storage, { updateConfig, VK_SEARCH, PAUSE, ADD_TO_PROFILE, SHOW_HELP, SWITCH_PANE, MOVE_TO_PLAYING, FOCUS_LEFT_PANE, FOCUS_RIGHT_PANE, LOCAL_SEARCH } from './storage/storage'; let cli = meow(` Usage: ./cli.js [options] Options: --setup Setup login credentials `, { pkg: './../package.json' }); updateConfig().then((setupConfig) => { setupCredentials(cli.flags.setup || setupConfig).then(() => { let screen = tui(); let layout = drawLayout(screen); startApp(screen, layout); screen.key(['space'], () => player.pause()); screen.key(['s'], () => player.stop()); screen.key(['f'], () => player.favToggle()); screen.key(['left'], () => layout.mediaTree.focus()); screen.key(['right'], () => layout.playlist.focus()); screen.key(['+', '='], () => player.volumeUp()); screen.key(['-', '_'], () => player.volumeDown()); screen.key(['>', '.'], () => player.seekFwd()); screen.key(['<', ','], () => player.seekBwd()); screen.key(['/', '?'], () => storage.emit(SHOW_HELP)); layout.qsearch.key(['left'], () => { layout.qsearch.cancel(); layout.mediaTree.focus(); screen.render(); }); layout.qsearch.key(['right'], () => { layout.qsearch.cancel(); layout.playlist.focus(); screen.render(); }); layout.qsearch.key(['tab'], () => { layout.qsearch.cancel(); layout.mediaTree.focus(); screen.render(); }); layout.mediaTree.rows.key(['tab'], () => { layout.playlist.focus(); screen.render(); }); layout.playlist.key(['tab'], () => { layout.qsearch.focus(); screen.render(); }); layout.playlist.key(['pageup'], () => { layout.playlist.up(layout.playlist.height - 2); screen.render(); }); layout.playlist.key(['pagedown'], () => { layout.playlist.down(layout.playlist.height - 2); screen.render(); }); layout.mediaTree.rows.key(['pageup'], () => { layout.mediaTree.rows.up(layout.mediaTree.rows.height); screen.render(); }); layout.mediaTree.rows.key(['pagedown'], () => { layout.mediaTree.rows.down(layout.mediaTree.rows.height); screen.render(); }); screen.key(['escape', 'q', 'C-c'], () => { if (!screen.blockEsc) { storage.data.lastQuery = layout.qsearch.getValue(); storage.save(); process.exit(0); } }); screen.title = ':mu'; process.title = ':mu'; screen.render(); }); });