1. 25 Jan, 2009 1 commit
    • Max Kellermann's avatar
      use g_free() instead of free() · a45922cd
      Max Kellermann authored
      On some platforms, g_free() must be used for memory allocated by
      GLib.  This patch intends to correct a lot of occurrences, but is
      probably not complete.
      a45922cd
  2. 24 Jan, 2009 5 commits
  3. 22 Jan, 2009 1 commit
  4. 18 Jan, 2009 1 commit
  5. 04 Jan, 2009 1 commit
  6. 03 Jan, 2009 1 commit
  7. 24 Nov, 2008 1 commit
  8. 22 Oct, 2008 2 commits
  9. 15 Oct, 2008 1 commit
  10. 08 Oct, 2008 6 commits
  11. 07 Oct, 2008 2 commits
  12. 29 Sep, 2008 2 commits
    • Eric Wong's avatar
      Switch to C99 types (retaining compat with old compilers) · 0352766d
      Eric Wong authored
      Seeing the "mpd_" prefix _everywhere_ is mind-numbing as the
      mind needs to retrain itself to skip over the first 4 tokens of
      a type to get to its meaning.  So avoid having extra characters
      on my terminal to make it easier to follow code at 2:30 am in
      the morning.
      
      Please report any new issues you may come across on Free
      toolchains.  I realize how difficult it can be to build/maintain
      cross-compiling toolchains and I have no intention of forcing
      people to upgrade their toolchains to build mpd.
      
      Tested with gcc 2.95.4 and and gcc 4.3.1 on x86-32.
      0352766d
    • Eric Wong's avatar
      allow searching for albums with an empty tag · a4019f7d
      Eric Wong authored
      tfing wrote:
      > I have quite some files with an empty album tag as they do not come
      > from a particular album.
      >
      > If I want to look for those files and browse them, this happens:
      > :: nc localhost 6600
      > OK MPD 0.12.0
      > find album ""
      > ACK [2@0] {find} too few arguments for "find"
      >
      > I'd like to be able to browse those files in a client like gmpc.
      > So these 2 items would have to be developed:
      > - list album should report that some files have an empty tag
      > - it should be possible to search for an empty tag with the find command
      
      Patch-by: Marc Pavot
      ref: http://musicpd.org/mantis/view.php?id=464
      a4019f7d
  13. 23 Sep, 2008 1 commit
    • Eric Wong's avatar
      Replace SongList with struct songvec · 0bec1d38
      Eric Wong authored
      Our linked-list implementation is wasteful and the
      SongList isn't modified enough to benefit from being a linked
      list.  So use a more compact array of song pointers which
      saves ~200K on a library with ~9K songs (on x86-32).
      0bec1d38
  14. 08 Sep, 2008 1 commit
    • Max Kellermann's avatar
      use strset.h instead of tagTracker.h · f0e64ceb
      Max Kellermann authored
      With a large music database, the linear string collection in
      tagTracker.c becomes very slow.  We implemented that in a
      quick'n'dirty fashion when we removed tree.c, and now we rewrite it
      using the fast hashed string set.
      f0e64ceb
  15. 07 Sep, 2008 7 commits
    • Max Kellermann's avatar
      tag: don't pass "fd" to printVisitedInTagTracker() · 4665f2bf
      Max Kellermann authored
      Pass the client struct instead of the raw file descriptor.
      4665f2bf
    • Max Kellermann's avatar
      pass "struct client" to dbUtils.c, song.c, tag_print.c · dc8b64fd
      Max Kellermann authored
      Don't pass the raw file descriptor around.  This migration patch is
      rather large, because all of the sources have inter dependencies - we
      have to change all of them at the same time.
      dc8b64fd
    • Max Kellermann's avatar
      directory: don't pass fd to traverseAllIn() · f320c9fa
      Max Kellermann authored
      This patch continues the work of the previous patch: don't pass a file
      descriptor at all to traverseAllIn().  Since this fd was only used to
      report "directory not found" errors, we can easily move that check to
      the caller.  This is a great relief, since it removes the dependency
      on a client connection from a lot of enumeration functions.
      f320c9fa
    • Max Kellermann's avatar
      directory: don't pass fd to traverseAllIn() callbacks · 528be8a0
      Max Kellermann authored
      Database traversal should be generic, and not bound to a client
      connection.  This is the first step: no file descriptor for the
      callback functions forEachSong() and forEachDir().  If a callback
      needs the file descriptor, it has to be passed in the void*data
      pointer somehow; some callbacks might need a new struct for passing
      more than one parameter.  This might look a bit cumbersome right now,
      but our goal is to have a clean API.
      528be8a0
    • Max Kellermann's avatar
      playlist: don't pass "fd" to storedPlaylist.c functions · a8b225f9
      Max Kellermann authored
      Return an "enum playlist_result" value instead of calling
      commandError() in storedPlaylist.c.
      a8b225f9
    • Max Kellermann's avatar
      playlist: don't pass "fd" to playlist.c functions · 8d2830b3
      Max Kellermann authored
      The playlist library shouldn't talk to the client if possible.
      Introduce the "enum playlist_result" type which the caller
      (i.e. command.c) may use to generate an error message.
      8d2830b3
    • Max Kellermann's avatar
      song: moved code to song_print.c, song_save.c · 75aa8dad
      Max Kellermann authored
      Move everything which dumps song information (via tag_print.c) to a
      separate source file.  song_print.c gets code which writes song data
      to the client; song_save.c is responsible for serializing songs from
      the tag cache.
      75aa8dad
  16. 06 Sep, 2008 1 commit
  17. 29 Aug, 2008 2 commits
  18. 26 Aug, 2008 2 commits
  19. 26 Mar, 2008 1 commit
  20. 26 Jan, 2008 1 commit
    • Eric Wong's avatar
      addToPlaylist/addSongToPlaylist: printId argument changed to added_id · 2f0e5bfd
      Eric Wong authored
      Instead of printing out the Id from playlist.c, instead set
      the integer that added_id poitns to if added_id is non-NULL.
      
      This makes the API cleaner and will allow us to use additional
      commands to manipulate the newly-added song_id.  Callers
      (handleAddId) that relied on printId to print it to the given
      fd have now been modified to print the ID at a higher-level;
      making playlist.c less-dependent on protocol details.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7149 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      2f0e5bfd