aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* screen_artist: removed update() methodMax Kellermann2008-09-251-25/+59
| | | | | Repaint the artist screen on demand. No need for the update() method anymore.
* screen_playlist: don't repaint in update()Max Kellermann2008-09-251-17/+45
| | | | | Repaint the playlist window on demand. Don't repaint it unconditionally in play_update().
* list_window: removed property "repaint"Max Kellermann2008-09-253-8/+1
| | | | | The property "repaint" is never read, since all callers repaint the list window on demand.
* screen_lyrics: removed the "update" methodMax Kellermann2008-09-251-13/+4
| | | | Automatically redraw the screen on demand, whenever data has changed.
* screen_lyrics: added lyrics_repaint()Max Kellermann2008-09-251-10/+27
| | | | | lyrics_repaint() or lyrics_repaint_if_active() are called after data has changed, and the screen needs an update.
* screen_keydef: removed the update() methodMax Kellermann2008-09-251-17/+33
| | | | Automatically redraw the list on demand, whenever data has changed.
* screen: don't pass screen pointer to method paint()Max Kellermann2008-09-259-19/+19
| | | | | None of the paint() implementations actually use the screen pointer - remove it from the method signature.
* screen: don't call wrefresh() in methods paint() and update()Max Kellermann2008-09-257-16/+1
| | | | | | 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.
* list_window: removed property "clear"Max Kellermann2008-09-259-41/+13
| | | | | Without clearing previous screen contents, there may be corruptions, make this mandatory and optimize screen clearing.
* code style, indent with tabs XMax Kellermann2008-09-259-346/+321
| | | | Follow the same code style als MPD itself.
* Makefile: don't install disabled lyrics pluginsMax Kellermann2008-09-252-0/+6
| | | | Don't install the lyrics plugins if the lyrics screen is disabled.
* configure: fix default lyrics plugin directoryMax Kellermann2008-09-251-1/+8
| | | | | | | 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.
* Makefile: honor DESTDIRMax Kellermann2008-09-251-2/+2
| | | | When installing lyrics plugins, I forgot to honor $(DESTDIR) if set.
* lyrics: print text in UTF-8Max Kellermann2008-09-231-1/+1
| | | | | | | | 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.
* screen_play: use list_window_check_selected()Max Kellermann2008-09-231-5/+1
| | | | Instead of manually adjusting the selection, let list_window.c do it.
* list_window: converted several public functions to staticMax Kellermann2008-09-232-12/+6
| | | | | There are lots of functions not being used outside of list_window.c. Make them static to make it easier for gcc to optimize.
* lyrics: configurable global plugin directoryMax Kellermann2008-09-233-4/+39
| | | | | The lyrics library loads all plugins from the directory configured with "--with-lyrics-plugin-dir".
* configure: removed unused lyrics checksMax Kellermann2008-09-231-14/+0
| | | | | Removed the commented checks for libraries which aren't being used anymore by the new lyrics code.
* configure: removed gthread testMax Kellermann2008-09-231-15/+0
| | | | | Threading has been disabled when I overhauled lyrics support. Remove all libgthread checks from configure.ac.
* lyrics: added callbackMax Kellermann2008-09-233-69/+56
| | | | | Instead of letting our caller poll lyrics_result(), call it back as soon as we have the result.
* lyrics: reimplemented with aynchronous I/OMax Kellermann2008-09-231-69/+98
| | | | | Instead of creating a thread for handling lyrics plugin data, register a channel at the glib main loop.
* screen_lyrics: set current.songMax Kellermann2008-09-231-2/+2
| | | | | | The variable current.song was never set, thus the cache did not work. Don't reset it in screen_lyrics_clear() (which is called from screen_lyrics_set()).
* autogen.sh: don't ignore errorsMax Kellermann2008-09-221-1/+1
| | | | Set the shell option "-e" to abort when one of the tools fails.
* options: added constant option_table_sizeMax Kellermann2008-09-221-7/+7
| | | | | Instead of checking for the sentinel at the end of the option table, check the option_table_size constant.
* options: constant options_tableMax Kellermann2008-09-221-3/+3
| | | | Make the options_table constant, since it is never modified.
* screen_utils: simplified call to wreadln_masked()Max Kellermann2008-09-221-3/+2
| | | | | | If prompt is NULL, do not add a second call to wreadln_masked() with a literal string, but assign this literal string to the variable "prompt". This saves several bytes in the compiled binary.
* screen_utils: hide cursor after screen_read_password()Max Kellermann2008-09-221-2/+5
| | | | | The call to curs_set(0) in screen_read_password() was dead code, because it was after the function return. Repair that.
* screen: unsigned integers for screen dimensionsMax Kellermann2008-09-222-5/+5
| | | | Store screen width and height as unsigned integer.
* code style, indent with tabs IXMax Kellermann2008-09-222-309/+301
| | | | Follow the same code style als MPD itself.
* screen: simplified CMD_SCREEN_UPDATE handlersMax Kellermann2008-09-223-8/+4
| | | | | Since screen.c has default code for CMD_SCREEN_UPDATE, return 0 from the command handlers and let screen.c do the rest.
* screen: don't set list_window->repaintMax Kellermann2008-09-223-9/+1
| | | | | | Several screens ignore the attribute list_window->repaint. Don't set it there. It will be replaced with a more intelligent repaint algorithm later.
* screen: removed window.cur_action_idMax Kellermann2008-09-221-1/+0
| | | | The variable cur_action_id is not used at all.
* screen: last_cmd should be a command_tMax Kellermann2008-09-221-1/+2
| | | | | last_cmd stores the previous command sent to the screen. It is not a timestamp, and its type should be command_t.
* screen: moved input_timestamp to screen_play.cMax Kellermann2008-09-223-4/+6
| | | | Since the input_timestamp is only used by screen_play, move it there.
* screen: moved list_window mouse code to list_window.cMax Kellermann2008-09-226-28/+47
| | | | | | Move the portion of screen_get_mouse_event() which handles list_window clicks to list_window.c. The code contained a NULL pointer dereference, which is now fixed.
* screen: moved code to ncu.cMax Kellermann2008-09-226-35/+97
| | | | | Moved basic libncurses initialization to ncu.c and ncu.h. Keep generic code out of screen.c.
* main: free keyboard IO channelMax Kellermann2008-09-221-2/+7
| | | | Before terminating ncmpc, free the keyboard GIOChannel object.
* configure: modern AC_INIT and AM_INIT_AUTOMAKE invocationMax Kellermann2008-09-221-3/+2
| | | | | Provide program name and version in AC_INIT. Add the option "dist-bzip2" to AM_INIT_AUTOMAKE.
* added option "welcome-screen-list"David Shakaryan2008-09-224-1/+9
| | | | | "welcome-screen-list" shows the screen list in the top row shortly after startup, and is enabled by default.
* browse: ensure that filelist!=NULLMax Kellermann2008-09-212-4/+18
| | | | | There are several places where browser.filelist can become NULL. Catch that everywhere and generate an empty filelist in this case.
* browser: check if the selection is validMax Kellermann2008-09-212-1/+8
| | | | Don't call filelist_get() with an invalid index.
* support: added assertionsMax Kellermann2008-09-211-0/+16
| | | | Check the function parameters.
* screen_artist: check if anything is selectedMax Kellermann2008-09-211-0/+8
| | | | | Don't try to call add_query() with no valid selection, this causes a segfault. This usually happens when ncmpc isn't connected.
* libmpdclient: added another connection->sock checkMax Kellermann2008-09-211-0/+6
| | | | Check if connection->sock is valid in mpd_executeCommand().
* mpdclient: check errorCode only if MPD_ERROR_ACK is setMax Kellermann2008-09-211-1/+2
| | | | | | connection->errorCode has an undefined value when connection->error is not MPD_ERROR_ACK. Read it only if MPD_ERROR_ACK is set, to make valgrind happy.
* mpdclient: fix memory leak in mpdclient_finish_command()Max Kellermann2008-09-211-4/+5
| | | | | During authentication, the message pointer was allocated, but never freed. Allocate it only if it is really used (and freed).
* code style, indent with tabs VIIIMax Kellermann2008-09-211-171/+143
| | | | Follow the same code style als MPD itself.
* libmpdclient: check connection->sock >= 0Max Kellermann2008-09-211-0/+10
| | | | | mpd_wait() must not be called when the socket is dead; add an assertion there. In mpd_recv(), add a run-time check.
* added optional bitrate display to status barJ. Alexander Treuman2008-09-213-4/+20
| | | | | If visible-bitrate is enabled, then the current bitrate will be drawn next to the song time in the status bar. By default it will not be displayed.
* wreadln: adding additional line editing bindsJ. Alexander Treuman2008-09-211-1/+9
| | | | | Adding some GNU readline-style binds. These are ^B/^F to move the cursor back/forward, and ^N/^P to go to the next/previous line.