summaryrefslogtreecommitdiff
path: root/nncmpp.c
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Bump liberty and termoPřemysl Eric Janouch2020-10-101-10/+6
|
* Make direct SHOUTcast streams work againPřemysl Eric Janouch2020-10-101-0/+4
| | | | | | 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.
* Remove unnecessary quotes from macro definitionsPřemysl Eric Janouch2020-09-201-73/+73
| | | | The behaviour is defined by the standard.
* Support iterating tabs with C-PgUp/Down and C-Left/RightPřemysl Eric Janouch2020-09-071-7/+29
|
* Support vi-like scrolling with C-y and C-ePřemysl Eric Janouch2020-08-011-0/+2
|
* Name changePřemysl Eric Janouch2020-08-011-1/+1
|