aboutsummaryrefslogtreecommitdiffstats
path: root/src/screen_play.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-11-19screen_song: check CMD_VIEW only if song screen is enabledMax Kellermann1-0/+2
2008-11-18screen_song: new screen which views song informationMax Kellermann1-0/+8
This new screen views all information available on a song: its location, file name, and tags.
2008-11-18screen: method cmd() returns boolMax Kellermann1-16/+16
Return true/false instead of 1/0.
2008-11-18command: added CMD_LOCATE to locate song in databaseMax Kellermann1-0/+8
Pressing 'l' switches to the file browser (screen_file) and locates the previously selected song in the server's database.
2008-11-07wreadln: return NULL instead of empty stringMax Kellermann1-2/+2
No wreadln() caller cares about an empty string. Simplify the callers by returning NULL instead of an allocated empty string. This fixes several memory leaks.
2008-11-07mpdclient: expect UTF-8 stringsMax Kellermann1-5/+18
Don't convert the character set of strings to and from the current locale. This library cannot know what the strings are going to be used for, so it should not mess with them.
2008-11-07screen_play: free the wreadln() return valueMax Kellermann1-0/+1
2008-11-07disable more features with --enable-miniMax Kellermann1-1/+24
Disable lots of smaller features which don't have a separate configure option: - xterm title - screen list - horizontal scrolling - MPD version number check - key binding checks - character set conversion - bitrate display - highlighting in the file browser - completion / history
2008-10-06include ncursesw/ncurses.h if availableMax Kellermann1-1/+0
When compiling with libncursesw, include <ncursesw/ncurses.h> instead of <ncurses.h> (if available).
2008-10-03screen: export the global variable "screen"Max Kellermann1-22/+14
screen_t is a singleton. We do not have to pass it around everywhere. Export the one global variable.
2008-10-03screen: don't pass mpdclient pointer to method paint()Max Kellermann1-14/+14
None of the paint() implementations acutally uses the mpdclient pointer. Remove it from the method signature.
2008-10-03screen_play: remember playlistMax Kellermann1-18/+20
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().
2008-10-02removed LIST_FORMAT, STATUS_FORMATMax Kellermann1-2/+1
Use options.list_format and options.status_format directly instead of these two macros.
2008-10-02moved i18n macros to i18n.hMax Kellermann1-0/+1
Don't make everybody include ncmpc.h just to have generic features. Move generic i18n macros to a separate header.
2008-10-02removed the debugging function D()Max Kellermann1-5/+0
gdb is for debugging. We don't need D() calls littered all over.
2008-10-02screen_lyrics: add screen_lyrics_switch()Max Kellermann1-0/+11
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.
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-25screen: replaced get_cur_mode_id() with screen_is_visible()Max Kellermann1-1/+1
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: don't pass screen pointer to method update()Max Kellermann1-2/+4
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_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-25screen: don't pass screen pointer to method paint()Max Kellermann1-3/+3
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 Kellermann1-2/+0
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 Kellermann1-10/+3
Without clearing previous screen contents, there may be corruptions, make this mandatory and optimize screen clearing.
2008-09-25code style, indent with tabs XMax Kellermann1-166/+161
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-22screen: simplified CMD_SCREEN_UPDATE handlersMax Kellermann1-3/+2
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 Kellermann1-6/+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: moved input_timestamp to screen_play.cMax Kellermann1-1/+6
Since the input_timestamp is only used by screen_play, move it there.
2008-09-22screen: moved list_window mouse code to list_window.cMax Kellermann1-1/+2
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.
2008-09-18playlist: removed "updated" flagMax Kellermann1-2/+3
The caller may check the playlist.id instead of checking the old "updated" flag.
2008-09-18screen: check MPD status only if connectedMax Kellermann1-4/+7
Fix several segmentation faults: when the connection to the MPD server is lost, there were NULL pointer dereferences because client->status==NULL. Check before accessing it.
2008-09-18screen: removed NULL checkMax Kellermann1-2/+1
Since the screen's initialization is guaranteed, we can remove the NULL check in center_playing_item().
2008-09-17make several functions return voidMax Kellermann1-4/+4
2008-09-17playlist: use playlist_get() instead of playlist_get_song()Max Kellermann1-2/+3
2008-09-17list_window: don't reset *highlight to 0Max Kellermann1-1/+0
Since the list_window code sets highlight to 0 before it calls the list_callback, the callback itself doesn't have to reset the flag.
2008-09-17list_window: added list_window_center()Max Kellermann1-8/+3
Merge code which used to be duplicated in the screens "play", "help", "lyrics".
2008-09-17screen: removed screen_functions.get_lw()Max Kellermann1-7/+0
If it is really important to set the curser, we should think of a better way, instead of exporting one non-generic method. For now, just set the cursor to the origin.
2008-09-17replaced get_screen_X() with static screen_functions variableMax Kellermann1-19/+12
Compile time initialization saves resources, compared to run-time initialization. Declare all screen_function structs as global variables, and remove all get functions.
2008-09-15use GArray for playlist instead of GListMax Kellermann1-10/+10
Using a doubly linked list for the local playlist copy is a huge waste of both memory and CPU cycles. Use GArray instead of GList, which is much faster in this case.
2008-09-15fix unused parameter warningsMax Kellermann1-9/+10
Add the "unused" attribute to all function parameters which are indeed going to be ignored.
2008-09-15use size_t and unsigned integersMax Kellermann1-9/+10
2008-09-15fix shadow warningsMax Kellermann1-6/+6
Rename local variables and function parameters, so they don't shadow global variables.
2008-09-15include cleanupMax Kellermann1-7/+7
A header should include all headers which he needs. Move local includes on top, and let foo.c include foo.h in the first line, to automatically test its dependencies.
2008-09-15fix function prototypesMax Kellermann1-8/+11
Add missing prototypes, and fix wrong prototypes. Convert lots of functions to "static" when they are only used within the current source file.
2008-09-15const pointersMax Kellermann1-2/+2
Convert pointers to const whenever it is possible. Fixes all those -Wconst warnings.
2008-09-15code style, indent with tabsMax Kellermann1-208/+184
Follow the same code style als MPD itself. This patch only fixes parts of the code which are going to be touched in the following bunch of patches, i.e. there will be more "code style" patches in the future.
2008-09-15remove unused static functionsMax Kellermann1-1/+1
Also remove some commented code and unused function parameters.