123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- TODO: A way to see the path of the currently selected item in any grouplike
- element. Each item in the path should be a button that, when pressed,
- makes the MAIN grouplike view navigate there.
- (Done!)
- TODO: A "shuffle queue" button!
- (Half-way done -- the functionality is there, press "S", but there's no
- button for it yet.)
- TODO: A "clear queue" button.
- TODO: A way to jump to an item with a particular name. Probably press "/".
- It'd be nice if the closest match got highlighted while you were typing.
- (Done!)
- TODO: "Queue to play next"... maybe also a cursor in the queue list, which
- would tell after what track to place newly-queued items?
- (Done!)
- TODO: Scroll to the selected track once it starts playing when selected from
- the queue.
- TODO: process.on('SIGWINCH', () => ...) -- detect terminal resize!!
- (Done!)
- TODO: Pressing enter in the queue seems to not be doing the right thing?
- It should NOT move the selected item anywhere in the queue; it should
- just select and play that track.
- (Done!)
- TODO: iTunes downloader - test this.
- TODO: Warn if no mkfifo (means controls won't work).
- TODO: file:// support for crawl-local.
- (Done!)
- TODO: Pass YouTube playlist or http://.../playlist.json-like URLs to use them
- as playlists (crawl automatically).
- (Done!)
- TODO: There's some weird glitch where, if downloaderArg is missing (=== ""),
- it'll play.. something by Jake Chudnow?? -- Okay, looks like it's using
- ~/.mtui/downloads/<locallink, etc>/ as the directory for where it would
- put the download file (because it's .../localink/ + encode(dlArg) and
- dlArg is empty). The way the cache works is that it checks if there is
- already a file in that directory, and there IS: a directory for another
- track download! But the cache doesn't know this; it just thinks that
- directory is the MP3 file (or whatever). So it returns it. MPV works fine
- if you pass it a directory that contains music files, so in my case,
- 72_food (by Jake Chudnow) plays. (That's the first thing returned by
- readdir, I suppose.)
- (Done!)
- TODO: Mouse support, obviously.
- TODO: Ctrl-O'ing a playlist sets the left-pane's selected index to the second
- item, for some reason. (Regardless of what you had selected before..)
- TODO: "Open in new tab" in the Open prompt.
- TODO: Inspect the inevitable memory issues that are absolutely 100% sure to
- become a problem with opening playlists on the fly.
- TODO: Cancelling the "enter a playlist source" dialog shouldn't also stop the
- current song.
- (Done!)
- TODO: Move TabberElement to tui-lib, at some point.
- TODO: Make PathElements selectable (again).
- (Done!)
- TODO: Make the tabber UI show handy information, like what tab you've got
- selected, how many tabs there are, the usual (same way a browser tabber
- works).
- (Done!)
- TODO: A "bookmarked playlists" list in the UI, so you can quickly load up
- playlists you often use. (Let anything go here, like YT playlist URLs,
- file paths, etc.)
- TODO: Get rid of "WARNING: unable to extract uploader nickname", which comes
- from youtube-dl.
- (Done!)
- TODO: Fix crashes related to the window resizing while a download is occurring
- (i.e. the braille "download spinner" is showing). Very weird!
- TODO: Investigate performance issues with very very long ListScrollForms.
- (Done!)
- TODO: At some point, putting mtui downloads in ~/.mtui - but preferrably with
- a more humanish structure - would be quite nice..!
- TODO: Press "M" to show a context menu. (Done!)
- TODO: Figure out a keybinding for Mark (in edit mode) - probably Ctrl-M.
- (I prefer Ctrl to be used for functions that will open a dialog of some
- sort, though..)
- TODO: Only show scrollbars if the form is actually scrollable. (This would make
- context menus look better.)
- TODO: "Play" (now), in the context menu, should act like a queue-up-next, not a
- queue-at-end. (Done!)
- TODO: Make the queue code more sane.
- (Done!)
- TODO: Figure out when the "queue" context menu options should immediately play
- the track. Currently, they don't ever initiate playing (besides the
- "Play now" option).
- TODO: A "remove from queue" option for tracks and groups, which removes them
- and their children from the queue.
- (Done!)
- TODO: After the end of a shuffled queue, the next song from the group of the
- last track is played (and so on, until the group is empty). This seems
- definitely wrong.
- TODO: Show a preview of where "Jump to" will go while typing.
- (Done!)
- TODO: Cancelling "Jump to" should return the selected index to whatever it was
- before.
- (Done!)
- TODO: Entering more than one key "at once" into a text input element will only
- move the cursor right by one character, not by the length of the inputted
- text. (This is an issue when pasting or spamming the keyboard.) Should be
- fixed in tui-lib.
- (Done!)
- TODO: Pressing space while an "Up (to <group>)" button is selected both
- activates the button and pauses music (because the app detects that the
- space key is pressed). This is definitely wrong (it should do one or the
- other - I'm not too sure which, yet, but probably the latter). (Done!)
- TODO: If a track's file is a symlink, the "From:" label should show where it
- links to.
- TODO: The "Up (to <group>)" and "(This group has no items)" elements are not
- quite buttons nor grouplike items. They should be more consistent with
- actual grouplike items (i.e. same behavior and appearance), and should
- be less buggy. (Done!)
- TODO: "Distribute" options in play/queue menu -- "don't distribute", "spread
- (across queue?) evenly", "spread randomly". (Done!)
- TODO: Investigate how to make "distribute" options work better when the
- currently-playing song is contained in the group to be distributed.
- TODO: The "distribute" options shouldn't show up when you've only got a track
- selected! But imagine you already had a "distribute" option selected when
- you open up the menu on a track. Is there a way to not mutate the index
- of the whereControl in that case (until the user changes the option)?
- Like the DS home screen.
|