summaryrefslogtreecommitdiff
path: root/libpiano/src/xml.c
diff options
context:
space:
mode:
authorLars-Dominik Braun <PromyLOPh@gmail.com>2008-06-19 15:49:23 +0200
committerLars-Dominik Braun <PromyLOPh@gmail.com>2008-06-19 15:49:23 +0200
commit880a0446c465d22ea3e36db838b8df1e594fa4da (patch)
tree150d66a02b7f99b193b6dda816896d15a190cd5a /libpiano/src/xml.c
parent3e76f37c014f867f3b99e482ecb071884322f5d3 (diff)
downloadpianobar-880a0446c465d22ea3e36db838b8df1e594fa4da.tar.gz
pianobar-880a0446c465d22ea3e36db838b8df1e594fa4da.tar.bz2
pianobar-880a0446c465d22ea3e36db838b8df1e594fa4da.zip
"Add more music" implemented
This can add more track/artist seeds to the currently played station
Diffstat (limited to 'libpiano/src/xml.c')
-rw-r--r--libpiano/src/xml.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/libpiano/src/xml.c b/libpiano/src/xml.c
index 1267951..2d9e82d 100644
--- a/libpiano/src/xml.c
+++ b/libpiano/src/xml.c
@@ -348,6 +348,31 @@ PianoReturn_t PianoXmlParseCreateStation (PianoHandle_t *ph, char *xml) {
return PIANO_RET_OK;
}
+/* parse "add seed" answer, nearly the same as ParseCreateStation
+ * @param piano handle
+ * @param xml document
+ * @param update this station
+ */
+PianoReturn_t PianoXmlParseAddSeed (PianoHandle_t *ph, char *xml,
+ PianoStation_t *station) {
+ xmlNode *docRoot;
+ xmlDocPtr doc;
+ PianoReturn_t ret;
+
+ if ((ret = PianoXmlInitDoc (xml, &doc, &docRoot)) != PIANO_RET_OK) {
+ return ret;
+ }
+
+ /* get <struct> node */
+ xmlNode *dataRoot = docRoot->children->children->children->children;
+ PianoDestroyStation (station);
+ PianoXmlStructParser (dataRoot, PianoXmlParseStationsCb, station);
+
+ xmlFreeDoc (doc);
+
+ return PIANO_RET_OK;
+}
+
/* parses playlist; used when searching too
* @param piano handle
* @param xml document