Music Text User Interface - User-friendly command line music player

Florrie 386e1054e7 Merge branch 'master' into web-mtui 6 роки тому
.gitignore 0899802dc4 DOUBLE SIGH 6 роки тому
.gitmodules 1daa3b0f41 Miscellaneous readme changes 6 роки тому
LICENSE.txt 6d270d43d5 Add GPL license file 6 роки тому
README.md 770f7ce6f8 Fix typo in keybindings section of README 6 роки тому
crawlers.js dad157a7e3 More http crawler tweaking 6 роки тому
downloaders.js 50a3f912da Play music 6 роки тому
general-util.js eb13543e95 Make mtui work in webpack 6 роки тому
index.js c5039b88c7 Update tui-lib, buildItems stress test 6 роки тому
list-cache.js 6993905eaf Add simple list-cache debug tool 6 роки тому
package-lock.json 2ec5450bcf Ctrl-O to open a prompt for loading a playlist 6 роки тому
package.json e9f59f4abf Fill in package.json 6 роки тому
players.js 9162068126 Remove mpv player 6 роки тому
playlist-utils.js eb13543e95 Make mtui work in webpack 6 роки тому
record-store.js 8766d0f6c9 Automatically play next track 6 роки тому
screenshot.png 1daa3b0f41 Miscellaneous readme changes 6 роки тому
smart-playlist.js 6055638558 Smart playlists 6 роки тому
stress-test.txt 9a4f04fbd3 Dramatically optimize perf of large playlists 6 роки тому
todo.txt 8438f83191 "Distribute" options 6 роки тому
ui.js 386e1054e7 Merge branch 'master' into web-mtui 6 роки тому
undo-manager.js a8fec45b10 Stub undo manager, remove 6 роки тому

README.md

Screenshot of the player

Installation

You will need a relatively recent version of Node.js, as well as mpv (apt install mpv and the like work fine).

# Please do note --recursive. It clones git submodules.
git clone --recursive https://git.ed1.club/florrie/mtui.git  # Or https://notabug.org/towerofnix/mtui.git
cd mtui
npm install
npm link  # Or sudo npm link
mtui  # Or node .

Add music to the ~/Music folder to make it show up in mtui, or pass mtui a playlist.json file (usually generated by http-music or downloaded from online).

Bugs or ideas?

Feel free and encouraged to report any bugs (unexpected behavior or crashes) to the issue tracker on NotABug.org! You're also welcome to share any ideas, suggestions, and questions through there.

Keybindings

  • Ctrl+C - exit
  • Up and Down - select previous or next item in a listing
  • Tab and Shift+Tab - switch between UI elements
  • 1 - focus the main track/group listing
  • 2 - focus the queue listing
  • Enter - play the selected track
  • Shift+Up or p - play previous track
  • Shift+Down or n - play next track
  • Space - toggle pause
  • Escape - stop playing the current track
  • Right - seek ahead
  • Left - seek back
  • Ctrl+F or / - jump to a track or group by entering (part of) its name
  • Ctrl+O - open a playlist from a source (like a /path/to/a/folder or a YouTube playlist URL) (you can also just pass this source to mtui)
  • t and T (shift+T) - switch between playlist tabs
  • Ctrl+T - open the current playlist in a new tab (so, clone the current tab)
  • Ctrl+W - close the current tab
  • In the main listing:
    • Enter - if the selected item is a group, enter it; if it's a track, play it
    • Backspace - leave the current group (if in one)
    • m or f - open a menu of actions related to the selected track or group
    • q - queue the selected track or group to play after any other items in the queue (usually after the current track)
    • Q (shift+Q) - queue the selected track or group to play immediately after what's currently playing
    • d - download the selected track (but don't play it)
  • In the queue listing:
    • s - shuffle the queue
    • c - clear the queue
    • x - remove the selected track from the queue
  • In path displays: (Path displays are the things that show below the main and queue listings. They show the path of groups to the selected item in the listing.)
    • Enter or Space - view the selected item in the main listing
    • Left and Right - navigate the path display
  • In a context menu:
    • All the usual controls (up, down, tab, space, enter) work
    • Backspace or Escape - close the menu without taking any action