aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* screen_file: set highlights after screen updateMax Kellermann2008-10-011-0/+1
| | | | | Due to a missing sync_highlights() call, highlights were gone when the user pressed the "update" hot key.
* screen_artist: separate artist and album listsMax Kellermann2008-10-011-36/+55
| | | | | | "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.
* screen_artist: replaced update_metalist()Max Kellermann2008-10-011-30/+42
| | | | | Replaced update_metalist() with three specialized functions for mode switching.
* screen_artist: added reload_lists()Max Kellermann2008-10-011-3/+23
| | | | | | 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".
* screen_artist: splitted update_metalist()Max Kellermann2008-10-011-46/+86
| | | | | Moved special cases for loading artist, album, song lists to separate functions.
* screen_artist: convert metalist to GPtrArrayMax Kellermann2008-10-011-33/+72
| | | | | | | | | 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.
* screen_artist: don't insert ".." and "all albums" into listMax Kellermann2008-10-011-6/+17
| | | | Generate these special list entries on the fly.
* screen_artist: moved code to artist_lw_cmd()Max Kellermann2008-10-011-12/+20
| | | | | To unify the code, wrap list_window_cmd() in artist_lw_cmd(), which properly checks the current mode.
* screen_play: no song means id=-1Max Kellermann2008-09-281-3/+3
| | | | | | "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.
* screen_play: repaint highlight when mpd starts playingMax Kellermann2008-09-281-1/+2
| | | | | When deciding whether to repaint the current highlight, test if MPD is actually playing. If MPD starts playing, repaint.
* screen_play: repaint if current song has changedMax Kellermann2008-09-261-8/+10
| | | | | | | | 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.
* ignore SIGPIPEMax Kellermann2008-09-261-0/+9
| | | | Ignore SIGPIPE, and handle errno==EPIPE instead.
* don't call lyrics_init if plugin is disabledMax Kellermann2008-09-251-1/+6
| | | | | If the lyrics screen is disabled at compile time, don't initialize the lyrics library in main().
* screen_browser: added hotkey for adding songMax Kellermann2008-09-256-1/+37
| | | | | 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.
* fix miscellaneous sparse warningsMax Kellermann2008-09-254-3/+5
| | | | Static variables, pointers vs integers, void function returning, ...
* Makefile: added "sparse-check" targetMax Kellermann2008-09-252-0/+17
|
* screen: removed screen.modeMax Kellermann2008-09-254-30/+14
| | | | | Everything is now managed with a pointer to the screen_functions struct.
* screen: removed screen idsMax Kellermann2008-09-252-27/+7
| | | | Finally remove all screen ids, they are not used anymore.
* screen: pass screen_functions pointer to switch_screen_mode()Max Kellermann2008-09-254-35/+32
| | | | | Trying to get rid of the screen ids. A pointer to screen_functions is better for identifying a screen.
* screen: replaced get_cur_mode_id() with screen_is_visible()Max Kellermann2008-09-257-8/+10
| | | | | | 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.
* screen: moved code to screen_list.cMax Kellermann2008-09-255-110/+238
| | | | | Move the hard-coded screen list and everything which works with this array to screen_list.c.
* screen: don't compile disabled sourcesMax Kellermann2008-09-258-26/+26
| | | | | Instead of evaluating macros from config.h in the disabled source, don't start the compiler on it at all.
* screen_utils: don't call wmove() twiceMax Kellermann2008-09-251-3/+0
| | | | | The second wmove() is redundant, because the cursor is already there after waddstr(). This also repairs wide characters in the prompt.
* filelist: removed attribute "updated"Max Kellermann2008-09-255-12/+0
| | | | | Since all screen updating is now on demand, we don't need this flag anymore.
* screen: don't pass screen pointer to method update()Max Kellermann2008-09-253-4/+6
| | | | | play_update() is the only update() implementation left, and it does not use the screen pointer. Remove it from the method signature.
* screen_play: hide cursor with a timerMax Kellermann2008-09-251-20/+45
| | | | | Instead of hiding the cursor in the update() callback, hide it with a glib main loop timeout.
* screen_search: removed update() methodMax Kellermann2008-09-251-25/+44
| | | | | Repaint the search screen on demand. No need for the update() method anymore.
* screen_search: removed version check from paint() methodMax Kellermann2008-09-251-5/+1
| | | | | The check wasn't actually doing anything, except leaking memory. Remove it.
* configure: updated automake optionsMax Kellermann2008-09-252-2/+2
| | | | New automake options are "gnu 1.6 dist-bzip2". Sync with Makefile.am.
* lyrics: replaced "hd.py" with "hd.sh"Max Kellermann2008-09-253-23/+9
| | | | Replace the "hd" plugin with a trivial shell script.
* screen_file: removed update() methodMax Kellermann2008-09-251-23/+50
| | | | | Repaint the file screen on demand. No need for the update() method anymore.
* 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.