« get me outta code hell

mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
path: root/index.js
AgeCommit message (Collapse)Author
2023-05-15WIP socket shenanigans(quasar) nebula
this commit is mostly trash lol
2023-05-13Merge branch 'main' into socket-mtui(quasar) nebula
And also get most of it working wow.
2023-05-13load basic config file from ~/.mtui/config.json(quasar) nebula
This is basically just a stub for now, but you can specify what playlists you want open when mtui is called without any provided directories/playlists in "defaultPlaylists'! Also comes with complementary --config-file and --skip-config-file arguments.
2023-05-13use ESM module syntax & update tui-lib(quasar) nebula
Exciting update! This doesn't make any substantial changes exactly but does update the most quickly-archaic parts of older Node code.
2021-10-10only load ~/Music if no other sources provided(quasar) nebula
2021-04-25playlist sources = only what's shared with party(quasar) nebula
2021-04-23basic party sources creation for other sockets(quasar) nebula
2021-04-23announce joining party(quasar) nebula
2021-04-22"party sources" ui (no socket functionality yet)(quasar) nebula
2020-07-15basic command log implementationFlorrie
2020-07-11let client specify host through command lineFlorrie
2020-07-10basic command relay across socket clientsFlorrie
2020-07-10update old process.argv checks to use parseOptionsFlorrie
2020-07-10rename telnet-server.js to telnet.jsFlorrie
...for consistency with a socket.js (coming soon to a theater near you!)
2020-07-10basic working backend save/restore & socket serverFlorrie
Backend save/restore code (living in serialized-backend.js) has been well tested and shouldn't need much change going forward. Now we get to begin working on the actual synchronized-over-socket-server commands!
2020-07-10update old process.argv checks to use parseOptionsFlorrie
2020-07-10rename telnet-server.js to telnet.jsFlorrie
...for consistency with a socket.js (coming soon to a theater near you!)
2020-07-09rename handlePlaylistSource & let accept grouplikeFlorrie
It's called loadPlaylistOrSource now, and can take a grouplike (which it will process with processSmartPlaylist as usual) instead of a URL to pass to a crawler. This is so that all functionality for loading a playlist can be collected in and accessed through one interface, so that modifications to the way playlists are loaded will be reflected across everywhere that loads a playlist.
2020-07-09rename handlePlaylistSource & let accept grouplikeFlorrie
It's called loadPlaylistOrSource now, and can take a grouplike (which it will process with processSmartPlaylist as usual) instead of a URL to pass to a crawler. This is so that all functionality for loading a playlist can be collected in and accessed through one interface, so that modifications to the way playlists are loaded will be reflected across everywhere that loads a playlist.
2020-02-15cli args (bass boost ur music)Florrie
$ mtui --player sox --player-options bass +25 \;
2019-10-17Import tui-lib with npm instead of as a submoduleFlorrie
2019-09-15Only render when stuff on-screen actually changes!Florrie
This means we can basically guarantee 0% CPU usage when nothing on the screen is changing! There may still be some kinks to work out, but I've tested most features and fixed any apparent bugs (including an unrelated bug in the suspend feature which made it crash when resuming the process).
2019-07-19Frame delay = 50 on normal client, 100 on telnetFlorrie
2019-07-07PARTY MODEFlorrie
2019-07-06Experimental telnet serverFlorrie
2019-07-05Skip "paths" that start with '--' when starting upFlorrie
2019-07-05Separate backend from UIFlorrie
2019-03-10Suspend supportFlorrie
Should think about moving this into tui-lib! It'd fit the boilerplate function I have there already (I think), but we're not making use of that in mtui yet.
2019-02-25Metadata (stored, throttle, status, and more)Florrie
2019-01-25Make use of xterm alternate screenFlorrie
..so that your scrollback isn't messed up by mtui's output when you quit.
2018-12-15Update tui-lib, buildItems stress testFlorrie
I didn't have any luck optimizing buildItems though. It might be something to come back to some other time. (It's already quick enough to be usable, even on modland.json, that's for sure!)
2018-12-15Dramatically optimize perf of large playlistsFlorrie
Now you can browse modland.json at your leisure, without the fear of waiting 10 seconds every time you so much as move your cursor!
2018-12-08Mouse supportFlorrie
'Cuz hey, why not?
2018-12-04Stress test stuffFlorrie
Just to see if I can optimize tui-lib's ansi diffing.
2018-10-08Less-buggy resize detectionFlorrie
Moved .on('resize') to be after the flushable is actually created, so we don't get an error (flushable is not defined) when resizing before the flushable has been created. Also checked for size only immediately before we actually display, so that the size is accurate right away.
2018-07-04Open passed playlist in a new tab, allow passing more than one playlistFlorrie
2018-07-04Stub newGrouplikeListingFlorrie
2018-07-04focused -> selectedFlorrie
2018-07-03Ctrl-O to open a prompt for loading a playlistFlorrie
2018-06-26Pass YouTube playlist URLs directly to mtuiFlorrie
Or any other crawler argument, and it'll (try to) guess which crawler you want to use automatically. Handy!
2018-06-13Error handling stuffFlorrie
2018-06-12group.comment support / new help messageFlorrie
..mentioning that you can add stuff to ~/Music to make it show up in the default mtui playlist.
2018-06-12Add name to default playlistFlorrie
2018-06-12Make default playlist crawl ~/MusicFlorrie
2018-06-12Add bin script and some error handlingFlorrie
2018-06-04Smart playlistsFlorrie
Basically directly pulled from http-music. Want to make a nice UI for this eventually ("opening playlist..." popup dialog), but not for now.
2018-06-03Don't default to library.jsonFlorrie
2018-06-02Terminal resize detectionFlorrie
2018-06-02Make space pause (if a track is playing)Florrie
2018-05-31Queue whole groupFlorrie