/* ----------------------------------------------------------------------- */ bool bookmark_mrb_load() { char* bookmark; bool ret = false; push_current_activity(ACTIVITY_BOOKMARKSLIST); select_bookmark(RECENT_BOOKMARK_FILE, false, &bookmark); if (bookmark != NULL) { ret = play_bookmark(bookmark); } pop_current_activity(); return ret; }
/* ------------------------------------------------------------------------*/ bool bookmark_autoload(const char* file, const char *track) { char* bookmark; if(global_settings.autoloadbookmark == BOOKMARK_NO) return false; /*Checking to see if a bookmark file exists.*/ if(!generate_bookmark_file_name(file)) { return false; } if(!file_exists(global_bookmark_file_name)) return false; if(global_settings.autoloadbookmark == BOOKMARK_YES) { return bookmark_load(global_bookmark_file_name, true); } else { /* normal "ask" mode does not filter by track */ if (global_settings.autoloadbookmark == BOOKMARK_ASK) track = NULL; int ret = select_bookmark(global_bookmark_file_name, true, track, &bookmark); if (bookmark != NULL) { if (!play_bookmark(bookmark)) { /* Selected bookmark not found. */ splash(HZ*2, ID2P(LANG_NOTHING_TO_RESUME)); } /* Act as if autoload was done even if it failed, since the * user did make an active selection. */ return true; } return ret != BOOKMARK_SUCCESS; } }
/* ----------------------------------------------------------------------- */ int bookmark_load_menu(void) { char* bookmark; int ret = BOOKMARK_FAIL; push_current_activity(ACTIVITY_BOOKMARKSLIST); char* name = playlist_get_name(NULL, global_temp_buffer, sizeof(global_temp_buffer)); if (generate_bookmark_file_name(name)) { ret = select_bookmark(global_bookmark_file_name, false, &bookmark); if (bookmark != NULL) { ret = play_bookmark(bookmark) ? BOOKMARK_SUCCESS : BOOKMARK_FAIL; } } pop_current_activity(); return ret; }
/* ------------------------------------------------------------------------*/ bool bookmark_load(const char* file, bool autoload) { int fd; char* bookmark = NULL; if(autoload) { fd = open(file, O_RDONLY); if(fd >= 0) { if(read_line(fd, global_read_buffer, sizeof(global_read_buffer)) > 0) bookmark=global_read_buffer; close(fd); } } else { /* This is not an auto-load, so list the bookmarks */ select_bookmark(file, false, &bookmark); } if (bookmark != NULL) { if (!play_bookmark(bookmark)) { /* Selected bookmark not found. */ if (!autoload) { splash(HZ*2, ID2P(LANG_NOTHING_TO_RESUME)); } return false; } } return true; }