« 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/ui.js
AgeCommit message (Collapse)Author
2019-09-23Multiple player UI interaction shenanigansFlorrie
Please don't ever let me stay up until 29:57 again. Future me will thank you in advance.
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-20Jump to menubar options with keyboardFlorrie
I _love_ the KeyboardSelector tool.
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-18Don't reload the listing if it's unnecessaryFlorrie
...in reveal(). This fixes the bug where the revealed track would always be positioned at the bottom of the screen, which happened because reloading the listing reset the scroll index back to the top.
2019-09-18Default to 'after selected song' in context menuFlorrie
2019-09-17Fix toggling pause not updating screenFlorrie
This makes the pause indicator (next to the time remaining in the queue) work again.
2019-09-17Keep selected track/group visible when resizingFlorrie
2019-09-17Fix select-el keys not working w/ context menusFlorrie
2019-09-15Add Home/End support to scroll to top/bottomFlorrie
2019-09-15Jump to top/bottom in context menusFlorrie
Although we don't have any context menu options which start with the letter G yet, if we did, the keyboard selector would (intentionally) take priority and focus that element instead of doing jump to start/ bottom behavior. However, pressing Home/End will always work (once it's implemented).
2019-09-15Make InlineListPickerElement update screenFlorrie
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-09-11Make Q key queue after selected trackFlorrie
Also make it caseless: q = Q. See todo.txt (which also has a large new note regarding duplicates in the selection system).
2019-09-10'Clear past / up to this track' queue menu optionsFlorrie
2019-09-04Fix reprocess metadata option not workingFlorrie
I'd forgotten to pass the reprocess flag through!
2019-08-27Keep selected item in view (wrt shift selecting)Florrie
2019-08-25Remove dead 'defaultIndex' argumentFlorrie
I didn't end up using this.
2019-08-25Select already selected option from dropdown menuFlorrie
...by default.
2019-08-25Submenu support, add inline list picker dropdownFlorrie
2019-08-25Fix menuLayer capturing all mouse events!Florrie
2019-08-25Dynamically create context menu instead of reusingFlorrie
...a single one. This is working towards letting multiple context menus be open at once.
2019-08-25Make shift-up/down still move on non-item inputsFlorrie
2019-08-25Avoid conflict in isToggleLoop/isFocusLabels keysFlorrie
Maybe there'll be a better key than L for isFocusLabels later. We'll see!
2019-08-25Shift+up/down to select multiple items at onceFlorrie
Dragging works too, as implemented earlier.
2019-08-25Use control+up/down to play next/previous tracksFlorrie
...instead of shift+up/down, which I'm going to make select items in listings (ala graphical file browsers).
2019-08-22Basic label interactionFlorrie
2019-08-22Label (tag) drawing systemFlorrie
2019-08-22Tidy computeText function for grouplike itemsFlorrie
2019-08-08Show duration of selected item in context menuFlorrie
This takes the place of the number of direct children items (opting to show just the total number of tracks).
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-08-03Fix manually downloading tracksFlorrie
2019-07-30Don't stop playback when defocusing menubarFlorrie
2019-07-30"Pause when this track ends" optionFlorrie
2019-07-22"Reverse all" / "Reverse order of groups" optionsFlorrie
2019-07-19Don't use queue menu when multiple tracks selectedFlorrie
I.e, provide access to all options when multiple tracks are selected in the queue.
2019-07-19Don't crash when the queue is clicked!Florrie
2019-07-18Drag to select multiple itemsFlorrie
2019-07-18Fix layouting of context menus with scrollbarsFlorrie
2019-07-16Separate jump-to-item/search logic from UI codeFlorrie
2019-07-09Always display at least part of group nameFlorrie
...in PathElements. Particularly, in the queue listing, which is often too thin to display even a single group name.
2019-07-07PARTY MODEFlorrie
2019-07-07Support disabling process playback commandsFlorrie
2019-07-06Support disabling controlling the queueFlorrie
2019-07-06Support disabling playback controlsFlorrie
I don't think I'm going to disable controls in the telnet client (by default?), but it's good to have this implemented anyway.
2019-07-06Backendify playback info element controlsFlorrie
Oops!
2019-07-06Disallow suspending on telnet clientsFlorrie
Suspending doesn't really mean anything unless you're an actual process!
2019-07-06Support hiding the left paneFlorrie
Testing this out in the telnet client. Also some tweaks to tabber keybinding behavior.
2019-07-06Break event listeners up into separate functionsFlorrie
2019-07-06Experimental telnet serverFlorrie