aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-10-01screen_artist: convert metalist to GPtrArrayMax Kellermann1-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.
2008-10-01screen_artist: don't insert ".." and "all albums" into listMax Kellermann1-6/+17
Generate these special list entries on the fly.
2008-10-01screen_artist: moved code to artist_lw_cmd()Max Kellermann1-12/+20
To unify the code, wrap list_window_cmd() in artist_lw_cmd(), which properly checks the current mode.
2008-09-28screen_play: no song means id=-1Max Kellermann1-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.
2008-09-28screen_play: repaint highlight when mpd starts playingMax Kellermann1-1/+2
When deciding whether to repaint the current highlight, test if MPD is actually playing. If MPD starts playing, repaint.
2008-09-26screen_play: repaint if current song has changedMax Kellermann1-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.
2008-09-26ignore SIGPIPEMax Kellermann1-0/+9
Ignore SIGPIPE, and handle errno==EPIPE instead.
2008-09-25don't call lyrics_init if plugin is disabledMax Kellermann1-1/+6
If the lyrics screen is disabled at compile time, don't initialize the lyrics library in main().
2008-09-25screen_browser: added hotkey for adding songMax Kellermann6-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.
2008-09-25fix miscellaneous sparse warningsMax Kellermann4-3/+5
Static variables, pointers vs integers, void function returning, ...
2008-09-25Makefile: added "sparse-check" targetMax Kellermann1-0/+15
2008-09-25screen: removed screen.modeMax Kellermann4-30/+14
Everything is now managed with a pointer to the screen_functions struct.
2008-09-25screen: removed screen idsMax Kellermann2-27/+7
Finally remove all screen ids, they are not used anymore.
2008-09-25screen: pass screen_functions pointer to switch_screen_mode()Max Kellermann4-35/+32
Trying to get rid of the screen ids. A pointer to screen_functions is better for identifying a screen.
2008-09-25screen: replaced get_cur_mode_id() with screen_is_visible()Max Kellermann7-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.
2008-09-25screen: moved code to screen_list.cMax Kellermann5-110/+238
Move the hard-coded screen list and everything which works with this array to screen_list.c.
2008-09-25screen: don't compile disabled sourcesMax Kellermann6-24/+18
Instead of evaluating macros from config.h in the disabled source, don't start the compiler on it at all.
2008-09-25screen_utils: don't call wmove() twiceMax Kellermann1-3/+0
The second wmove() is redundant, because the cursor is already there after waddstr(). This also repairs wide characters in the prompt.
2008-09-25filelist: removed attribute "updated"Max Kellermann5-12/+0
Since all screen updating is now on demand, we don't need this flag anymore.
2008-09-25screen: don't pass screen pointer to method update()Max Kellermann3-4/+6
play_update() is the only update() implementation left, and it does not use the screen pointer. Remove it from the method signature.
2008-09-25screen_play: hide cursor with a timerMax Kellermann1-20/+45
Instead of hiding the cursor in the update() callback, hide it with a glib main loop timeout.
2008-09-25screen_search: removed update() methodMax Kellermann1-25/+44
Repaint the search screen on demand. No need for the update() method anymore.
2008-09-25screen_search: removed version check from paint() methodMax Kellermann1-5/+1
The check wasn't actually doing anything, except leaking memory. Remove it.
2008-09-25screen_file: removed update() methodMax Kellermann1-23/+50
Repaint the file screen on demand. No need for the update() method anymore.
2008-09-25screen_artist: removed update() methodMax Kellermann1-25/+59
Repaint the artist screen on demand. No need for the update() method anymore.
2008-09-25screen_playlist: don't repaint in update()Max Kellermann1-17/+45
Repaint the playlist window on demand. Don't repaint it unconditionally in play_update().
2008-09-25list_window: removed property "repaint"Max Kellermann3-8/+1
The property "repaint" is never read, since all callers repaint the list window on demand.
2008-09-25screen_lyrics: removed the "update" methodMax Kellermann1-13/+4
Automatically redraw the screen on demand, whenever data has changed.
2008-09-25screen_lyrics: added lyrics_repaint()Max Kellermann1-10/+27
lyrics_repaint() or lyrics_repaint_if_active() are called after data has changed, and the screen needs an update.
2008-09-25screen_keydef: removed the update() methodMax Kellermann1-17/+33
Automatically redraw the list on demand, whenever data has changed.
2008-09-25screen: don't pass screen pointer to method paint()Max Kellermann9-19/+19
None of the paint() implementations actually use the screen pointer - remove it from the method signature.
2008-09-25screen: don't call wrefresh() in methods paint() and update()Max Kellermann7-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.
2008-09-25list_window: removed property "clear"Max Kellermann9-41/+13
Without clearing previous screen contents, there may be corruptions, make this mandatory and optimize screen clearing.
2008-09-25code style, indent with tabs XMax Kellermann9-346/+321
Follow the same code style als MPD itself.
2008-09-23screen_play: use list_window_check_selected()Max Kellermann1-5/+1
Instead of manually adjusting the selection, let list_window.c do it.
2008-09-23list_window: converted several public functions to staticMax Kellermann2-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.
2008-09-23lyrics: configurable global plugin directoryMax Kellermann1-4/+19
The lyrics library loads all plugins from the directory configured with "--with-lyrics-plugin-dir".
2008-09-23lyrics: added callbackMax Kellermann3-69/+56
Instead of letting our caller poll lyrics_result(), call it back as soon as we have the result.
2008-09-23lyrics: reimplemented with aynchronous I/OMax Kellermann1-69/+98
Instead of creating a thread for handling lyrics plugin data, register a channel at the glib main loop.
2008-09-23screen_lyrics: set current.songMax Kellermann1-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()).
2008-09-22options: added constant option_table_sizeMax Kellermann1-7/+7
Instead of checking for the sentinel at the end of the option table, check the option_table_size constant.
2008-09-22options: constant options_tableMax Kellermann1-3/+3
Make the options_table constant, since it is never modified.
2008-09-22screen_utils: simplified call to wreadln_masked()Max Kellermann1-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.
2008-09-22screen_utils: hide cursor after screen_read_password()Max Kellermann1-2/+5
The call to curs_set(0) in screen_read_password() was dead code, because it was after the function return. Repair that.
2008-09-22screen: unsigned integers for screen dimensionsMax Kellermann2-5/+5
Store screen width and height as unsigned integer.
2008-09-22code style, indent with tabs IXMax Kellermann2-309/+301
Follow the same code style als MPD itself.
2008-09-22screen: simplified CMD_SCREEN_UPDATE handlersMax Kellermann3-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.
2008-09-22screen: don't set list_window->repaintMax Kellermann3-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.
2008-09-22screen: removed window.cur_action_idMax Kellermann1-1/+0
The variable cur_action_id is not used at all.
2008-09-22screen: last_cmd should be a command_tMax Kellermann1-1/+2
last_cmd stores the previous command sent to the screen. It is not a timestamp, and its type should be command_t.