command: include cleanup
mpdclient: connect to MPD asynchronously
This way, the user can really cancel the connection attempt at any
time, and does not need to wait for a timeout.
This duplicates some code from libmpdclient, but unfortunately
libmpdclient doesn't expose a usable API for connecting asynchronously
yet.
This way, the user can really cancel the connection attempt at any
time, and does not need to wait for a timeout.
This duplicates some code from libmpdclient, but unfortunately
libmpdclient doesn't expose a usable API for connecting asynchronously
yet.
mpdclient: move code to mpdclient_connected()
configure.ac: remove redundant variable assignments
These are implied by autoconf.
These are implied by autoconf.
mpdclient: eliminate redundant mpd_status_get_volume() calls
Return early from mpdclient_cmd_volume_*(), without calling
mpdclient_get_connection(), if we already know the operation would
have no effect.
Return early from mpdclient_cmd_volume_*(), without calling
mpdclient_get_connection(), if we already know the operation would
have no effect.
main: remove check_reconnect()
Assume that mpdclient_lost_callback() is everything we need to
implement.
Assume that mpdclient_lost_callback() is everything we need to
implement.
mpdclient: call mpdclient_lost_callback() after failed error recovery
mpdclient: no mpdclient_handle_error() after connect failure
Invoke the error callback, but don't attempt to recover.
Invoke the error callback, but don't attempt to recover.
mpdclient: automatically re-enter idle mode, eliminate mpdclient_put_connection()
main: remove redundant mpdclient_disconnect() call
mpdclient: pass host, port etc. to constructor
main: move signal handlers to signals.c
main: use g_unix_signal_add() for SIGTERM, SIGINT and SIGHUP
Unfortunately, GLib doesn't support SIGWINCH and SIGCONT, for whatever
reasons.
Unfortunately, GLib doesn't support SIGWINCH and SIGCONT, for whatever
reasons.
configure.ac: require GLib 2.30 (for signal handlers)
main: merge catch_sigcont() and catch_sigwinch()
m4/ax_with_curses.m4: update from upstream
m4/ax_append_*_flags.m4: update from upstream
main: remove unused function sigstop()
plugin: call g_io_channel_unref() early, eliminate "channel" attribute
plugin: add plugin_pipe.cycle pointer
Replaces the fragile if/else in plugin_data().
Replaces the fragile if/else in plugin_data().
main: do_input_event() returns bool
main: move keyboard_event() to keyboard.c
main: eliminate another local dummy variable
main: move "#ifdef ENABLE_LIRC" to lirc.h"
lirc: rename public functions
main: move LIRC GIOChannel setup to lirc.c
main: call g_io_channel_unref() early
Release the reference right after registering the channel in the event
loop. We don't need the reference, and the main loop has its own
reference.
Release the reference right after registering the channel in the event
loop. We don't need the reference, and the main loop has its own
reference.
main: merge exit_and_cleanup() into main()
There's no point in having this function that is called only once.
There's no point in having this function that is called only once.
mpdclient: convert port to "unsigned"
mpdclient: remove unnecessary NULL check
callbacks: add "connected" and "failed" callback
More preparations for asynchronous connect.
More preparations for asynchronous connect.
mpdclient: add _is_dead()
Prepare for asynchronous connect.
Prepare for asynchronous connect.
mpdclient: add "playing" attribute
Cache the mpd_status_get_state()==MPD_STATE_PLAY value which is used
pretty often.
Cache the mpd_status_get_state()==MPD_STATE_PLAY value which is used
pretty often.
main: remove unnecessary "mpd!=NULL" checks
mpdclient: reorder attributes for better packing
mpdclient: move volume reset to _status_free()
Make sure that volume gets reset whenever status==NULL, also in
mpdclient_disconnect().
Make sure that volume gets reset whenever status==NULL, also in
mpdclient_disconnect().
mpdclient: move code to mpdclient_status_free()
mpdclient: remove unused attribute "update_id"
mpdclient: update the "source" documentation
mpdclient: wrap the idle callback, unified error handling
mpdclient: convert UTF-8 error message to locale charset
Provide a consistent, documented API.
Provide a consistent, documented API.
mpdclient: move code to mpdclient_invoke_error_callback()
mpdclient: include cleanup
mpdclient: remove unused macro BUFSIZE
mpdclient: remove unused function compare_filelistentry_format()
main: move mpd_glib_new() call to mpdclient.c
callbacks: rename functions
screen_client: move functions to callbacks.c
main: remove redundant mpdclient_disconnect() call
mpdclient_free() will do this implicitly.
mpdclient_free() will do this implicitly.
main: remove the "idle" fallback code
ncmpc has been requiring MPD 0.14+ for 7 years (commit e25d7523), and
we really don't need the timer fallback. "idle" just has to be
supported.
ncmpc has been requiring MPD 0.14+ for 7 years (commit e25d7523), and
we really don't need the timer fallback. "idle" just has to be
supported.
configure.ac: remove redundant libmpdclient version test
Obsoleted by 323d2239df7d8b6a3b8005f14c7e90b5271a77e9
Obsoleted by 323d2239df7d8b6a3b8005f14c7e90b5271a77e9
Makefile.am: merge ncmpc_headers into src_ncmpc_SOURCES
update copyright year
main: eliminate local dummy variable
command: fix swapped help texts
screen_song: show "dsd64" etc. shortcuts
screen_song: show "f" and "dsd" formats
screen_song: move code to audio_format_to_string()
screen_{find,search}: work around gcc7 -Wimplicit-fallthrough
Compiler.h: exclude clang from GCC_CHECK_VERSION()
Compiler.h: reimplement GCC_CHECK_VERSION() using GCC_MAKE_VERSION()
Compiler.h: add macro CLANG_OR_GCC_VERSION()
Compiler.h: add macro GCC_OLDER_THAN()
Compiler.h: add macro CLANG_VERSION
Compiler.h: add macro GCC_MAKE_VERSION()
require libmpdclient 2.9, remove several #ifdefs
lyrics: lyrics area regex fix for LyricWikia
configure.ac: detect lirc 0.9.4
configure.ac: prepare for 0.26
release v0.25
strfsong: implement "%disc%"
https://bugs.musicpd.org/view.php?id=4479
https://bugs.musicpd.org/view.php?id=4479
m4/pkg.m4: update from pkg-config 0.29
m4/{nls,po,progtest}.m4: update from gettest 0.19.8.1
m4/glib-gettext.m4: update from GLib 2.48.1
Fixes "error: m4_copy: won't overwrite defined macro: glib_DEFUN".
Fixes "error: m4_copy: won't overwrite defined macro: glib_DEFUN".
lyrics: no extra XML tags in lyricbox anymore
lyrics: use open-uri to handle HTTP 301 redirection
lyrics: fixed XML tag removal on wikia.com
configure.ac: prepare for 0.25
release v0.24
m4: import ax_require_defined.m4 from autoconf-archive
screen_song: draw bit rate in screen_song_update()
Drawing the bit rate in screen_song_add_song() requires some redundant
checks.
Drawing the bit rate in screen_song_add_song() requires some redundant
checks.
main: make variables more local
conf: check_user_conf_dir() returns bool
conf: include cleanup
conf: remove WIN32 debug logs
command: return bool for success/failure
command: make variables more local
screen_browser: fix crash on "jump" (hotkey ".")
Regression caused by commit 4345c919f: screen_browser_paint_callback()
now expects a struct screen_browser pointer instead of a struct
filelist pointer, because it now requires access to the song format.
However, browser_lw_callback() still wants a struct filelist, and the
CMD_LIST_JUMP handler passes the former to screen_jump() for both
callbacks.
Regression caused by commit 4345c919f: screen_browser_paint_callback()
now expects a struct screen_browser pointer instead of a struct
filelist pointer, because it now requires access to the song format.
However, browser_lw_callback() still wants a struct filelist, and the
CMD_LIST_JUMP handler passes the former to screen_jump() for both
callbacks.
screen_find: fix indent
configure.ac: prepare for 0.24
release v0.23
README: update URLs
configure.ac: use $srcdir to refer to po/LINGUAS
Fixes out-of-tree builds. Previously, no PO file was used, and thus
no PO files were included in the tarball (Mantis 0004016).
Fixes out-of-tree builds. Previously, no PO file was used, and thus
no PO files were included in the tarball (Mantis 0004016).
configure.ac: prepare for 0.23
release v0.22
m4/po.m4: update to gettext 0.18.3
m4/pkg.m4: update to serial 1