Mercurial > audlegacy-plugins
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/streambrowser/streambrowser.c Sat May 17 02:50:10 2008 +0300 @@ -0,0 +1,100 @@ + +#include <stdlib.h> +#include <gtk/gtk.h> +#include <audacious/plugin.h> +#include <audacious/ui_plugin_menu.h> + +#include "streambrowser.h" +#include "streamdir.h" +#include "shoutcast.h" + + +static void sb_init(); +static void sb_about(); +static void sb_configure(); +static void sb_cleanup(); + +static void menu_click(); +static void add_plugin_services_menu_item(); + + +static GeneralPlugin sb_plugin = +{ + .description = "Stream Browser", + .init = sb_init, + .about = sb_about, + .configure = sb_configure, + .cleanup = sb_cleanup +}; + +GeneralPlugin *sb_gplist[] = +{ + &sb_plugin, + NULL +}; + +SIMPLE_GENERAL_PLUGIN(streambrowser, sb_gplist); + + +void debug(const char *fmt, ...) +{ + // todo: replace with config->debug + if (TRUE) { + va_list ap; + fprintf(stderr, "* streambrowser: "); + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + } +} + +void error(const char *fmt, ...) +{ + va_list ap; + fprintf(stderr, "! streambrowser: "); + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); +} + + +static void sb_init() +{ + debug("sb_init()\n"); + + //shoutcast_streamdir_fetch(); +} + +static void sb_about() +{ + debug("sb_about()\n"); +} + +static void sb_configure() +{ + debug("sb_configure()\n"); +} + +static void sb_cleanup() +{ + debug("sb_cleanup()\n"); +} + +static void menu_click() +{ + debug("menu_click()\n"); +} + +static void add_plugin_services_menu_item() +{ + /* + GtkWidget *menu_item; + + menu_item = gtk_image_menu_item_new_with_label("SB Test"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), gtk_image_new_from_stock(GTK_STOCK_CDROM, GTK_ICON_SIZE_MENU)); + gtk_widget_show(menu_item); + audacious_menu_plugin_item_add(AUDACIOUS_MENU_PLAYLIST_RCLICK, menu_item); + g_signal_connect(G_OBJECT(menu_item), "activate", G_CALLBACK(menu_click), NULL); + */ +} +