annotate src/streambrowser/xiph.c @ 2815:cc6f02424609

added initial support for xiph streaming directory; small bug fixes & code cleanups
author Calin Crisan ccrisan@gmail.com
date Sun, 13 Jul 2008 04:00:04 +0300
parents
children e883536cefe0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2815
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
1 /*
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
2 * Audacious Streambrowser Plugin
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
3 *
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
4 * Copyright (c) 2008 Calin Crisan <ccrisan@gmail.com>
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
5 *
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
8 * the Free Software Foundation; under version 3 of the License.
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
9 *
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful,
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
13 * GNU General Public License for more details.
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
14 *
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
16 * along with this program. If not, see <http://www.gnu.org/licenses>.
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
17 */
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
18
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
19
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
20 #include <string.h>
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
21 #include <glib.h>
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
22 #include <libxml/parser.h>
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
23 #include <libxml/tree.h>
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
24 #include <audacious/plugin.h>
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
25
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
26 #include "streambrowser.h"
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
27 #include "xiph.h"
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
28
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
29
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
30 typedef struct {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
31 gchar name[DEF_STRING_LEN];
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
32 gchar url[DEF_STRING_LEN];
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
33 gchar current_song[DEF_STRING_LEN];
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
34 gchar genre[DEF_STRING_LEN];
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
35 } xiph_entry_t;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
36
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
37
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
38 static xiph_entry_t *xiph_entries = NULL;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
39 static int xiph_entry_count = 0;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
40 static gchar *categories[] = {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
41 // todo: complete this list
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
42 "alternative",
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
43 "dance",
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
44 "techno",
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
45 "rock",
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
46 "pop"
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
47 };
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
48
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
49
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
50 void refresh_streamdir();
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
51
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
52
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
53
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
54 gboolean xiph_category_fetch(category_t *category)
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
55 {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
56 int entryno;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
57
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
58 /* see what entries match this category */
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
59 for (entryno = 0; entryno < xiph_entry_count; entryno++) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
60
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
61 if (mystrcasestr(xiph_entries[entryno].genre, category->name)) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
62 streaminfo_t *streaminfo = streaminfo_new(xiph_entries[entryno].name, "", xiph_entries[entryno].url, xiph_entries[entryno].current_song);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
63 streaminfo_add(category, streaminfo);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
64 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
65
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
66 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
67
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
68 return TRUE;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
69 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
70
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
71
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
72 streamdir_t* xiph_streamdir_fetch()
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
73 {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
74 streamdir_t *streamdir = streamdir_new(XIPH_NAME);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
75 int categno;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
76
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
77 refresh_streamdir();
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
78
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
79 for (categno = 0; categno < sizeof(categories) / sizeof(gchar *); categno++) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
80 category_t *category = category_new(categories[categno]);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
81 category_add(streamdir, category);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
82 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
83
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
84 return streamdir;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
85 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
86
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
87 void refresh_streamdir()
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
88 {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
89 /* free any previously fetched streamdir data */
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
90 if (xiph_entries != NULL)
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
91 free(xiph_entries);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
92 xiph_entry_count = 0;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
93
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
94 debug("xiph: fetching streaming directory file '%s'\n", XIPH_STREAMDIR_URL);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
95 if (!fetch_remote_to_local_file(XIPH_STREAMDIR_URL, XIPH_TEMP_FILENAME)) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
96 failure("xiph: stream directory file '%s' could not be downloaded to '%s'\n", XIPH_STREAMDIR_URL, XIPH_TEMP_FILENAME);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
97 return;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
98 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
99 debug("xiph: stream directory file '%s' successfuly downloaded to '%s'\n", XIPH_STREAMDIR_URL, XIPH_TEMP_FILENAME);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
100
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
101 xmlDoc *doc = xmlReadFile(XIPH_TEMP_FILENAME, NULL, 0);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
102 if (doc == NULL) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
103 failure("xiph: failed to read stream directory file\n");
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
104 return;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
105 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
106
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
107 xmlNode *root_node = xmlDocGetRootElement(doc);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
108 xmlNode *node, *child;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
109 gchar *content;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
110
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
111 root_node = root_node->children;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
112
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
113 for (node = root_node; node != NULL; node = node->next) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
114 if (node->type == XML_ELEMENT_NODE) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
115 xiph_entries = realloc(xiph_entries, sizeof(xiph_entry_t) * (xiph_entry_count + 1));
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
116
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
117 for (child = node->children; child != NULL; child = child->next) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
118 if (strcmp((gchar *)child->name, "server_name") == 0) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
119 content = (gchar *) xmlNodeGetContent(child);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
120 strcpy(xiph_entries[xiph_entry_count].name, content);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
121 xmlFree(content);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
122 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
123 else if (strcmp((gchar *)child->name, "listen_url") == 0) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
124 content = (gchar *) xmlNodeGetContent(child);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
125 strcpy(xiph_entries[xiph_entry_count].url, content);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
126 xmlFree(content);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
127 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
128 else if (strcmp((gchar *)child->name, "current_song") == 0) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
129 content = (gchar *) xmlNodeGetContent(child);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
130 strcpy(xiph_entries[xiph_entry_count].current_song, content);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
131 xmlFree(content);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
132 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
133 else if (strcmp((gchar *)child->name, "genre") == 0) {
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
134 content = (gchar *) xmlNodeGetContent(child);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
135 strcpy(xiph_entries[xiph_entry_count].genre, content);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
136 xmlFree(content);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
137 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
138 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
139
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
140 xiph_entry_count++;
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
141 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
142 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
143
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
144 xmlFreeDoc(doc);
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
145
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
146 debug("xiph: streaming directory successfuly loaded\n");
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
147 }
cc6f02424609 added initial support for xiph streaming directory; small bug fixes & code cleanups
Calin Crisan ccrisan@gmail.com
parents:
diff changeset
148