« get me outta code hell

todo.txt - mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
path: root/todo.txt
blob: 680f5e9b9475b23a66efe65c04a078570dc713bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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.

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: Canceling the "enter a playlist source" dialog also stops the current song.

TODO: Move TabberElement to tui-lib, at some point.

TODO: Make PathElements selectable (again).

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.

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).