todo.txt 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. TODO: A way to see the path of the currently selected item in any grouplike
  2. element. Each item in the path should be a button that, when pressed,
  3. makes the MAIN grouplike view navigate there.
  4. (Done!)
  5. TODO: A "shuffle queue" button!
  6. (Half-way done -- the functionality is there, press "S", but there's no
  7. button for it yet.)
  8. TODO: A "clear queue" button.
  9. TODO: A way to jump to an item with a particular name. Probably press "/".
  10. It'd be nice if the closest match got highlighted while you were typing.
  11. (Done!)
  12. TODO: "Queue to play next"... maybe also a cursor in the queue list, which
  13. would tell after what track to place newly-queued items?
  14. (Done!)
  15. TODO: Scroll to the selected track once it starts playing when selected from
  16. the queue.
  17. TODO: process.on('SIGWINCH', () => ...) -- detect terminal resize!!
  18. (Done!)
  19. TODO: Pressing enter in the queue seems to not be doing the right thing?
  20. It should NOT move the selected item anywhere in the queue; it should
  21. just select and play that track.
  22. (Done!)
  23. TODO: iTunes downloader - test this.
  24. TODO: Warn if no mkfifo (means controls won't work).
  25. TODO: file:// support for crawl-local.
  26. (Done!)
  27. TODO: Pass YouTube playlist or http://.../playlist.json-like URLs to use them
  28. as playlists (crawl automatically).
  29. (Done!)
  30. TODO: There's some weird glitch where, if downloaderArg is missing (=== ""),
  31. it'll play.. something by Jake Chudnow?? -- Okay, looks like it's using
  32. ~/.mtui/downloads/<locallink, etc>/ as the directory for where it would
  33. put the download file (because it's .../localink/ + encode(dlArg) and
  34. dlArg is empty). The way the cache works is that it checks if there is
  35. already a file in that directory, and there IS: a directory for another
  36. track download! But the cache doesn't know this; it just thinks that
  37. directory is the MP3 file (or whatever). So it returns it. MPV works fine
  38. if you pass it a directory that contains music files, so in my case,
  39. 72_food (by Jake Chudnow) plays. (That's the first thing returned by
  40. readdir, I suppose.)
  41. (Done!)
  42. TODO: Mouse support, obviously.
  43. TODO: Ctrl-O'ing a playlist sets the left-pane's selected index to the second
  44. item, for some reason. (Regardless of what you had selected before..)
  45. TODO: "Open in new tab" in the Open prompt.
  46. TODO: Inspect the inevitable memory issues that are absolutely 100% sure to
  47. become a problem with opening playlists on the fly.
  48. TODO: Cancelling the "enter a playlist source" dialog shouldn't also stop the
  49. current song.
  50. (Done!)
  51. TODO: Move TabberElement to tui-lib, at some point.
  52. TODO: Make PathElements selectable (again).
  53. (Done!)
  54. TODO: Make the tabber UI show handy information, like what tab you've got
  55. selected, how many tabs there are, the usual (same way a browser tabber
  56. works).
  57. (Done!)
  58. TODO: A "bookmarked playlists" list in the UI, so you can quickly load up
  59. playlists you often use. (Let anything go here, like YT playlist URLs,
  60. file paths, etc.)
  61. TODO: Get rid of "WARNING: unable to extract uploader nickname", which comes
  62. from youtube-dl.
  63. (Done!)
  64. TODO: Fix crashes related to the window resizing while a download is occurring
  65. (i.e. the braille "download spinner" is showing). Very weird!
  66. TODO: Investigate performance issues with very very long ListScrollForms.
  67. (Done!)
  68. TODO: At some point, putting mtui downloads in ~/.mtui - but preferrably with
  69. a more humanish structure - would be quite nice..!
  70. TODO: Press "M" to show a context menu. (Done!)
  71. TODO: Figure out a keybinding for Mark (in edit mode) - probably Ctrl-M.
  72. (I prefer Ctrl to be used for functions that will open a dialog of some
  73. sort, though..)
  74. TODO: Only show scrollbars if the form is actually scrollable. (This would make
  75. context menus look better.)
  76. TODO: "Play" (now), in the context menu, should act like a queue-up-next, not a
  77. queue-at-end. (Done!)
  78. TODO: Make the queue code more sane.
  79. (Done!)
  80. TODO: Figure out when the "queue" context menu options should immediately play
  81. the track. Currently, they don't ever initiate playing (besides the
  82. "Play now" option).
  83. TODO: A "remove from queue" option for tracks and groups, which removes them
  84. and their children from the queue.
  85. (Done!)
  86. TODO: After the end of a shuffled queue, the next song from the group of the
  87. last track is played (and so on, until the group is empty). This seems
  88. definitely wrong.
  89. TODO: Show a preview of where "Jump to" will go while typing.
  90. (Done!)
  91. TODO: Cancelling "Jump to" should return the selected index to whatever it was
  92. before.
  93. (Done!)
  94. TODO: Entering more than one key "at once" into a text input element will only
  95. move the cursor right by one character, not by the length of the inputted
  96. text. (This is an issue when pasting or spamming the keyboard.) Should be
  97. fixed in tui-lib.
  98. (Done!)
  99. TODO: Pressing space while an "Up (to <group>)" button is selected both
  100. activates the button and pauses music (because the app detects that the
  101. space key is pressed). This is definitely wrong (it should do one or the
  102. other - I'm not too sure which, yet, but probably the latter). (Done!)
  103. TODO: If a track's file is a symlink, the "From:" label should show where it
  104. links to.
  105. TODO: The "Up (to <group>)" and "(This group has no items)" elements are not
  106. quite buttons nor grouplike items. They should be more consistent with
  107. actual grouplike items (i.e. same behavior and appearance), and should
  108. be less buggy. (Done!)
  109. TODO: "Distribute" options in play/queue menu -- "don't distribute", "spread
  110. (across queue?) evenly", "spread randomly". (Done!)
  111. TODO: Investigate how to make "distribute" options work better when the
  112. currently-playing song is contained in the group to be distributed.
  113. TODO: The "distribute" options shouldn't show up when you've only got a track
  114. selected! But imagine you already had a "distribute" option selected when
  115. you open up the menu on a track. Is there a way to not mutate the index
  116. of the whereControl in that case (until the user changes the option)?
  117. Like the DS home screen.