6b871898d8
Fix build on macOS and other non-GNU systems
2021-11-08 06:36:01 +01:00
4598c45d2f
Generate actions from a text file
...
Mostly because I wanted to nest preprocessing.
This makes the build more complex and slightly less portable,
but the code itself is much cleaner.
2021-11-08 06:07:04 +01:00
66c77c3f8d
Update README
2021-11-07 23:21:32 +01:00
7165a8eb02
Add ability to control PulseAudio volume
...
I know, son, it might be hard to accept,
but you're imported. Your true parents are wmstatus
and paswitch, from the desktop-tools family.
Also, fix unnecessary linking of optional dependencies.
2021-11-07 23:07:55 +01:00
87b57bb24c
Add a comment about the music directory
2021-11-07 13:29:13 +01:00
ba86961ba5
Bump version, update NEWS
2021-11-04 14:19:50 +01:00
0cdb4989e5
Bump termo
2021-11-04 14:16:25 +01:00
6de940fe96
Do not beep on focus changes
2021-11-04 13:24:15 +01:00
6bd8c1db2f
CMakeLists.txt: fix macOS build
2021-11-02 17:17:32 +01:00
56efe9c6a9
Update .gitignore
2021-10-30 03:35:49 +02:00
8a17e674f8
CMakeLists.txt: clean up
2021-10-30 03:02:00 +02:00
bd0ee66c19
Add clang-format configuration
2021-10-30 03:02:00 +02:00
6f6efe077b
CMakeLists.txt: synchronize with sdtui
2021-10-27 19:48:47 +02:00
ee5c41b2bf
README: update dependencies
2021-10-21 09:21:08 +02:00
9a67e076a9
Bump version, update NEWS
2021-10-21 09:16:51 +02:00
53fbb3dec1
Fix the line editor/spectrum analyser interaction
...
The updater assumed the terminal cursor was invisible.
2021-10-21 09:13:07 +02:00
267598643a
Add program arguments to MPD's current playlist
...
I was tired of using `mpv --no-video`, this is a bit better.
It's all rather quirky, but very little code is involved.
I've added a few related TODO entries.
2021-09-07 06:35:24 +02:00
fba1210e9f
Clean up connection initialisation
...
Also, do not set up the spectrum visualiser before a password is sent.
It would look a bit weird to have it run but display "Disconnected",
even though technically, it would probably work.
2021-09-06 21:48:27 +02:00
30777e8fd3
Improve terminal initialisation
...
Don't just abort() on failures, print a proper error message.
Also, set up ncurses as late as possible. This should be alright wrt.
signal handlers according to ncurses code, as well as XSI:
> Curses implementations may provide for special handling of
> the SIGINT, SIGQUIT and SIGTSTP signals if their disposition
> is SIG_DFL at the time initscr is called ...
termo blocks job control, so SIGTSTP is not a concern at all.
2021-09-06 21:30:03 +02:00
353174ee3c
Spetrum analyser: expand my favourite comment
2021-07-09 20:08:53 +02:00
2d641d087f
Spectrum analyser: add some useful comments
2021-07-09 06:25:48 +02:00
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
fa4443a3ce
Rectify an obsolete comment
2021-07-08 04:33:03 +02:00
14ba637d4b
Expand the last comment once again
2021-07-08 04:32:53 +02:00
66bc3f1c2c
Expand the comment on spectrum frequency filtering
2021-07-05 23:42:51 +02:00
0646cea126
Silence a compiler warning
...
The statement can be eliminated, then it suggests braces.
2021-07-05 01:26:16 +02:00
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
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
7e531e95c5
Process focus events
...
Should help prevent accidents in other windows.
2021-06-29 05:28:54 +02:00
0335443b22
Bump version, update NEWS
2020-11-05 01:47:18 +01:00
70ff29e3d5
Add a real manual page
...
Closes #3
2020-11-05 01:47:06 +01:00
ba122b7672
Minor clarifications
2020-11-05 01:47:05 +01:00
456fab5b11
CMakeLists.txt: install the contrib directory
2020-11-05 01:47:05 +01:00
f4999a63a5
CMakeLists.txt: make this build in OpenBSD
2020-10-29 18:14:41 +01:00
33b4976d7a
CMakeLists.txt: omit end{if,foreach} expressions
...
Their usefulness was almost negative.
2020-10-29 18:14:41 +01:00
df82357cfd
Bump minimum CMake version to 3.0
...
A nice, round number. This allows us to remove some boilerplate.
2020-10-29 18:14:41 +01:00
bd5152a9e7
Bump termo
...
This allows us to get rid of a compiler flag.
2020-10-29 18:14:40 +01:00
322a60aa39
Bump liberty
2020-10-29 18:14:40 +01:00
e86f4b6908
Comment the "poll_elapsed_time" option
2020-10-24 15:44:12 +02:00
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
8121046be6
Skip playlists in lsinfo responses
...
Instead of merging the fields into other items.
2020-10-24 14:58:48 +02:00
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
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
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
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
2d3909fdd1
Cleanup
...
No functional change.
2020-10-23 02:57:34 +02:00
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
9928eca274
Add a comment and update another one
2020-10-18 21:09:03 +02:00
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
b3579d1128
Explain the ticking mechanism
...
Took time to read. Also fix an invalid comment.
2020-10-18 05:57:44 +02:00