Index: rockbox/apps/lang/english.lang
===================================================================
--- apps/lang/english.lang (revision 15258)
+++ apps/lang/english.lang (working copy)
@@ -11431,3 +11431,87 @@
*: "Empty list"
+
+ id: LANG_BOOKMARK_SYSTEM_FAILURE
+ desc: Basic sanity check for information needed to bookmark failed
+ user:
+
+ *: "Invalid Bookmark State!"
+
+
+ *: "Invalid Bookmark State!"
+
+
+ *: "Invalid Bookmark State!"
+
+
+
+ id: LANG_BOOKMARK_DATA_CREATE_FAILURE
+ desc: Indicates bookmark was not created
+ user:
+
+ *: "Error Building Bookmark!"
+
+
+ *: "Error Building Bookmark!"
+
+
+ *: "Error Building Bookmark!"
+
+
+
+ id: LANG_BOOKMARK_NO_TRACK
+ desc: Could not find a playing track to bookmark
+ user:
+
+ *: "No Track Playing!"
+
+
+ *: "No Track Playing!"
+
+
+ *: "No Track Playing!"
+
+
+
+ id: LANG_BOOKMARK_NO_ID3
+ desc: Could not find a playing track to bookmark
+ user:
+
+ *: "Track Missing ID3!"
+
+
+ *: "Track Missing ID3!"
+
+
+ *: "Track Missing ID3!"
+
+
+
+ id: LANG_BOOKMARK_BAD_INFO
+ desc: Could not load resume info to create a bookmark from
+ user:
+
+ *: "No Resume Info Found!"
+
+
+ *: "No Resume Info Found!"
+
+
+ *: "No Resume Info Found!"
+
+
+
+ id: LANG_BOOKMARK_PLAYLIST_MODIFIED
+ desc: Cannot bookmark a modified playlist
+ user:
+
+ *: "Playlist Modified! Please Save Playlist"
+
+
+ *: "Playlist Modified! Please Save Playlist"
+
+
+ *: "Playlist Modified! Please Save Playlist"
+
+
Index: rockbox/apps/bookmark.c
===================================================================
--- apps/bookmark.c (revision 15258)
+++ apps/bookmark.c (working copy)
@@ -222,17 +222,21 @@
bool success=false;
char* bookmark;
- if (!system_check())
+ if (!system_check()) {
+ gui_syncsplash(HZ, ID2P(LANG_BOOKMARK_SYSTEM_FAILURE));
return false; /* something didn't happen correctly, do nothing */
+ }
bookmark = create_bookmark();
- if (!bookmark)
- return false; /* something didn't happen correctly, do nothing */
+ if (!bookmark) {
+ gui_syncsplash(HZ, ID2P(LANG_BOOKMARK_DATA_CREATE_FAILURE));
+ return false; /* something didn't happen correctly, do nothing */
+ }
- if (global_settings.usemrb)
+ if (global_settings.usemrb) {
success = add_bookmark(RECENT_BOOKMARK_FILE, bookmark, true);
+ }
-
/* writing the bookmark */
if (create_bookmark_file)
{
@@ -984,11 +988,10 @@
{
bool exist=false;
- if(system_check())
- {
- char* name = playlist_get_name(NULL, global_temp_buffer,
+ char* name = playlist_get_name(NULL, global_temp_buffer,
sizeof(global_temp_buffer));
- if (generate_bookmark_file_name(name))
+ if(name) {
+ if (generate_bookmark_file_name(name))
{
int fd=open(global_bookmark_file_name, O_RDONLY);
if (fd >=0)
@@ -1015,20 +1018,30 @@
{
int resume_index = 0;
- if (!(audio_status() && audio_current_track()))
- {
+ if(!audio_status()) {
+ gui_syncsplash(HZ, ID2P(LANG_BOOKMARK_NO_TRACK));
+
/* no track playing */
return false;
+ } else if(!audio_current_track()) {
+ gui_syncsplash(HZ, ID2P(LANG_BOOKMARK_NO_ID3));
+
+ /* playing track is missing id3 tags */
+ return false;
}
/* Checking to see if playing a queued track */
if (playlist_get_resume_info(&resume_index) == -1)
{
+ gui_syncsplash(HZ, ID2P(LANG_BOOKMARK_BAD_INFO));
+
/* something bad happened while getting the queue information */
return false;
}
else if (playlist_modified(NULL))
{
+ gui_syncsplash(HZ, ID2P(LANG_BOOKMARK_PLAYLIST_MODIFIED));
+
/* can't bookmark while in the queue */
return false;
}