2891
|
1 /*
|
|
2 * Audacious Streambrowser Plugin
|
|
3 *
|
|
4 * Copyright (c) 2008 Calin Crisan <ccrisan@gmail.com>
|
|
5 *
|
|
6 * This program is free software; you can redistribute it and/or modify
|
|
7 * it under the terms of the GNU General Public License as published by
|
|
8 * the Free Software Foundation; under version 3 of the License.
|
|
9 *
|
|
10 * This program is distributed in the hope that it will be useful,
|
|
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13 * GNU General Public License for more details.
|
|
14 *
|
|
15 * You should have received a copy of the GNU General Public License
|
|
16 * along with this program. If not, see <http://www.gnu.org/licenses>.
|
|
17 */
|
|
18
|
|
19
|
|
20 #include <string.h>
|
|
21 #include <glib.h>
|
|
22 #include <audacious/plugin.h>
|
|
23
|
|
24 #include "streambrowser.h"
|
|
25 #include "bookmarks.h"
|
|
26
|
|
27
|
|
28 static bookmark_t *bookmarks;
|
|
29 static int bookmarks_count;
|
|
30
|
|
31 gboolean bookmarks_streaminfo_fetch(category_t *category, streaminfo_t *streaminfo)
|
|
32 {
|
|
33 }
|
|
34
|
|
35 gboolean bookmarks_category_fetch(streamdir_t *streamdir, category_t *category)
|
|
36 {
|
|
37 debug("bookmarks: filling category '%s'\n", category->name);
|
|
38
|
|
39 /* free/remove any existing streaminfos in this category */
|
|
40 while (streaminfo_get_count(category) > 0)
|
|
41 streaminfo_remove(category, streaminfo_get_by_index(category, 0));
|
|
42
|
|
43 int i;
|
|
44 /* find bookmarks that match this category */
|
|
45 for (i = 0; i < bookmarks_count; i++)
|
|
46 if (strcmp(bookmarks[i].streamdir_name, streamdir->name) == 0 &&
|
|
47 strcmp(bookmarks[i].category_name, category->name) == 0) {
|
|
48
|
|
49 debug("bookmarks: adding stream info for '%s/%d'\n", streamdir->name, category->name);
|
|
50
|
|
51 streaminfo_t *streaminfo = streaminfo_new(bookmarks[i].name, bookmarks[i].playlist_url, bookmarks[i].url, "");
|
|
52 streaminfo_add(category, streaminfo);
|
|
53
|
|
54 debug("bookmarks: stream info added\n");
|
|
55 }
|
|
56
|
|
57 return TRUE;
|
|
58 }
|
|
59
|
|
60 streamdir_t* bookmarks_streamdir_fetch(bookmark_t *bms, int count)
|
|
61 {
|
|
62 bookmarks = bms;
|
|
63 bookmarks_count = count;
|
|
64
|
|
65 streamdir_t *streamdir = streamdir_new(BOOKMARKS_NAME);
|
|
66
|
|
67 debug("bookmarks: creating streaming directory for bookmarks\n");
|
|
68
|
|
69 category_t *category = category_new("Shoutcast");
|
|
70 category_add(streamdir, category);
|
|
71
|
|
72 category = category_new("Xiph");
|
|
73 category_add(streamdir, category);
|
|
74
|
|
75 debug("bookmarks: streaming directory successfuly created\n");
|
|
76
|
|
77 return streamdir;
|
|
78 }
|
|
79
|