« 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/backend.js
AgeCommit message (Collapse)Author
2024-05-16don't explode without metadata lol rebased-socket-mtui(quasar) nebula
2024-05-16WIP socket shenanigans [!!!](quasar) nebula
this commit is mostly trash lol [!!!] Editor's note: Okay, after rebasing this commit is *super* spooky! It's interacting with a bunch of stuff that was previously handled in a merge commit and the revised changes may or may not be totally broken. If in doubt, assume this commit is the root of all evil (probably).
2024-05-16new GhostPlayer class & support 👻(quasar) nebula
This also makes the UI not explode when duration strings aren't available for progress bar display, and shows getTimeStringsFromSec how to handle that.
2024-05-16synchronize shared sources on join + other stuff(quasar) nebula
2024-05-16basic party sources creation for other sockets(quasar) nebula
2024-05-16announce joining party(quasar) nebula
2024-05-16identifier per socket connection(quasar) nebula
2024-05-16"party sources" ui (no socket functionality yet)(quasar) nebula
2024-05-16combining log messages (currently only seek!)(quasar) nebula
2024-05-16log 'status' commands as new "verbose" (dim) lines(quasar) nebula
2024-05-16old "wait when done playing" code(quasar) nebula
I haven't tested this since writing it in July so I have no idea what it does! :D
2024-05-16socket log messages & misc npm updatesFlorrie
2024-05-16basic command log implementationFlorrie
2024-05-16support stop-playing over client socketsFlorrie
2024-05-16synchronize playing new tracks across socketsFlorrie
2024-05-16support queue controls over socket clientsFlorrie
2024-05-16basic command relay across socket clientsFlorrie
2024-05-16basic 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!
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.
2022-06-01miscellaneous improvements to queue looping(quasar) nebula
2021-10-10update controls to loop queue on last track(quasar) nebula
2021-10-10"Loop mode" option: no loop, loop, shuffle(quasar) nebula
This also reorganizes the menubar options a little.
2021-07-18miscellaneous improvements to selection restoring(quasar) nebula
2021-07-17fix playOrSeek messing with queue order(quasar) nebula
2021-07-17past 3 second threshold, (P) to seek to start(quasar) nebula
2021-07-13timestamp files!!!(quasar) nebula
2021-03-24[Looping] indicator when queue is looping(quasar) nebula
2021-03-24cherry-pick queue player events(quasar) nebula
10/10 odds this is going to cause some merge conflict soon oh god
2021-02-16loop queue(quasar) nebula
2020-05-06clear timeData when a new track startsFlorrie
this makes it so that the value of timeData at any point will always be associated with the track which is currently playing. i thought this was already how timeData worked -- that assumption is what makes a lot of the math in updateQueueLengthLabel work!
2020-05-03show queue length in collapsed progress infoFlorrie
2020-04-06Auto-DJFlorrie
2020-02-15whoopsFlorrie
2020-02-15cli args (bass boost ur music)Florrie
$ mtui --player sox --player-options bass +25 \;
2020-02-04more os.homedir()Florrie
2019-10-16Skip non-playables when determening next/prev itemFlorrie
...to play. This is useful when you have non-playables interweaved with tracks, e.g. a file for each track's art.
2019-10-15Don't process metadata of non-tracksFlorrie
This fixes mtui crashing whenever you process the metadata of any group including a non-track too.
2019-10-15(o) to open through system; show non-music filesFlorrie
2019-09-23Re-add download function to fix process metadataFlorrie
The download code doesn't actually really depend on state, besides having access to the record for the track, which we can pass in from anywhere.
2019-09-22Basic multiple player UIFlorrie
Currently uses meta+(c, x, n, p, up, down) keys as the only interaction method, but that'll change soon!
2019-09-20WIP - support multiple players at onceFlorrie
Currently bug-free and doesn't change anything about existing mtui behavior! Meta N to create a new player, meta up/down to switch between which one you're interacting with. Each player has its own queue. Eventually (soon(TM)) there'll be much better UI to go with all this!
2019-09-10'Clear past / up to this track' queue menu optionsFlorrie
2019-09-06Fix songs from before insert index queuing wronglyFlorrie
Now /that/ was hard to fit in the commit line length. (:
2019-08-24Fix skipIfCurrent causing a crashFlorrie
I.e, fix a reference to the now nonexistant playNextTrack. This fixes a crash that happens when "Play later" is selected on the currently playing track (since doing so is meant to skip to the next song in queue before moving the play-later'd track).
2019-08-08Separate remaining duration calculationFlorrie
...into its own function. To be used to get the total duration string of a grouplike. (This is stored on the backend instead of a more general playlist-utils function because it requires access to the metadata code specific to mtui.)
2019-07-30"Pause when this track ends" optionFlorrie
2019-07-06Experimental telnet serverFlorrie
2019-07-05Separate backend from UIFlorrie