« get me outta code hell

mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
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-16tododododododo(quasar) nebula
2024-05-16synchronize shared sources on join + other stuff(quasar) nebula
2024-05-16naughty hack for context menu in playlist sources(quasar) nebula
...plus a todo detailing what should be better
2024-05-16playlist sources = only what's shared with party(quasar) nebula
2024-05-16too doos(quasar) nebula
2024-05-16implement basic share-with-party command(quasar) nebula
2024-05-16actually set hasAnnouncedJoin on server lol(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-16getNameScore algorithm todo(quasar) nebula
2024-05-16restore queued tracks from playlist sources(quasar) nebula
not sure why i didnt do this before but it Seems To Work Now! dog champ
2024-05-16check partial name matches; don't check DL args(quasar) nebula
not thoroughly tested yet! lol
2024-05-16add todo for remote/VPN mtui server hosting!(quasar) nebula
2024-05-16combining log messages (currently only seek!)(quasar) nebula
2024-05-16simplify log message text construction(quasar) nebula
2024-05-16log 'status' commands as new "verbose" (dim) lines(quasar) nebula
2024-05-16resume canonical player when all sockets are ready(quasar) nebula
this fixes an issue where a sync-playback received immediately during the resume would receive the paused status! in general, the canonical backend should always stay in line with the messages that the server sends out.
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-16only show log pane once first message is displayedFlorrie
2024-05-16socket log messages & misc npm updatesFlorrie
2024-05-16basic command log implementationFlorrie
2024-05-16support stop-playing over client socketsFlorrie
2024-05-16allow lines spread across multiple data chunksFlorrie
Wrapper functions 4 lyfe.
2024-05-16move data-handling code inside connection handlerFlorrie
This should make it easier to add state for individual sockets, which will be needed in coding better data handling. (Update: Actually, that wasn't necessary, because I wrote it as a more general wrapper function which contains its own state. Still, this could come in useful in the future, and it arguably reduces the code complexity anyway.)
2024-05-16let client specify host through command lineFlorrie
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!
2024-05-16simple findTrackObject opimizationsFlorrie
2024-05-16add function for finding track object by ref dataFlorrie
This is the start of a project to let two (or more) instances of mtui link together and host a party where tracks are accessed on each user's own machine. Backends will be linked so that any actions taken in one will be reflected in another. This function is a key part of implementing this, since mtui depends on all instances of a track be referred to by the same JS object, and the new function allows the (approximate) identity of a track to be serialized and transferred over the internet (or any static format) and restored later, on another device, and/or even in a differently structured music library.
2024-05-16update to open@10 HEAD main(quasar) nebula
Makes xdg-open work on KDE Plasma 6.
2024-05-16npm audit(quasar) nebula
2024-05-16update tui-lib to 0.4.1(quasar) nebula
2024-05-14prepare to view selected items page after starting selection(quasar) nebula
This was the intended behavior from the start! We just forgot to code this part, oops.
2024-05-14fix context menu not detecting scroll bar appropriately(quasar) nebula
2024-05-14save current context menu page number as a named id(quasar) nebula
2024-05-14remember which main context menu page was open(quasar) nebula
2024-05-14add/remove part of group to/from selection(quasar) nebula
2024-05-14handy dandy selectTracks function(quasar) nebula
2024-05-14add limit option to shuffleArray(quasar) nebula
2024-05-10manual tempdir creation & handling(quasar) nebula
This is mostly for compatibility with devices where the home directory isn't on the same device as the system temporary directory, so locallink and other symlink-based operations get trolled (fail!). This doesn't address the more general issue of e.g. playing music off of an external drive probably fails(!!) - but in those cases locallink isn't appropriate anyway, so they're outta scope of this commit.
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-13skip .DS_Store, .git in crawl-local(quasar) nebula
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.