« get me outta code hell

http-music - Command-line music player + utils (not a server!)
about summary refs log tree commit diff
path: root/src/play.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/play.js')
-rwxr-xr-xsrc/play.js15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/play.js b/src/play.js
index 1416420..50be20e 100755
--- a/src/play.js
+++ b/src/play.js
@@ -7,7 +7,7 @@ const clone = require('clone')
 const fs = require('fs')
 const fetch = require('node-fetch')
 const commandExists = require('./command-exists')
-const pickers = require('./pickers')
+const { byName: pickersByName } = require('./pickers')
 const startLoopPlay = require('./loop-play')
 const processArgv = require('./process-argv')
 const processSmartPlaylist = require('./smart-playlist')
@@ -307,18 +307,15 @@ async function main(args) {
   }
 
   if (willPlay || (willPlay === null && shouldPlay)) {
-    let picker
-    if (pickerType === 'shuffle') {
-      console.log("Using shuffle picker.")
-      picker = pickers.makeShufflePlaylistPicker(activePlaylist)
-    } else if (pickerType === 'ordered') {
-      console.log("Using ordered picker.")
-      picker = pickers.makeOrderedPlaylistPicker(activePlaylist)
-    } else {
+    if (!Object.keys(pickersByName).includes(pickerType)) {
       console.error("Invalid picker type: " + pickerType)
       return
     }
 
+    console.log(`Using ${pickerType} picker.`)
+
+    const picker = pickersByName[pickerType](activePlaylist)
+
     console.log(`Using ${playerCommand} player.`)
 
     const {