comparison src/streambrowser/streambrowser.c @ 2570:28498c0bde64

Initial commit for the streambrowser plugin
author Calin Crisan ccrisan@gmail.com
date Sat, 17 May 2008 02:50:10 +0300
parents
children 6d6a3eb67510
comparison
equal deleted inserted replaced
2569:049f212e7e00 2570:28498c0bde64
1
2 #include <stdlib.h>
3 #include <gtk/gtk.h>
4 #include <audacious/plugin.h>
5 #include <audacious/ui_plugin_menu.h>
6
7 #include "streambrowser.h"
8 #include "streamdir.h"
9 #include "shoutcast.h"
10
11
12 static void sb_init();
13 static void sb_about();
14 static void sb_configure();
15 static void sb_cleanup();
16
17 static void menu_click();
18 static void add_plugin_services_menu_item();
19
20
21 static GeneralPlugin sb_plugin =
22 {
23 .description = "Stream Browser",
24 .init = sb_init,
25 .about = sb_about,
26 .configure = sb_configure,
27 .cleanup = sb_cleanup
28 };
29
30 GeneralPlugin *sb_gplist[] =
31 {
32 &sb_plugin,
33 NULL
34 };
35
36 SIMPLE_GENERAL_PLUGIN(streambrowser, sb_gplist);
37
38
39 void debug(const char *fmt, ...)
40 {
41 // todo: replace with config->debug
42 if (TRUE) {
43 va_list ap;
44 fprintf(stderr, "* streambrowser: ");
45 va_start(ap, fmt);
46 vfprintf(stderr, fmt, ap);
47 va_end(ap);
48 }
49 }
50
51 void error(const char *fmt, ...)
52 {
53 va_list ap;
54 fprintf(stderr, "! streambrowser: ");
55 va_start(ap, fmt);
56 vfprintf(stderr, fmt, ap);
57 va_end(ap);
58 }
59
60
61 static void sb_init()
62 {
63 debug("sb_init()\n");
64
65 //shoutcast_streamdir_fetch();
66 }
67
68 static void sb_about()
69 {
70 debug("sb_about()\n");
71 }
72
73 static void sb_configure()
74 {
75 debug("sb_configure()\n");
76 }
77
78 static void sb_cleanup()
79 {
80 debug("sb_cleanup()\n");
81 }
82
83 static void menu_click()
84 {
85 debug("menu_click()\n");
86 }
87
88 static void add_plugin_services_menu_item()
89 {
90 /*
91 GtkWidget *menu_item;
92
93 menu_item = gtk_image_menu_item_new_with_label("SB Test");
94 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), gtk_image_new_from_stock(GTK_STOCK_CDROM, GTK_ICON_SIZE_MENU));
95 gtk_widget_show(menu_item);
96 audacious_menu_plugin_item_add(AUDACIOUS_MENU_PLAYLIST_RCLICK, menu_item);
97 g_signal_connect(G_OBJECT(menu_item), "activate", G_CALLBACK(menu_click), NULL);
98 */
99 }
100