Code

ncmpc.git
16 years agodon't initialize sigaction struct twice
Max Kellermann [Fri, 3 Oct 2008 13:24:01 +0000 (15:24 +0200)]
don't initialize sigaction struct twice

Don't reset sa_mask and sa_flags after every sigaction() call.  Do it
once.

16 years agorestart system call after SIGWINCH
Max Kellermann [Fri, 3 Oct 2008 13:23:51 +0000 (15:23 +0200)]
restart system call after SIGWINCH

Set option SA_RESTART for the SIGWINCH handler.  The screen resizer
function is called by the glib main loop anyway, no need to interrupt
any random system call here.

16 years agotypo: ignore SIGPIPE instead of SIGWINCH
Max Kellermann [Fri, 3 Oct 2008 13:23:46 +0000 (15:23 +0200)]
typo: ignore SIGPIPE instead of SIGWINCH

Somehow the "ignore SIGPIPE" patch had a fatal typo: instead of
ignoring SIGPIPE, it ignored SIGWINCH.  Somehow ncurses managed to
hide the bug's symptoms, but a recent patch finally broke it.  Repair
the typo.

16 years agoscreen: export the global variable "screen"
Max Kellermann [Fri, 3 Oct 2008 12:31:00 +0000 (14:31 +0200)]
screen: export the global variable "screen"

screen_t is a singleton.  We do not have to pass it around
everywhere.  Export the one global variable.

16 years agoscreen: don't pass mpdclient pointer to method paint()
Max Kellermann [Fri, 3 Oct 2008 12:30:59 +0000 (14:30 +0200)]
screen: don't pass mpdclient pointer to method paint()

None of the paint() implementations acutally uses the mpdclient
pointer.  Remove it from the method signature.

16 years agoscreen_play: remember playlist
Max Kellermann [Fri, 3 Oct 2008 12:30:08 +0000 (14:30 +0200)]
screen_play: remember playlist

Remove the last paint() dependency on the mpdclient pointer: remember
a pointer to the playlist object, and don't take it from mpdclient
every time we paint.  Also add the variable "current_song_id" which is
calculated in update().

16 years agoscreen: removed "painted" flag
Max Kellermann [Fri, 3 Oct 2008 12:28:49 +0000 (14:28 +0200)]
screen: removed "painted" flag

Repaint immediately instead of setting "painted=0".

16 years agoremoved KEY_RESIZE
Max Kellermann [Fri, 3 Oct 2008 12:28:43 +0000 (14:28 +0200)]
removed KEY_RESIZE

Since we are handling SIGWINCH, we do not need to handle KEY_RESIZE
from ncurses.  Remove it.

16 years agoscreen_search: array index is tag id
Max Kellermann [Fri, 3 Oct 2008 12:28:42 +0000 (14:28 +0200)]
screen_search: array index is tag id

Save some bytes again: remove search_tag.id, make the array index
equal to the tag id.

16 years agodon't import mpdclient_finish_command() twice
Max Kellermann [Fri, 3 Oct 2008 12:26:29 +0000 (14:26 +0200)]
don't import mpdclient_finish_command() twice

mpdclient_finish_command() is already imported by mpdclient.h, don't
do it again in the sources.

16 years agoscreen_search: removed the FUTURE macro
Max Kellermann [Fri, 3 Oct 2008 12:26:27 +0000 (14:26 +0200)]
screen_search: removed the FUTURE macro

The future is now!

16 years agooptions: don't initialize with memset(0)
Max Kellermann [Fri, 3 Oct 2008 12:26:00 +0000 (14:26 +0200)]
options: don't initialize with memset(0)

Global variables are already initialized with zero when the program
starts, don't memset(0) again.

16 years agooptions: don't pass the "options" pointer around
Max Kellermann [Fri, 3 Oct 2008 12:25:45 +0000 (14:25 +0200)]
options: don't pass the "options" pointer around

Just make everybody use the global "options" variable.  This
eliminates namespace confusion and the NO_GLOBAL_OPTIONS hack.

16 years agocolors: make color support optional at compile time
Max Kellermann [Fri, 3 Oct 2008 12:25:00 +0000 (14:25 +0200)]
colors: make color support optional at compile time

Default is colors disabled.  Those who love colorful terminals have
the option to enable it with --enable-colors.

16 years agooptions: print one big string in --version screen
Max Kellermann [Fri, 3 Oct 2008 12:24:31 +0000 (14:24 +0200)]
options: print one big string in --version screen

Instead of calling printf() multiple times for every compile time
option, build the whole string at compile time and print it with
puts().

16 years agocolors: color id is the index of the "colors" array
Max Kellermann [Fri, 3 Oct 2008 12:24:28 +0000 (14:24 +0200)]
colors: color id is the index of the "colors" array

The color ids are sequential, and we can save some bytes if we use it
for the array index.

16 years agocolors: added enum color_t
Max Kellermann [Fri, 3 Oct 2008 10:57:31 +0000 (12:57 +0200)]
colors: added enum color_t

Instead of declaring a bunch of CPP macros, use a C enum for
identifying colors.

16 years agocode style, indent with tabs XI
Max Kellermann [Fri, 3 Oct 2008 10:57:30 +0000 (12:57 +0200)]
code style, indent with tabs XI

Follow the same code style als MPD itself.

16 years agoscreen_artist: better screen title
Max Kellermann [Fri, 3 Oct 2008 09:57:00 +0000 (11:57 +0200)]
screen_artist: better screen title

The artist screen shouldn't be marked "experimental" anymore.
Describe the current state of the screen in the title, instead of
always writing "Artist".

16 years agolist_window: remove list_window_state_t
Max Kellermann [Fri, 3 Oct 2008 09:56:00 +0000 (11:56 +0200)]
list_window: remove list_window_state_t

We do not need to save a stack of list window states.  When we return
to a parent directory, we just have to find the directory which we
come from in the parent list.  Note that this patch resets the cursor
when going to the root directory, but I think it's not that important,
and I will deal with that later.

16 years agofilelist: added filelist_find_directory()
Max Kellermann [Fri, 3 Oct 2008 09:53:55 +0000 (11:53 +0200)]
filelist: added filelist_find_directory()

The function filelist_find_directory() will be useful for the
following patch.

16 years agoscreen_artist: fix reload in "All tracks"
Max Kellermann [Fri, 3 Oct 2008 09:53:28 +0000 (11:53 +0200)]
screen_artist: fix reload in "All tracks"

The variable "album" was set to _("All tracks") when it was empty.
When reloading the songs, ncmpc was trying to find an album named "All
tracks", which didn't seem to work.  Leave "album" in its canonical
form and generate the title text on demand.

16 years agocharset: pass -1 instead of strlen()
Max Kellermann [Fri, 3 Oct 2008 09:52:13 +0000 (11:52 +0200)]
charset: pass -1 instead of strlen()

The GTK charset functions accept "-1" if the parameter is null
terminated.

16 years agosupport: removed unused function remove_trailing_slash()
Max Kellermann [Fri, 3 Oct 2008 09:51:53 +0000 (11:51 +0200)]
support: removed unused function remove_trailing_slash()

16 years agouse g_basename() instead of basename()
Max Kellermann [Fri, 3 Oct 2008 09:51:32 +0000 (11:51 +0200)]
use g_basename() instead of basename()

g_basename() is always available, no need to implement a fallback.
Also use g_path_get_dirname(), g_path_get_basename().

16 years agouse g_ascii_isspace() instead of IS_WHITESPACE()
Max Kellermann [Fri, 3 Oct 2008 09:50:42 +0000 (11:50 +0200)]
use g_ascii_isspace() instead of IS_WHITESPACE()

Don't duplicate code which is already provided by glib.

16 years agouse g_ascii_strdown() instead of the custom lowerstr()
Max Kellermann [Fri, 3 Oct 2008 09:50:30 +0000 (11:50 +0200)]
use g_ascii_strdown() instead of the custom lowerstr()

Don't duplicate code which is already provided by glib.

16 years agolist_window: removed unused macro "LW_ROW"
Max Kellermann [Thu, 2 Oct 2008 17:12:45 +0000 (19:12 +0200)]
list_window: removed unused macro "LW_ROW"

16 years agoscreen_browser: added constant playlist_format
Max Kellermann [Thu, 2 Oct 2008 17:11:15 +0000 (19:11 +0200)]
screen_browser: added constant playlist_format

Moved the format string for playlist files to the constant
"playlist_format".

16 years agofix compiler errors without locale.h
Max Kellermann [Thu, 2 Oct 2008 17:02:07 +0000 (19:02 +0200)]
fix compiler errors without locale.h

The code did not compile when HAVE_LOCALE_H was not set.  Also don't
compile all that code in charset.c, when there is no locale.h.

16 years agoscreen_lyrics: character set conversion
Max Kellermann [Thu, 2 Oct 2008 17:01:30 +0000 (19:01 +0200)]
screen_lyrics: character set conversion

Convert the lyrics to the current character set before displaying
them.

16 years agocharset: convert strings with fallback
Max Kellermann [Thu, 2 Oct 2008 17:01:11 +0000 (19:01 +0200)]
charset: convert strings with fallback

Use g_convert_with_fallback() for charset conversion, and don't print
a status bar message on error.

16 years agocharset: charset_init() returns character set
Max Kellermann [Thu, 2 Oct 2008 17:01:04 +0000 (19:01 +0200)]
charset: charset_init() returns character set

Don't pass "noconvert" to charset_init().  Let charset_init()
determine that with g_get_charset() and return its name.

16 years agocharset: renamed my_strlen() to utf8_width()
Max Kellermann [Thu, 2 Oct 2008 17:01:02 +0000 (19:01 +0200)]
charset: renamed my_strlen() to utf8_width()

my_strlen() is a bad name for the function, since the return value is
not a length, but a visible width on the screen.  Rename it to
utf8_width() and change its return type to "unsigned".

16 years agomoved code to charset.c
Max Kellermann [Thu, 2 Oct 2008 17:00:35 +0000 (19:00 +0200)]
moved code to charset.c

Move everything which deals with UTF-8 strings and character set
conversion to charset.c, header charset.h.

16 years agomoved macros from ncmpc.h to main.c and screen.c
Max Kellermann [Thu, 2 Oct 2008 17:00:28 +0000 (19:00 +0200)]
moved macros from ncmpc.h to main.c and screen.c

Moved constants which are only used in one source file.  Remove
several unused macros.

16 years agoremoved LIST_FORMAT, STATUS_FORMAT
Max Kellermann [Thu, 2 Oct 2008 15:48:01 +0000 (17:48 +0200)]
removed LIST_FORMAT, STATUS_FORMAT

Use options.list_format and options.status_format directly instead of
these two macros.

16 years agomoved i18n macros to i18n.h
Max Kellermann [Thu, 2 Oct 2008 15:48:00 +0000 (17:48 +0200)]
moved i18n macros to i18n.h

Don't make everybody include ncmpc.h just to have generic features.
Move generic i18n macros to a separate header.

16 years agooptions: use stdbool
Max Kellermann [Thu, 2 Oct 2008 15:47:01 +0000 (17:47 +0200)]
options: use stdbool

Use the standard "bool" type instead of glib's "gboolean".  This way,
options.h doesn't have to include the fat glib.h.

16 years agoremoved the deprecated easy_download library
Max Kellermann [Thu, 2 Oct 2008 14:52:26 +0000 (16:52 +0200)]
removed the deprecated easy_download library

This library isn't being used anymore, delete it.

16 years agomoved default value macros to defaults.h
Max Kellermann [Thu, 2 Oct 2008 14:52:25 +0000 (16:52 +0200)]
moved default value macros to defaults.h

These macros are only used by options.c and conf.c.  Move them to a
common internal header.

16 years agooptions: initialize options.list_format
Max Kellermann [Thu, 2 Oct 2008 14:15:56 +0000 (16:15 +0200)]
options: initialize options.list_format

Instead of checking whether options.list_format is set in the
LIST_FORMAT macro, initialize it once with options.list_format.  Same
for options.status_format / STATUS_FORMAT.

16 years agoremoved the debugging function D()
Max Kellermann [Thu, 2 Oct 2008 13:44:21 +0000 (15:44 +0200)]
removed the debugging function D()

gdb is for debugging.  We don't need D() calls littered all over.

16 years agoscreen_browser: unexport command implementations
Max Kellermann [Thu, 2 Oct 2008 13:30:47 +0000 (15:30 +0200)]
screen_browser: unexport command implementations

When we created created browser_cmd(), several functions of the
screen_browser API weren't used by other sources anymore.  We can now
unexport them.

16 years agoscreen_lyrics: add screen_lyrics_switch()
Max Kellermann [Thu, 2 Oct 2008 13:20:19 +0000 (15:20 +0200)]
screen_lyrics: add screen_lyrics_switch()

screen_lyrics_switch() opens the lyrics screen and displays the lyrics
of the specified song.  This way, the user may view the lyrics of any
song in the database browser.

16 years agoscreen: export function screen_switch()
Max Kellermann [Thu, 2 Oct 2008 13:20:18 +0000 (15:20 +0200)]
screen: export function screen_switch()

Provide an API for switching the currently displayed screen.  Rename
switch_screen_mode() to screen_switch().

16 years agoscreen: no typedefs for methods
Max Kellermann [Thu, 2 Oct 2008 13:20:18 +0000 (15:20 +0200)]
screen: no typedefs for methods

Since the method types are used only once, we do not need typedefs for
that.  Declare the method types within struct screen_functions.

16 years agoscreen_browser: added browser_cmd()
Max Kellermann [Thu, 2 Oct 2008 13:20:18 +0000 (15:20 +0200)]
screen_browser: added browser_cmd()

Merge a lot of code from the 3 browser screen into browser_cmd().

16 years agoscreen_artist: call artist_lw_cmd() at the end of artist_cmd()
Max Kellermann [Thu, 2 Oct 2008 13:20:18 +0000 (15:20 +0200)]
screen_artist: call artist_lw_cmd() at the end of artist_cmd()

By calling artist_lw_cmd() after the big switch, we can override
behaviour, and we can modify the command.

16 years agoscreen_artist: don't call wrefresh() twice
Max Kellermann [Thu, 2 Oct 2008 13:20:18 +0000 (15:20 +0200)]
screen_artist: don't call wrefresh() twice

artist_repaint() calls wrefresh(), don't call it again after
that.

16 years agostrfsong: constant pointers
Max Kellermann [Thu, 2 Oct 2008 13:20:18 +0000 (15:20 +0200)]
strfsong: constant pointers

Pass constant pointers to strfsong() and screen_lyrics_load().

16 years agoscreen: include config.h in screen.h
Max Kellermann [Thu, 2 Oct 2008 13:20:16 +0000 (15:20 +0200)]
screen: include config.h in screen.h

Since screen.h checks the macros from config.h, we have to include it.

16 years agoMakefile.am: don't use $(addprefix ...)
Max Kellermann [Thu, 2 Oct 2008 13:05:47 +0000 (15:05 +0200)]
Makefile.am: don't use $(addprefix ...)

The function "addprefix" is a GNU extension, don't use it.

16 years agoMakefile.am: don't declare $(lyrics_plugin_dir) twice
Max Kellermann [Thu, 2 Oct 2008 13:04:32 +0000 (15:04 +0200)]
Makefile.am: don't declare $(lyrics_plugin_dir) twice

The variable $(lyrics_plugin_dir) was already declared in
configure.ac, don't declare it again in Makefile.am.

16 years agoconfigure.ac: define ENABLE_x_SCREEN instead of DISABLE_x_SCREEN
Max Kellermann [Thu, 2 Oct 2008 12:57:42 +0000 (14:57 +0200)]
configure.ac: define ENABLE_x_SCREEN instead of DISABLE_x_SCREEN

Everybody who uses the ENABLE_ macros has to include ncmpc.h.  We're
better off defining those in config.h via configure.ac.

16 years agoscreen_file: set highlights after screen update
Max Kellermann [Wed, 1 Oct 2008 07:45:05 +0000 (09:45 +0200)]
screen_file: set highlights after screen update

Due to a missing sync_highlights() call, highlights were gone when the
user pressed the "update" hot key.

16 years agoscreen_artist: separate artist and album lists
Max Kellermann [Wed, 1 Oct 2008 07:38:45 +0000 (09:38 +0200)]
screen_artist: separate artist and album lists

"metalist" can have different meanings, depending on the mode.
Replace it with two separate variables "artist_list" and "album_list".
This way, we can optimize screen updates later.

16 years agoscreen_artist: replaced update_metalist()
Max Kellermann [Wed, 1 Oct 2008 07:38:27 +0000 (09:38 +0200)]
screen_artist: replaced update_metalist()

Replaced update_metalist() with three specialized functions for mode
switching.

16 years agoscreen_artist: added reload_lists()
Max Kellermann [Wed, 1 Oct 2008 07:38:25 +0000 (09:38 +0200)]
screen_artist: added reload_lists()

Some callers of update_metalist() want to reload the list contents.
Add an optimized function reload_lists() which does not modify the
global variables "mode", "artist", "album".

16 years agoscreen_artist: splitted update_metalist()
Max Kellermann [Wed, 1 Oct 2008 07:38:24 +0000 (09:38 +0200)]
screen_artist: splitted update_metalist()

Moved special cases for loading artist, album, song lists to separate
functions.

16 years agoscreen_artist: convert metalist to GPtrArray
Max Kellermann [Wed, 1 Oct 2008 07:37:51 +0000 (09:37 +0200)]
screen_artist: convert metalist to GPtrArray

A linked list is quite uncomfortable here because there is a lot of
indexed access to the list.  Use a GPtrArray of strings instead.

Note that mpdclient_get_artists_utf8() and mpdclient_get_albums_utf8()
return a linked list, and sorting is also performed on the linked
list.  This will be optimized later.

16 years agoscreen_artist: don't insert ".." and "all albums" into list
Max Kellermann [Wed, 1 Oct 2008 07:25:01 +0000 (09:25 +0200)]
screen_artist: don't insert ".." and "all albums" into list

Generate these special list entries on the fly.

16 years agoscreen_artist: moved code to artist_lw_cmd()
Max Kellermann [Wed, 1 Oct 2008 07:24:59 +0000 (09:24 +0200)]
screen_artist: moved code to artist_lw_cmd()

To unify the code, wrap list_window_cmd() in artist_lw_cmd(), which
properly checks the current mode.

16 years agoscreen_play: no song means id=-1
Max Kellermann [Sun, 28 Sep 2008 08:57:11 +0000 (10:57 +0200)]
screen_play: no song means id=-1

"prev_song_id" and "current_song_id" had value 0 if MPD was not
playing at all.  This way, ncmpc cannot see the difference between
"song 0 playing" and "not playing".  Change "not playing" to -1.

16 years agoscreen_play: repaint highlight when mpd starts playing
Max Kellermann [Sun, 28 Sep 2008 08:56:27 +0000 (10:56 +0200)]
screen_play: repaint highlight when mpd starts playing

When deciding whether to repaint the current highlight, test if MPD is
actually playing.  If MPD starts playing, repaint.

16 years agoscreen_play: repaint if current song has changed
Max Kellermann [Fri, 26 Sep 2008 06:48:31 +0000 (08:48 +0200)]
screen_play: repaint if current song has changed

The play_update() function was reduced too much: it didn't repaint the
screen when the current song changed.  Add check for that.

Don't repaint the screen in center_playing_item(), make the caller do
it.

16 years agoignore SIGPIPE
Max Kellermann [Fri, 26 Sep 2008 06:27:54 +0000 (08:27 +0200)]
ignore SIGPIPE

Ignore SIGPIPE, and handle errno==EPIPE instead.

16 years agodon't call lyrics_init if plugin is disabled
Max Kellermann [Thu, 25 Sep 2008 19:51:20 +0000 (21:51 +0200)]
don't call lyrics_init if plugin is disabled

If the lyrics screen is disabled at compile time, don't initialize the
lyrics library in main().

16 years agoscreen_browser: added hotkey for adding song
Max Kellermann [Thu, 25 Sep 2008 19:35:06 +0000 (21:35 +0200)]
screen_browser: added hotkey for adding song

CMD_ADD ('a') appends a song to the playlist, no matter if it is
already there, i.e. unlike CMD_SELECT, it does not toggle the song.

16 years agofix miscellaneous sparse warnings
Max Kellermann [Thu, 25 Sep 2008 19:24:58 +0000 (21:24 +0200)]
fix miscellaneous sparse warnings

Static variables, pointers vs integers, void function returning, ...

16 years agoMakefile: added "sparse-check" target
Max Kellermann [Thu, 25 Sep 2008 19:24:57 +0000 (21:24 +0200)]
Makefile: added "sparse-check" target

16 years agoscreen: removed screen.mode
Max Kellermann [Thu, 25 Sep 2008 19:21:29 +0000 (21:21 +0200)]
screen: removed screen.mode

Everything is now managed with a pointer to the screen_functions
struct.

16 years agoscreen: removed screen ids
Max Kellermann [Thu, 25 Sep 2008 19:21:27 +0000 (21:21 +0200)]
screen: removed screen ids

Finally remove all screen ids, they are not used anymore.

16 years agoscreen: pass screen_functions pointer to switch_screen_mode()
Max Kellermann [Thu, 25 Sep 2008 19:21:00 +0000 (21:21 +0200)]
screen: pass screen_functions pointer to switch_screen_mode()

Trying to get rid of the screen ids.  A pointer to screen_functions is
better for identifying a screen.

16 years agoscreen: replaced get_cur_mode_id() with screen_is_visible()
Max Kellermann [Thu, 25 Sep 2008 19:20:10 +0000 (21:20 +0200)]
screen: replaced get_cur_mode_id() with screen_is_visible()

Screen code shouldn't know anything about the screen ids (which will
be eliminated completely later).  Instead of comparing ids, compare
the screen_functions pointer.

16 years agoscreen: moved code to screen_list.c
Max Kellermann [Thu, 25 Sep 2008 19:20:06 +0000 (21:20 +0200)]
screen: moved code to screen_list.c

Move the hard-coded screen list and everything which works with this
array to screen_list.c.

16 years agoscreen: don't compile disabled sources
Max Kellermann [Thu, 25 Sep 2008 18:00:03 +0000 (20:00 +0200)]
screen: don't compile disabled sources

Instead of evaluating macros from config.h in the disabled source,
don't start the compiler on it at all.

16 years agoscreen_utils: don't call wmove() twice
Max Kellermann [Thu, 25 Sep 2008 17:19:39 +0000 (19:19 +0200)]
screen_utils: don't call wmove() twice

The second wmove() is redundant, because the cursor is already there
after waddstr().  This also repairs wide characters in the prompt.

16 years agofilelist: removed attribute "updated"
Max Kellermann [Thu, 25 Sep 2008 17:19:37 +0000 (19:19 +0200)]
filelist: removed attribute "updated"

Since all screen updating is now on demand, we don't need this flag
anymore.

16 years agoscreen: don't pass screen pointer to method update()
Max Kellermann [Thu, 25 Sep 2008 16:43:50 +0000 (18:43 +0200)]
screen: don't pass screen pointer to method update()

play_update() is the only update() implementation left, and it does
not use the screen pointer.  Remove it from the method signature.

16 years agoscreen_play: hide cursor with a timer
Max Kellermann [Thu, 25 Sep 2008 16:42:48 +0000 (18:42 +0200)]
screen_play: hide cursor with a timer

Instead of hiding the cursor in the update() callback, hide it with a
glib main loop timeout.

16 years agoscreen_search: removed update() method
Max Kellermann [Thu, 25 Sep 2008 16:42:44 +0000 (18:42 +0200)]
screen_search: removed update() method

Repaint the search screen on demand.  No need for the update() method
anymore.

16 years agoscreen_search: removed version check from paint() method
Max Kellermann [Thu, 25 Sep 2008 16:38:27 +0000 (18:38 +0200)]
screen_search: removed version check from paint() method

The check wasn't actually doing anything, except leaking memory.
Remove it.

16 years agoconfigure: updated automake options
Max Kellermann [Thu, 25 Sep 2008 15:52:22 +0000 (17:52 +0200)]
configure: updated automake options

New automake options are "gnu 1.6 dist-bzip2".  Sync with Makefile.am.

16 years agolyrics: replaced "hd.py" with "hd.sh"
Max Kellermann [Thu, 25 Sep 2008 15:49:56 +0000 (17:49 +0200)]
lyrics: replaced "hd.py" with "hd.sh"

Replace the "hd" plugin with a trivial shell script.

16 years agoscreen_file: removed update() method
Max Kellermann [Thu, 25 Sep 2008 15:44:57 +0000 (17:44 +0200)]
screen_file: removed update() method

Repaint the file screen on demand.  No need for the update() method
anymore.

16 years agoscreen_artist: removed update() method
Max Kellermann [Thu, 25 Sep 2008 15:44:48 +0000 (17:44 +0200)]
screen_artist: removed update() method

Repaint the artist screen on demand.  No need for the update() method
anymore.

16 years agoscreen_playlist: don't repaint in update()
Max Kellermann [Thu, 25 Sep 2008 15:44:47 +0000 (17:44 +0200)]
screen_playlist: don't repaint in update()

Repaint the playlist window on demand.  Don't repaint it
unconditionally in play_update().

16 years agolist_window: removed property "repaint"
Max Kellermann [Thu, 25 Sep 2008 15:42:57 +0000 (17:42 +0200)]
list_window: removed property "repaint"

The property "repaint" is never read, since all callers repaint the
list window on demand.

16 years agoscreen_lyrics: removed the "update" method
Max Kellermann [Thu, 25 Sep 2008 15:42:55 +0000 (17:42 +0200)]
screen_lyrics: removed the "update" method

Automatically redraw the screen on demand, whenever data has changed.

16 years agoscreen_lyrics: added lyrics_repaint()
Max Kellermann [Thu, 25 Sep 2008 15:42:30 +0000 (17:42 +0200)]
screen_lyrics: added lyrics_repaint()

lyrics_repaint() or lyrics_repaint_if_active() are called after data
has changed, and the screen needs an update.

16 years agoscreen_keydef: removed the update() method
Max Kellermann [Thu, 25 Sep 2008 15:41:01 +0000 (17:41 +0200)]
screen_keydef: removed the update() method

Automatically redraw the list on demand, whenever data has changed.

16 years agoscreen: don't pass screen pointer to method paint()
Max Kellermann [Thu, 25 Sep 2008 15:40:59 +0000 (17:40 +0200)]
screen: don't pass screen pointer to method paint()

None of the paint() implementations actually use the screen pointer -
remove it from the method signature.

16 years agoscreen: don't call wrefresh() in methods paint() and update()
Max Kellermann [Thu, 25 Sep 2008 15:40:36 +0000 (17:40 +0200)]
screen: don't call wrefresh() in methods paint() and update()

screen_paint() and screen_update() are responsible for refreshing the
screen.  We can remove all wrefresh() and wnoutrefresh() invocations
from all paint() and update() method implementations.

16 years agolist_window: removed property "clear"
Max Kellermann [Thu, 25 Sep 2008 15:40:29 +0000 (17:40 +0200)]
list_window: removed property "clear"

Without clearing previous screen contents, there may be corruptions,
make this mandatory and optimize screen clearing.

16 years agocode style, indent with tabs X
Max Kellermann [Thu, 25 Sep 2008 15:40:28 +0000 (17:40 +0200)]
code style, indent with tabs X

Follow the same code style als MPD itself.

16 years agoMakefile: don't install disabled lyrics plugins
Max Kellermann [Thu, 25 Sep 2008 14:03:44 +0000 (16:03 +0200)]
Makefile: don't install disabled lyrics plugins

Don't install the lyrics plugins if the lyrics screen is disabled.

16 years agoconfigure: fix default lyrics plugin directory
Max Kellermann [Thu, 25 Sep 2008 13:42:17 +0000 (15:42 +0200)]
configure: fix default lyrics plugin directory

When the user does not specify "--prefix", ${prefix} is "NONE".  This
breaks the default lyrics plugin directory, which was
"${prefix}/lib/ncmpc/lyrics".  Fall back to ${ac_default_prefix} if
${prefix} is NONE.

16 years agoMakefile: honor DESTDIR
Max Kellermann [Thu, 25 Sep 2008 13:25:09 +0000 (15:25 +0200)]
Makefile: honor DESTDIR

When installing lyrics plugins, I forgot to honor $(DESTDIR) if set.

16 years agolyrics: print text in UTF-8
Max Kellermann [Tue, 23 Sep 2008 11:41:49 +0000 (13:41 +0200)]
lyrics: print text in UTF-8

Python defaults to sending ASCII characters, and aborts if there are
non-ASCII characters in the string.  Unfortunately, due to "C.UTF-8"
being not defined, we cannot reliably make Python use UTF-8, without
further locale settings.  Thus, work around this mess by manually
encoding the result to UTF-8 in the script.