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