summaryrefslogtreecommitdiff
path: root/nncmpp.c
Commit message (Collapse)AuthorAgeFilesLines
...
* X11: improve rendering of denormalized textPřemysl Eric Janouch2022-08-231-4/+14
| | | | Xft is dumb.
* X11: clean up after Xft on exitPřemysl Eric Janouch2022-08-231-0/+7
|
* X11: use input methods, abandon xkbcommonPřemysl Eric Janouch2022-08-231-17/+74
| | | | And fix a redundant XCreatePixmap() call leaking resources.
* Add an X11 user interfacePřemysl Eric Janouch2022-08-231-580/+1948
| | | | | | | | | This is meant to exactly mimic the terminal UI, just without the restriction to ugly monospace fonts. The Curses implementation has been reworked, and may have become more computationally expensive. In general, though, the codebase has been significantly cleaned up.
* Fix event processing with PulseAudio integrationPřemysl Eric Janouch2022-08-191-0/+1
|
* Mark an invalid assumptionPřemysl Eric Janouch2022-08-181-0/+1
|
* Add and bind an action to center the cursorPřemysl Eric Janouch2021-12-231-2/+17
| | | | "z" stands for VIM's "zz".
* Fix up coding style inconsistencyPřemysl Eric Janouch2021-12-211-1/+1
|
* Make incremental search more usefulPřemysl Eric Janouch2021-12-211-6/+11
| | | | Make it unanchored, as well as case-insensitive.
* Indicate that a stream download is in progressPřemysl Eric Janouch2021-12-081-0/+2
|
* Do not run cURL fully synchronouslyPřemysl Eric Janouch2021-12-081-42/+54
| | | | The improvement is very minor in character.
* Add rudimentary incremental search facilityPřemysl Eric Janouch2021-12-081-2/+52
|
* Clean up mpd_process_info() betterPřemysl Eric Janouch2021-12-071-9/+9
|
* Do not jump to beginning after unqueueingPřemysl Eric Janouch2021-12-071-0/+13
| | | | | Instead, assume that the whole previously selected range has been removed, and try to go after or before it accordingly.
* Clean up unreadable codePřemysl Eric Janouch2021-12-071-12/+11
|
* Do not show both volumes if unnecessaryPřemysl Eric Janouch2021-11-161-18/+32
| | | | Also, make it apparent which value comes from where.
* Fix the comment for settings.pulseaudioPřemysl Eric Janouch2021-11-081-1/+1
|
* Generate actions from a text filePřemysl Eric Janouch2021-11-081-111/+5
| | | | | | | Mostly because I wanted to nest preprocessing. This makes the build more complex and slightly less portable, but the code itself is much cleaner.
* Add ability to control PulseAudio volumePřemysl Eric Janouch2021-11-071-69/+456
| | | | | | | | 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.
* Add a comment about the music directoryPřemysl Eric Janouch2021-11-071-0/+1
|
* Do not beep on focus changesPřemysl Eric Janouch2021-11-041-3/+5
|
* CMakeLists.txt: fix macOS buildPřemysl Eric Janouch2021-11-021-2/+0
|
* Add clang-format configurationPřemysl Eric Janouch2021-10-301-1/+1
|
* Fix the line editor/spectrum analyser interactionPřemysl Eric Janouch2021-10-211-0/+6
| | | | The updater assumed the terminal cursor was invisible.
* Add program arguments to MPD's current playlistPřemysl Eric Janouch2021-09-071-10/+79
| | | | | | | | 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.
* Clean up connection initialisationPřemysl Eric Janouch2021-09-061-10/+10
| | | | | | | 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.
* Improve terminal initialisationPřemysl Eric Janouch2021-09-061-3/+3
| | | | | | | | | | | | | 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.
* Spetrum analyser: expand my favourite commentPřemysl Eric Janouch2021-07-091-1/+2
|
* Spectrum analyser: add some useful commentsPřemysl Eric Janouch2021-07-091-0/+4
|
* Spectrum analyser: optimise the x:16:2 casePřemysl Eric Janouch2021-07-081-8/+21
| | | | | | | | 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.
* Rectify an obsolete commentPřemysl Eric Janouch2021-07-081-1/+1
|
* Expand the last comment once againPřemysl Eric Janouch2021-07-081-0/+1
|
* Expand the comment on spectrum frequency filteringPřemysl Eric Janouch2021-07-051-2/+11
|
* Silence a compiler warningPřemysl Eric Janouch2021-07-051-1/+2
| | | | The statement can be eliminated, then it suggests braces.
* Add an optional spectrum visualiserPřemysl Eric Janouch2021-07-051-0/+464
| | | | | | This is really more of a demo. It's doable, just rather ugly. It would deserve some further tuning, if anyone cared enough.
* Update a comment about mouse modesPřemysl Eric Janouch2021-07-041-2/+2
| | | | We might even depend on termo now more than is stated.
* Process focus eventsPřemysl Eric Janouch2021-06-291-3/+17
| | | | Should help prevent accidents in other windows.
* Minor clarificationsPřemysl Eric Janouch2020-11-051-1/+3
|
* Comment the "poll_elapsed_time" optionPřemysl Eric Janouch2020-10-241-0/+6
|
* Show song duration in the libraryPřemysl Eric Janouch2020-10-241-4/+11
| | | | | | | | Ideally we'd make columns configurable, which isn't trivial. This brings the "Current" and "Library" tabs closer together. Closes #2
* Skip playlists in lsinfo responsesPřemysl Eric Janouch2020-10-241-4/+11
| | | | Instead of merging the fields into other items.
* Refactor the library tab, track durationPřemysl Eric Janouch2020-10-241-66/+73
| | | | | | 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.
* Use '-' instead of '?' for unknown durationPřemysl Eric Janouch2020-10-241-34/+33
| | | | | | | | 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.
* Improve the MPD time parserPřemysl Eric Janouch2020-10-241-9/+18
| | | | | | - 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
* Bind M-Up to the "up" actionPřemysl Eric Janouch2020-10-231-0/+1
| | | | Taken from Windows Explorer, which abandoned the Backspace binding.
* CleanupPřemysl Eric Janouch2020-10-231-25/+30
| | | | No functional change.
* Avoid jumping around in polling modePřemysl Eric Janouch2020-10-231-7/+18
| | | | | | | | While still avoiding busy loops. It works well enough to enable this by default. Closes #1
* Add a comment and update another onePřemysl Eric Janouch2020-10-181-0/+4
|
* Give up and implement elapsed time pollingPřemysl Eric Janouch2020-10-181-4/+35
| | | | | | | | | | | 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
* Explain the ticking mechanismPřemysl Eric Janouch2020-10-181-1/+7
| | | | Took time to read. Also fix an invalid comment.