aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-09-16screen: added struct namesMax Kellermann7-91/+95
Let us declare struct names in addition to typedef names, so we can forward-declare them.
2008-09-16lyrics: converted in-process plugins to external programsMax Kellermann9-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
2008-09-16use GPtrArray instead of GArray for playlist songsMax Kellermann2-13/+10
2008-09-16playlist: hide direct accesses in inline functionsMax Kellermann3-37/+92
Added functions like playlist_length(), playlist_get(), playlist_replace(), playlist_remove(). Don't access the mpdclient_playlist struct directly.
2008-09-16mpdclient: added mpdclient_playlist_init(), mpdclient_playlist_clear()Max Kellermann3-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()).
2008-09-16mpdclient: moved code to playlist.cMax Kellermann5-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.
2008-09-16song: allocate mpd_song from glib slicesMax Kellermann1-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.
2008-09-16song: use struct mpd_songMax Kellermann4-44/+44
Use a forward declared struct mpd_song instead of the typedef mpd_Song.
2008-09-16libmpdclient: moved code to song.cMax Kellermann5-133/+231
Move everything which manipulates the mpd_Song struct to song.c. Thousands of lines of too much for libmpdclient.c!
2008-09-16mpdclient: add struct names, for forward declarationsMax Kellermann1-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.
2008-09-16libmpdclient: const pointersMax Kellermann2-2/+2
Pass const pointers whenever possible.
2008-09-16code style, indent with tabs IIMax Kellermann5-142/+128
Follow the same code style als MPD itself.
2008-09-16list_window: update variables without loopingMax Kellermann1-10/+14
Apparently, somebody was too lazy to derive the formulas for cursor movement, and wrote lots of while loops.
2008-09-16include cleanupMax Kellermann2-5/+5
Include only headers which are really used.
2008-09-15easy_download: fixed the type of write_data()Max Kellermann1-1/+3
Fix the type of write_data() to fit curl_write_callback.
2008-09-15use GArray for playlist instead of GListMax Kellermann3-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.
2008-09-15free info entity while iteratingMax Kellermann1-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.
2008-09-15manage tag string allocations in a poolMax Kellermann4-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.
2008-09-15added support for unix domain socketsMax Kellermann1-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.
2008-09-15lyrics: missing "break"Max Kellermann1-1/+2
If get_text_line() fails, we should break from the loop.
2008-09-15lyrics: converted global variables to staticMax Kellermann2-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.
2008-09-15fix unused parameter warningsMax Kellermann8-47/+59
Add the "unused" attribute to all function parameters which are indeed going to be ignored.
2008-09-15imported gcc.h from mpdMax Kellermann2-1/+71
gcc.h contains a useful set of macros for setting attributes.
2008-09-15don't declare local variable "options"Max Kellermann3-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).
2008-09-15use size_t and unsigned integersMax Kellermann18-114/+130
2008-09-15fixed mixed declaration + codeMax Kellermann3-16/+19
Although they are allowedd in C99, try to avoid them. Move variable declarations to the top of the current scope.
2008-09-15fix shadow warningsMax Kellermann10-144/+148
Rename local variables and function parameters, so they don't shadow global variables.
2008-09-15include cleanupMax Kellermann36-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.
2008-09-15screen_auth() returns resultMax Kellermann1-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.
2008-09-15fix function prototypesMax Kellermann15-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.
2008-09-15const pointersMax Kellermann33-134/+135
Convert pointers to const whenever it is possible. Fixes all those -Wconst warnings.
2008-09-15clock: don't initialize static variables with zeroMax Kellermann1-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.
2008-09-15screen: moved code to paint_top_window2()Max Kellermann1-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.
2008-09-15use !NDEBUG instead of DEBUGMax Kellermann4-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.
2008-09-15code style, indent with tabsMax Kellermann29-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.
2008-09-15remove unused static functionsMax Kellermann18-72/+17
Also remove some commented code and unused function parameters.
2008-09-15splash: removed the useless splash screenMax Kellermann7-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.
2008-01-18improve escaping of URLsAndreas Obergrusberger1-5/+5
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@7141 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-11-30make item highlighiting more appropriateAndreas Obergrusberger1-4/+1
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@7062 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-11-30cmd_select_all addedAndreas Obergrusberger6-0/+96
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@7061 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-08-26fixed 0001496Andreas Obergrusberger1-0/+13
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@6817 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-08-26Removed nested functionsAndreas Obergrusberger3-213/+335
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@6811 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-172 critical bugs in leoslyrics lyrics src fixedAndreas Obergrusberger1-2/+7
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@6630 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-29fix segfaultAndreas Obergrusberger2-3/+8
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5773 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-14ugh!Andreas Obergrusberger1-1/+1
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5621 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-16way too much stuff to describe hereAndreas Obergrusberger11-38/+127
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5346 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-01lyrics updates, leoslyrics fixesAndreas Obergrusberger5-16/+12
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5314 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-05fix user plugin dir; code cleanupAndreas Obergrusberger3-10/+16
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5220 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-03fix error display on lyrics screenAndreas Obergrusberger1-7/+7
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5219 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-03added a plugin system for lyrics sourcesAndreas Obergrusberger8-304/+566
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5217 09075e82-0dd4-0310-85a5-a0d7c8717e4f