aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* screen: return early in switch_screen_mode() on errorMax Kellermann2008-09-171-7/+7
| | | | | When the selected screen does not exist, return before calling close().
* screen: added macro NUM_SCREENSMax Kellermann2008-09-171-25/+16
| | | | | Since the number of screens is known at compile time, define a macro which calculates this, instead of having a sentinel element.
* screen: close only current screen in screen_exit()Max Kellermann2008-09-171-2/+3
| | | | | Screens which are not active have already been closed, or have never been opened. Don't call close again on them.
* screen: don't store "screen" as a pointerMax Kellermann2008-09-171-140/+135
| | | | | | There can only be onle screen struct instance at a time. Declare it as a static struct, instead of a pointer to the struct. This simplifies all accesses, and avoids the dynamic allocation.
* screen: moved code to find_configured_screen()Max Kellermann2008-09-171-10/+13
|
* screen: mode_fn cannot be NULL, removed checksMax Kellermann2008-09-171-17/+9
| | | | | At startup, mode_fn is initialized with &screen_playlist, and it will never be reset to NULL. Remove all checks.
* screen: before calling update(), check if it is definedMax Kellermann2008-09-171-1/+1
| | | | | That seems to be a fn->paint was checked, then the code called fn->update(). Fix this.
* screen: removed screen_functions.get_lw()Max Kellermann2008-09-178-53/+2
| | | | | | 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.
* replaced get_screen_X() with static screen_functions variableMax Kellermann2008-09-1710-208/+134
| | | | | | Compile time initialization saves resources, compared to run-time initialization. Declare all screen_function structs as global variables, and remove all get functions.
* code style, indent with tabs IIIMax Kellermann2008-09-173-112/+104
| | | | Follow the same code style als MPD itself.
* mpdclient: call playlist_clear() in mpdclient_playlist_update()Max Kellermann2008-09-171-2/+1
| | | | | | Instead of freeing the playlist with mpdclient_playlist_free(), call playlist_clear() to empty the song list. This fixes a segmentation fault which occured when you cleared the playlist.
* initial draw without delayMax Kellermann2008-09-161-0/+2
| | | | | Due to a missing refresh() call, ncmpc painted the screen after one second. Add refresh(), make ncmpc display immediately.
* screen: added struct namesMax Kellermann2008-09-167-91/+95
| | | | | Let us declare struct names in addition to typedef names, so we can forward-declare them.
* lyrics: converted in-process plugins to external programsMax Kellermann2008-09-169-677/+482
| | | | | | | | | | | | | In-process plugins are very problematic. It is much easier and flexible to move the lyrics plugins to external programs, with a trivial protocol. This is work in progress, among the things missing: - protocol specification, including exit codes - plugin installation - plugin search directory - run-time configuration (currently hard coded) - automatic polling (using glib's main loop?) - better and more robust error handling
* use GPtrArray instead of GArray for playlist songsMax Kellermann2008-09-162-13/+10
|
* playlist: hide direct accesses in inline functionsMax Kellermann2008-09-163-37/+92
| | | | | | Added functions like playlist_length(), playlist_get(), playlist_replace(), playlist_remove(). Don't access the mpdclient_playlist struct directly.
* mpdclient: added mpdclient_playlist_init(), mpdclient_playlist_clear()Max Kellermann2008-09-163-6/+34
| | | | | | Moved code from mpdclient_new() and mpdclient_playlist_free(). In mpdclient_disconnect(), call mpdclient_playlist_clear() instead of mpdclient_playlist_free() (which is now called in mpdclient_free()).
* mpdclient: moved code to playlist.cMax Kellermann2008-09-165-111/+174
| | | | | | | | | | Move everything which manipulates the mpdclient_playlist struct to playlist.c. Many of the functions get a mpdclient pointer instead of a playlist; this will be changed later. The functions mpdclient_playlist_update() and mpdclient_playlist_update_changes() stay in mpdclient.c for now, since they are tightly connected to the client code.
* song: allocate mpd_song from glib slicesMax Kellermann2008-09-161-0/+15
| | | | | | Since we compile ncmpc with glib, we can use its slice allocator for efficient song allocation. I have added a way to disable this with a macro.
* song: use struct mpd_songMax Kellermann2008-09-164-44/+44
| | | | | Use a forward declared struct mpd_song instead of the typedef mpd_Song.
* libmpdclient: moved code to song.cMax Kellermann2008-09-165-133/+231
| | | | | Move everything which manipulates the mpd_Song struct to song.c. Thousands of lines of too much for libmpdclient.c!
* mpdclient: add struct names, for forward declarationsMax Kellermann2008-09-161-4/+4
| | | | | | | To relax the include dependencies, give all structs real names, in addition to the typedef names. This way, other headers can forward-declare them, and do not need to include mpdclient.h. In the future, the typedefs will be removed.
* libmpdclient: const pointersMax Kellermann2008-09-162-2/+2
| | | | Pass const pointers whenever possible.
* code style, indent with tabs IIMax Kellermann2008-09-165-142/+128
| | | | Follow the same code style als MPD itself.
* list_window: update variables without loopingMax Kellermann2008-09-161-10/+14
| | | | | Apparently, somebody was too lazy to derive the formulas for cursor movement, and wrote lots of while loops.
* include cleanupMax Kellermann2008-09-162-5/+5
| | | | Include only headers which are really used.
* easy_download: fixed the type of write_data()Max Kellermann2008-09-151-1/+3
| | | | Fix the type of write_data() to fit curl_write_callback.
* use GArray for playlist instead of GListMax Kellermann2008-09-153-101/+76
| | | | | | 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.
* free info entity while iteratingMax Kellermann2008-09-151-0/+2
| | | | | | Memory leak: the function mpdclient_playlist_update_changes() did not free the entity which was returned by mpd_getNextInfoEntity(). Add a mpd_freeInfoEntity() call at the end of each iteration.
* manage tag string allocations in a poolMax Kellermann2008-09-154-44/+200
| | | | | | There are many duplicated strings in the tag database, e.g. many songs having the same artist. Don't allocate such strings twice, manage all strings in a pool.
* added support for unix domain socketsMax Kellermann2008-09-151-1/+58
| | | | | | If a host name starts with a slash, it is assumed to be a unix domain socket path. The port is ignored. This code is disabled on WIN32, until someone tests it.
* lyrics: missing "break"Max Kellermann2008-09-151-1/+2
| | | | If get_text_line() fails, we should break from the loop.
* lyrics: converted global variables to staticMax Kellermann2008-09-152-6/+3
| | | | | | The variables "lyrics_text_rows" and "lw" were declared in src_lyrics.h as static, but they were only actually used in screen_lyrics.c. Move both there.
* fix unused parameter warningsMax Kellermann2008-09-158-47/+59
| | | | | Add the "unused" attribute to all function parameters which are indeed going to be ignored.
* imported gcc.h from mpdMax Kellermann2008-09-152-1/+71
| | | | gcc.h contains a useful set of macros for setting attributes.
* don't declare local variable "options"Max Kellermann2008-09-153-13/+15
| | | | | | | | | In main.c, the global variable "options" is used all over, except in main(), which contains a shadowing declaration of it. Remove this local variable, and use the global "options" instead. Also don't pollute conf.c's namespace with the global variable with a CPP hack (to be removed when we have fixed more of ncmpc's namespace pollution).
* use size_t and unsigned integersMax Kellermann2008-09-1518-114/+130
|
* fixed mixed declaration + codeMax Kellermann2008-09-153-16/+19
| | | | | Although they are allowedd in C99, try to avoid them. Move variable declarations to the top of the current scope.
* fix shadow warningsMax Kellermann2008-09-1510-144/+148
| | | | | Rename local variables and function parameters, so they don't shadow global variables.
* include cleanupMax Kellermann2008-09-1536-167/+173
| | | | | | 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.
* screen_auth() returns resultMax Kellermann2008-09-151-1/+2
| | | | | | screen_auth() returns an int, and its result is actually being used. Only the "return" was missing in its implementation. Return _screen_auth()'s result.
* fix function prototypesMax Kellermann2008-09-1515-39/+84
| | | | | | Add missing prototypes, and fix wrong prototypes. Convert lots of functions to "static" when they are only used within the current source file.
* const pointersMax Kellermann2008-09-1533-134/+135
| | | | | Convert pointers to const whenever it is possible. Fixes all those -Wconst warnings.
* clock: don't initialize static variables with zeroMax Kellermann2008-09-151-1/+1
| | | | | | Uninitialized static variables are put into BSS, which is automatically zeroed. Initializing doesn't hurt, but in this case, there were elements missing, emitting a gcc warning.
* screen: moved code to paint_top_window2()Max Kellermann2008-09-151-68/+74
| | | | | | Nearly all of the code in paint_top_window() is on indent level 2, just because it depends on a condition. Make this more readable and move to indent level 1 by moving this code to a separate function.
* use !NDEBUG instead of DEBUGMax Kellermann2008-09-154-7/+7
| | | | | NDEBUG is more commonly used than DEBUG, e.g. in assert.h. Convert all macros to NDEBUG, and declare NDEBUG when debugging is disabled.
* code style, indent with tabsMax Kellermann2008-09-1529-4250/+3931
| | | | | | | 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.
* remove unused static functionsMax Kellermann2008-09-1518-72/+17
| | | | Also remove some commented code and unused function parameters.
* splash: removed the useless splash screenMax Kellermann2008-09-157-142/+2
| | | | | The code looks strange and spews lots of warnings. Since it does nothing useful, and wastes the user's precious time, simply remove it.
* improve escaping of URLsAndreas Obergrusberger2008-01-181-5/+5
| | | | git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@7141 09075e82-0dd4-0310-85a5-a0d7c8717e4f