Thank You for your continued support and contributions!
Subject: [PATCH] Allow excluding a directory from bookmarkingLong pressing a directory in the file browser will reveal a new 'Set As...' option of 'Bookmark Exclude Directory'.This patch will not call the bookmarking code if the defined directory is found at the beginning of the path to the currently playing track.On a disk with the following example directories:'/Audio books''/Podcasts''/Music'One can now easily exclude '/Music' while still keeping bookmarking enabled for all other directories.
--- a/apps/gui/wps.c+++ b/apps/gui/wps.c@@ -615,7 +615,13 @@ static long do_wps_exit(long action, bool bookmark) audio_pause(); update_non_static(); if (bookmark)- bookmark_autobookmark(true);+ {+ if(strncmp(get_wps_state()->id3->path, global_settings.bookmark_exclude_dir,+ strlen(global_settings.bookmark_exclude_dir)) != 0)+ {+ bookmark_autobookmark(true);+ }+ } audio_stop(); ab_reset_markers();--- a/apps/lang/english.lang+++ b/apps/lang/english.lang@@ -16573,3 +16573,17 @@ *: "tracks saved" </voice> </phrase>+<phrase>+ id: LANG_BOOKMARK_EXCLUDE_DIR+ desc: used in the onplay menu+ user: core+ <source>+ *: "Bookmark Exclude Directory"+ </source>+ <dest>+ *: "Bookmark Exclude Directory"+ </dest>+ <voice>+ *: "Bookmark Exclude Directory"+ </voice>+</phrase>--- a/apps/onplay.c+++ b/apps/onplay.c@@ -891,6 +891,15 @@ static bool set_startdir(void) MENUITEM_FUNCTION(set_startdir_item, 0, ID2P(LANG_START_DIR), set_startdir, clipboard_callback, Icon_file_view_menu); +static bool set_bookmark_exclude_dir(void)+{+ set_dir_helper(global_settings.bookmark_exclude_dir,+ sizeof(global_settings.bookmark_exclude_dir));+ return false;+}+MENUITEM_FUNCTION(set_bookmark_exclude_dir_item, 0, ID2P(LANG_BOOKMARK_EXCLUDE_DIR),+ set_bookmark_exclude_dir, clipboard_callback, Icon_file_view_menu);+ static bool set_catalogdir(void) { catalog_set_directory(selected_file.path);@@ -926,7 +935,8 @@ MAKE_ONPLAYMENU(set_as_dir_menu, ID2P(LANG_SET_AS), #ifdef HAVE_RECORDING &set_recdir_item, #endif- &set_startdir_item);+ &set_startdir_item,+ &set_bookmark_exclude_dir_item); static int clipboard_callback(int action, const struct menu_item_ex *this_item,@@ -983,6 +993,7 @@ static int clipboard_callback(int action, /* only for directories */ if (this_item == &delete_dir_item || this_item == &set_startdir_item ||+ this_item == &set_bookmark_exclude_dir_item || this_item == &set_catalogdir_item || #ifdef HAVE_TAGCACHE this_item == &set_databasedir_item ||--- a/apps/settings.h+++ b/apps/settings.h@@ -867,6 +867,7 @@ struct user_settings #endif char start_directory[MAX_PATHNAME+1];+ char bookmark_exclude_dir[MAX_PATHNAME+1]; /* Has the root been customized from the .cfg file? false = no, true = loaded from cfg */ bool root_menu_customized; #ifdef HAVE_QUICKSCREEN--- a/apps/settings_list.c+++ b/apps/settings_list.c@@ -1397,6 +1397,7 @@ const struct settings_list settings[] = { #endif /* HAVE_DISK_STORAGE */ /* browser */ TEXT_SETTING(0, start_directory, "start directory", "/", NULL, NULL),+ TEXT_SETTING(0, bookmark_exclude_dir, "bookmark exclude directory", "/Music/", NULL, NULL), CHOICE_SETTING(0, dirfilter, LANG_FILTER, SHOW_SUPPORTED, "show files", "all,supported,music,playlists", NULL, 4, ID2P(LANG_ALL), ID2P(LANG_FILTER_SUPPORTED), ID2P(LANG_FILTER_MUSIC),
patch -p1 < patch_file.patch
static char* create_bookmark(char **name, size_t *namelen, struct resume_info *resume_info){[...] resume_info->id3->
Not completely sure what you are trying for hereis it that you want to block auto bookmarks for a particular directory or all bookmarks if its in that dir?
You can also configure what directories will save bookmarks by creating a file named’bookmark.ignore’ in a directory you would like to never create a bookmark when filesare played from it.Note: You can still manually create a bookmark but ignored directories will not updateexisting bookmarks nor auto create them for files located in ignored directories.The file ’bookmark.unignore’ provides the opposite functionality. For instance in theroot of the drive you could create ’/bookmark.ignore’ and no files played from this drivewould get bookmarks. If you then created ’/podcasts/bookmark.unignore’ tracks playedfrom the podcast directory would get bookmarks.
Page created in 0.043 seconds with 17 queries.