Přemysl Eric Janouch
353174ee3c
Spetrum analyser: expand my favourite comment
2021-07-09 20:08:53 +02:00
Přemysl Eric Janouch
2d641d087f
Spectrum analyser: add some useful comments
2021-07-09 06:25:48 +02:00
Přemysl Eric Janouch
20c8385f2e
Spectrum analyser: optimise the x:16:2 case
...
nncmpp CPU usage went from 2 to 1.7 percent, a 15% improvement.
Sort of worth it, given that it's a constant load.
The assembly certainly looks nicer.
2021-07-08 19:14:26 +02:00
Přemysl Eric Janouch
fa4443a3ce
Rectify an obsolete comment
2021-07-08 04:33:03 +02:00
Přemysl Eric Janouch
14ba637d4b
Expand the last comment once again
2021-07-08 04:32:53 +02:00
Přemysl Eric Janouch
66bc3f1c2c
Expand the comment on spectrum frequency filtering
2021-07-05 23:42:51 +02:00
Přemysl Eric Janouch
0646cea126
Silence a compiler warning
...
The statement can be eliminated, then it suggests braces.
2021-07-05 01:26:16 +02:00
Přemysl Eric Janouch
a439a56ee9
Add an optional spectrum visualiser
...
This is really more of a demo. It's doable, just rather ugly.
It would deserve some further tuning, if anyone cared enough.
2021-07-05 01:10:46 +02:00
Přemysl Eric Janouch
120a11ca1b
Update a comment about mouse modes
...
We might even depend on termo now more than is stated.
2021-07-04 10:23:37 +02:00
Přemysl Eric Janouch
7e531e95c5
Process focus events
...
Should help prevent accidents in other windows.
2021-06-29 05:28:54 +02:00
Přemysl Eric Janouch
ba122b7672
Minor clarifications
2020-11-05 01:47:05 +01:00
Přemysl Eric Janouch
e86f4b6908
Comment the "poll_elapsed_time" option
2020-10-24 15:44:12 +02:00
Přemysl Eric Janouch
26b6b1f902
Show song duration in the library
...
Ideally we'd make columns configurable, which isn't trivial.
This brings the "Current" and "Library" tabs closer together.
Closes #2
2020-10-24 14:58:53 +02:00
Přemysl Eric Janouch
8121046be6
Skip playlists in lsinfo responses
...
Instead of merging the fields into other items.
2020-10-24 14:58:48 +02:00
Přemysl Eric Janouch
0dc29a3e2d
Refactor the library tab, track duration
...
The `struct strv` was clunky, it's better to store items
directly in the format we use for all processing.
The additional memory cost is negligible.
2020-10-24 14:55:25 +02:00
Přemysl Eric Janouch
791c000791
Use '-' instead of '?' for unknown duration
...
It is less distracting.
Also use mpd_read_time() and load "duration" as well.
This value isn't rounded to whole seconds, so we load
it before "time" as a fail-safe measure.
2020-10-24 14:54:17 +02:00
Přemysl Eric Janouch
c0119027b1
Improve the MPD time parser
...
- reject negative values, which strtoul() happily accepts
- deal with an arbitrary number of decimal digits
- don't return milliseconds when we fail to parse seconds
2020-10-24 14:54:12 +02:00
Přemysl Eric Janouch
3934d9b1f9
Bind M-Up to the "up" action
...
Taken from Windows Explorer, which abandoned the Backspace binding.
2020-10-23 03:33:26 +02:00
Přemysl Eric Janouch
2d3909fdd1
Cleanup
...
No functional change.
2020-10-23 02:57:34 +02:00
Přemysl Eric Janouch
b6ce8a0913
Avoid jumping around in polling mode
...
While still avoiding busy loops.
It works well enough to enable this by default.
Closes #1
2020-10-23 02:42:18 +02:00
Přemysl Eric Janouch
9928eca274
Add a comment and update another one
2020-10-18 21:09:03 +02:00
Přemysl Eric Janouch
6c2ae2f6bb
Give up and implement elapsed time polling
...
Playback may sometimes stall but it won't produce any events.
This popular workaround likes to jump around, though.
It might be a good idea to use some kind of hybrid approach.
Therefore this is disabled by default so far.
Updates #1
2020-10-18 07:28:14 +02:00
Přemysl Eric Janouch
b3579d1128
Explain the ticking mechanism
...
Took time to read. Also fix an invalid comment.
2020-10-18 05:57:44 +02:00
Přemysl Eric Janouch
525e952753
Bump liberty and termo
2020-10-10 21:31:31 +02:00
Přemysl Eric Janouch
8707b38c48
Make direct SHOUTcast streams work again
...
Might be an issue specific to my bbc-on-ice, since we're not asking
for SHOUTcast by including "Icy-MetaData: 1" in request headers
but the proxy always outputs an "ICY 200 OK" header.
2020-10-10 14:48:22 +02:00
Přemysl Eric Janouch
7af041ac01
Remove unnecessary quotes from macro definitions
...
The behaviour is defined by the standard.
2020-09-20 13:18:07 +02:00
Přemysl Eric Janouch
e21699ab47
Support iterating tabs with C-PgUp/Down and C-Left/Right
2020-09-07 18:15:39 +02:00
Přemysl Eric Janouch
d124f43cf6
Support vi-like scrolling with C-y and C-e
2020-08-01 14:06:17 +02:00
Přemysl Eric Janouch
0e2a050c4f
Name change
2020-08-01 14:04:10 +02:00
Přemysl Eric Janouch
6c1546e919
Workaround cURL bug
2019-02-24 01:41:15 +01:00
Přemysl Eric Janouch
cdb86652b9
Fix unmarking behaviour, cleanup
2018-10-29 15:04:22 +01:00
Přemysl Eric Janouch
cbdec0552d
Allow moving multiple items in the Current tab
2018-10-29 14:45:25 +01:00
Přemysl Eric Janouch
2cd100af7a
Remove an outdated comment
2018-10-29 13:44:43 +01:00
Přemysl Eric Janouch
44ebc3591e
Make holding Shift+Up/Down behave better
2018-10-29 13:42:39 +01:00
Přemysl Eric Janouch
0691c533b4
Update selection on playlist changes
2018-10-29 13:22:56 +01:00
Přemysl Eric Janouch
6298235e22
Add actions for repeat/random/single/consume
...
Now the user can at least toggle them from the help tab,
or even bind them as necessary.
2018-10-29 09:58:43 +01:00
Přemysl Eric Janouch
841e2f79c0
Make help tab items actionable
2018-10-29 09:46:45 +01:00
Přemysl Eric Janouch
5ade0f082e
Show unbound actions in help
2018-10-29 09:19:34 +01:00
Přemysl Eric Janouch
a6543a796d
Implement multiselect for deletion in Current tab
2018-10-21 05:11:20 +02:00
Přemysl Eric Janouch
1349e39941
Add keyboard shortcut d for deletion
...
As in vi(1).
2018-10-21 05:10:04 +02:00
Přemysl Eric Janouch
f7e4d8d3d3
Add keyboard shortcuts g/G for goto top/bottom
...
As in less(1).
2018-10-21 04:20:06 +02:00
Přemysl Eric Janouch
8f362e787b
Add a search feature for Library tab
2018-10-21 04:17:05 +02:00
Přemysl Eric Janouch
609ddfab22
Cleanup
2018-10-20 22:22:26 +02:00
Přemysl Eric Janouch
804f051d66
Implement sequential multiselect for Library tab
2018-10-20 22:22:26 +02:00
Přemysl Eric Janouch
3c09a16a02
Fix input handling
...
When app_process_termo_event() returns false, it always means to beep,
not to quit the application.
2018-10-20 22:13:33 +02:00
Přemysl Eric Janouch
9c16ab4136
Mark an issue for later
2018-10-20 22:13:32 +02:00
Přemysl Eric Janouch
f241a7016a
Move the line editor into its own file
...
Trying to make it reusable in other projects.
2018-10-20 22:13:32 +02:00
Přemysl Eric Janouch
e957bba771
Use a common algorithm for scrollbars
...
Let's have reasonable behaviour with Unicode one as well.
2018-10-20 04:27:35 +02:00
Přemysl Eric Janouch
3fd88d593c
Improve fallback scrollbar behaviour
2018-10-20 02:51:09 +02:00
Přemysl Eric Janouch
caba65b2bc
Bind the </> keys to previous/next
...
As in mpv.
2018-09-26 04:02:35 +02:00
Přemysl Eric Janouch
9b38c4c74f
Fix undefined behaviour
2018-07-21 23:36:13 +02:00
Přemysl Eric Janouch
7f8ad9430f
Relicense to 0BSD, update mail address
...
I've come to the conclusion that copyright mostly just stands in the way
of software development. In my jurisdiction I cannot give up my own
copyright and 0BSD seems to be the closest thing to public domain.
The updated mail address, also used in my author/committer lines,
is shorter and looks nicer. People rarely interact anyway.
2018-06-24 04:29:24 +02:00
Přemysl Eric Janouch
0f350f88b3
Cleanup
2017-06-27 04:35:02 +02:00
Přemysl Eric Janouch
a1831a3ab8
Reorganize actions
2017-06-27 04:31:08 +02:00
Přemysl Eric Janouch
021bc214a3
Improve the Help tab
...
There are now up to three bindings per action by default, so grouping
is desirable. We can even follow the more or less logical order given
by enumeration values.
It should be much easier to find what you need.
2017-06-27 04:31:08 +02:00
Přemysl Eric Janouch
23efe3bfdf
Cleanup
2017-06-27 04:31:08 +02:00
Přemysl Eric Janouch
4bb9b11fed
Customizable key bindings
2017-06-27 04:31:04 +02:00
Přemysl Eric Janouch
2375e0dd3e
Make Del/Bksp eat whole graphemes
...
Tested on some zalgo text.
2017-06-26 04:54:56 +02:00
Přemysl Eric Janouch
7d414c7647
Make left/right skip non-spacing characters
2017-06-26 04:19:42 +02:00
Přemysl Eric Janouch
33f5ba0b60
Allow running arbitrary MPD commands
2017-06-26 03:51:53 +02:00
Přemysl Eric Janouch
4261c81468
Teach the line editor to scroll + prompt
2017-06-26 03:50:29 +02:00
Přemysl Eric Janouch
6b2def7531
Clean up the line editor
2017-06-26 01:59:55 +02:00
Přemysl Eric Janouch
9fc690c4c9
Cache widths in the line editor
2017-06-26 01:48:38 +02:00
Přemysl Eric Janouch
ba3302982e
Basic implementation of a line editor
...
Not yet used anywhere.
2017-06-26 00:01:24 +02:00
Přemysl Eric Janouch
f71eee66bd
Rename item_list_{init,make}()
2017-06-23 00:20:08 +02:00
Přemysl Eric Janouch
3ff7867e30
Bump liberty
2017-06-23 00:20:08 +02:00
Přemysl Eric Janouch
99f35a509c
Handle weird playlists better
2017-06-22 21:25:52 +02:00
Přemysl Eric Janouch
88455f03bf
Cleanup
2017-06-13 17:06:31 +02:00
Přemysl Eric Janouch
d0c0af0e38
Allow modifying playlist order
2017-06-05 22:19:39 +02:00
Přemysl Eric Janouch
c5fcc1c8c1
More beeping
2017-06-05 22:19:12 +02:00
Přemysl Eric Janouch
7f66f801f4
Give up on freeing tab resources
2017-06-05 21:34:50 +02:00
Přemysl Eric Janouch
1dbece753e
Auto-resume playback on replace
2017-06-05 21:20:31 +02:00
Přemysl Eric Janouch
19605f9b7b
Use song IDs when available
2017-06-05 20:54:50 +02:00
Přemysl Eric Janouch
cadc846fd4
Cleanup
2017-06-05 20:26:28 +02:00
Přemysl Eric Janouch
34bbff2f71
Remove a pointless TODO
2017-06-05 20:14:49 +02:00
Přemysl Eric Janouch
abb5022793
Invalidate a TODO
2017-06-05 20:09:47 +02:00
Přemysl Eric Janouch
e0e63cb177
Make code a bit more compact
2017-06-05 20:02:21 +02:00
Přemysl Eric Janouch
627cb0dee9
Add and bind backward/forward seeks
2017-06-05 19:57:00 +02:00
Přemysl Eric Janouch
77c78d8866
Fix a little glitch
2017-06-05 19:50:04 +02:00
Přemysl Eric Janouch
7b41ae1658
Simplify view code
...
Now we beep if selection movement is impossible.
It still looks a bit more obfuscated than it needs to be.
2017-06-05 19:39:06 +02:00
Přemysl Eric Janouch
e62c41f4a1
Use the ARRAY abstraction
2017-06-05 18:59:23 +02:00
Přemysl Eric Janouch
b050113eed
Show playlist length time
...
Now we look distinctly Sonata-like.
2017-06-05 18:51:18 +02:00
Přemysl Eric Janouch
0541b7e179
Uncapitalize cURL errors
2017-06-05 13:05:33 +02:00
Přemysl Eric Janouch
99f2117d4c
Implement L/M/H bindings
2017-06-05 01:24:10 +02:00
Přemysl Eric Janouch
8c260c3fc3
Only display enabled options
2017-06-05 01:09:55 +02:00
Přemysl Eric Janouch
a343156930
Show the current path in Library
...
The UI code is totally ad-hoc and ugly.
2017-06-05 00:56:34 +02:00
Přemysl Eric Janouch
2223680504
Add interface for database updates
2017-06-05 00:18:53 +02:00
Přemysl Eric Janouch
92f350ef04
Stop eating errors
...
Instead show them up in the status bar with a timeout.
2017-06-04 23:58:04 +02:00
Přemysl Eric Janouch
c4965726f4
Add a basic statusbar
...
Unfortunately so far the user can't toggle the options.
2017-06-04 23:08:36 +02:00
Přemysl Eric Janouch
e808d06651
Cleanup
2017-06-04 04:32:30 +02:00
Přemysl Eric Janouch
8c3b0670ce
Remember the position when browsing Library
2017-06-04 04:32:30 +02:00
Přemysl Eric Janouch
e8a0864ead
Add an attribute for directories
...
Completely overrides row colors though.
2017-06-04 04:32:29 +02:00
Přemysl Eric Janouch
57b4a9688d
Only change path when we get its contents
2017-06-04 04:32:25 +02:00
Přemysl Eric Janouch
653ff1373f
Don't default to negative selection
2017-06-04 03:04:35 +02:00
Přemysl Eric Janouch
86b87bee74
Cleanup
2017-06-04 03:04:35 +02:00
Přemysl Eric Janouch
5721074b48
Make backspace go up a level
2017-06-03 23:33:08 +02:00
Přemysl Eric Janouch
a1436318b6
Improve SIGWINCH handling
2017-06-03 23:03:38 +02:00
Přemysl Eric Janouch
a1548bed00
Fix and update LICENSE
2017-02-03 23:09:25 +01:00
Přemysl Eric Janouch
f9c85e3ef2
Don't show "playing" when we don't know
2017-01-29 18:21:27 +01:00
Přemysl Eric Janouch
4cc079b6b6
Fix segfault on insufficient privileges
2017-01-29 18:18:58 +01:00