packages (DEVEL): libmpd/libmpd-playlist.patch (NEW) - fix MPD_PLAYLIST_LOA...
lisu
lisu at pld-linux.org
Tue Apr 6 14:05:11 CEST 2010
Author: lisu Date: Tue Apr 6 12:05:11 2010 GMT
Module: packages Tag: DEVEL
---- Log message:
- fix MPD_PLAYLIST_LOAD_FAILED problem
---- Files affected:
packages/libmpd:
libmpd-playlist.patch (NONE -> 1.1.2.1) (NEW)
---- Diffs:
================================================================
Index: packages/libmpd/libmpd-playlist.patch
diff -u /dev/null packages/libmpd/libmpd-playlist.patch:1.1.2.1
--- /dev/null Tue Apr 6 14:05:11 2010
+++ packages/libmpd/libmpd-playlist.patch Tue Apr 6 14:05:06 2010
@@ -0,0 +1,78 @@
+--- a/src/libmpd-playlist.c
++++ b/src/libmpd-playlist.c
+@@ -588,6 +588,9 @@ int mpd_playlist_queue_commit(MpdObj *mi)
+ }
+ mpd_sendCommandListEnd(mi->connection);
+ mpd_finishCommand(mi->connection);
++
++
++
+ mpd_unlock_conn(mi);
+ mpd_status_update(mi);
+ return MPD_OK;
+@@ -765,3 +768,34 @@ MpdData * mpd_playlist_search_commit(MpdObj *mi)
+ return mpd_data_get_first(data);
+ }
+
++
++int mpd_playlist_load(MpdObj *mi, const char *path)
++{
++ int retv = MPD_OK;
++ if(!mpd_check_connected(mi))
++ {
++ debug_printf(DEBUG_WARNING,"mpd_playlist_load: not connected\n");
++ return MPD_NOT_CONNECTED;
++ }
++ if(mpd_lock_conn(mi))
++ {
++ debug_printf(DEBUG_ERROR,"lock failed\n");
++ return NULL;
++ }
++ mpd_sendLoadCommand(mi->connection,path);
++ mpd_finishCommand(mi->connection);
++ printf("mi->connection->errorCode: %i\n", mi->connection->errorCode);
++ if(mi->connection->errorCode == MPD_ACK_ERROR_NO_EXIST)
++ {
++ debug_printf(DEBUG_WARNING, "mpd_playlist_load: failed to load playlist\n");
++ mpd_clearError(mi->connection);
++ retv = MPD_PLAYLIST_LOAD_FAILED;
++ }
++
++ if(mpd_unlock_conn(mi))
++ {
++ debug_printf(DEBUG_ERROR, "Failed to unlock connection");
++ return MPD_LOCK_FAILED;
++ }
++ return retv;
++}
+--- a/src/libmpd-playlist.h
++++ b/src/libmpd-playlist.h
+@@ -341,6 +341,15 @@ int mpd_playlist_mpd_queue_add(MpdObj *mi, int songid);
+ */
+ int mpd_playlist_mpd_queue_remove(MpdObj *mi, int songpos);
+
++/**
++ * @param mi a #MpdObj
++ * @param path The path to a playlist to load
++ *
++ * This queues a load command. The actual load isn't done until #mpd_playlist_queue_commit is called
++ *
++ * @returns a #MpdError
++ */
++int mpd_playlist_load (MpdObj *mi,const char *path);
+ /*@}*/
+
+ #endif
+--- a/src/libmpd.h
++++ b/src/libmpd.h
+@@ -84,6 +84,9 @@ typedef enum {
+
+ /** Tag Item not found */
+ MPD_TAG_NOT_FOUND = -90,
++
++ /* MPD_PLALIST_LOAD_FAILED */
++ MPD_PLAYLIST_LOAD_FAILED = -100,
+
+ /** Fatal error, something I am not sure what todo with */
+ MPD_FATAL_ERROR = -1000
+
================================================================
More information about the pld-cvs-commit
mailing list