Index: plugin.c =================================================================== RCS file: /cvsroot/rockbox/apps/plugin.c,v retrieving revision 1.5 diff -u -r1.5 plugin.c --- plugin.c 13 Jul 2003 22:15:18 -0000 1.5 +++ plugin.c 19 Jul 2003 00:53:46 -0000 @@ -31,6 +31,7 @@ #include "plugin.h" #include "lang.h" #include "keyboard.h" +#include "mpeg.h" #ifdef HAVE_LCD_BITMAP #include "widgets.h" @@ -134,6 +135,7 @@ splash, qsort, kbd_input, + mpeg_current_track, }; int plugin_load(char* plugin, void* parameter) Index: plugin.h =================================================================== RCS file: /cvsroot/rockbox/apps/plugin.h,v retrieving revision 1.4 diff -u -r1.4 plugin.h --- plugin.h 13 Jul 2003 22:15:19 -0000 1.4 +++ plugin.h 19 Jul 2003 00:53:46 -0000 @@ -39,9 +39,10 @@ #include "font.h" #include "system.h" #include "lcd.h" - +#include "id3.h" +#include "mpeg.h" /* increase this every time the api struct changes */ -#define PLUGIN_API_VERSION 4 +#define PLUGIN_API_VERSION 5 /* plugin return codes */ enum plugin_status { @@ -162,6 +163,7 @@ void (*qsort)(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *)); int (*kbd_input)(char* buffer, int buflen); + struct mp3entry* (*mpeg_current_track)(); }; /* defined by the plugin loader (plugin.c) */ Index: main_menu.c =================================================================== RCS file: /cvsroot/rockbox/apps/main_menu.c,v retrieving revision 1.83 diff -u -r1.83 main_menu.c --- main_menu.c 1 Jul 2003 21:03:28 -0000 1.83 +++ main_menu.c 19 Jul 2003 00:53:46 -0000 @@ -72,6 +72,8 @@ #endif /* End HAVE_LCD_BITMAP */ +#include "plugin.h" + int show_logo( void ) { #ifdef HAVE_LCD_BITMAP @@ -251,6 +253,13 @@ return false; } +bool save_favorite(void) +{ + if (plugin_load("/.rockbox/rocks/favorites.rock",NULL)==PLUGIN_USB_CONNECTED) + return true; + return false; +} + bool main_menu(void) { int m; @@ -258,6 +267,7 @@ /* main menu */ struct menu_items items[] = { + { "Save Favorite", save_favorite}, { str(LANG_SOUND_SETTINGS), sound_menu }, { str(LANG_GENERAL_SETTINGS), settings_menu }, #ifdef HAVE_FMRADIO