summaryrefslogtreecommitdiffstats
path: root/apps/bookmark.c
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2004-12-07 14:20:37 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2004-12-07 14:20:37 +0000
commit8f032aed52c08a22f238e91bbcafd12a637c3326 (patch)
tree0150e6977769b4c122b9ac20222f5f825d4089c2 /apps/bookmark.c
parentdc96fcfb0e8690216638bc781da2bf4ae21fe374 (diff)
downloadrockbox-8f032aed52c08a22f238e91bbcafd12a637c3326.tar.gz
rockbox-8f032aed52c08a22f238e91bbcafd12a637c3326.zip
Patch #911756 by Steve Cundari, bookmark follows repositioned MP3 file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5481 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/bookmark.c')
-rw-r--r--apps/bookmark.c48
1 files changed, 24 insertions, 24 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c
index 785a8cf2d9..969371eeeb 100644
--- a/apps/bookmark.c
+++ b/apps/bookmark.c
@@ -73,8 +73,7 @@ static bool parse_bookmark(const char *bookmark,
int* ms,
int * repeat_mode,
bool *shuffle,
- char* file_name,
- unsigned int max_file_name_size);
+ char* file_name);
static char* select_bookmark(const char* bookmark_file_name);
static bool system_check(void);
static bool write_bookmark(bool create_bookmark_file);
@@ -84,6 +83,7 @@ static char global_temp_buffer[MAX_PATH+1];
static char global_bookmark_file_name[MAX_PATH];
static char global_read_buffer[MAX_BOOKMARK_SIZE];
static char global_bookmark[MAX_BOOKMARK_SIZE];
+static char global_filename[MAX_PATH];
/* ----------------------------------------------------------------------- */
/* Displays the bookmark menu options for the user to decide. This is an */
@@ -162,7 +162,7 @@ static bool bookmark_load_menu(void)
NULL,
&global_settings.repeat_mode,
&global_settings.playlist_shuffle,
- NULL, 0);
+ global_filename);
}
else
{
@@ -171,7 +171,8 @@ static bool bookmark_load_menu(void)
}
if (success)
- bookmark_play(global_temp_buffer, index, offset, seed);
+ bookmark_play(global_temp_buffer, index, offset, seed,
+ global_filename);
}
return success;
@@ -203,10 +204,11 @@ bool bookmark_mrb_load()
NULL,
&global_settings.repeat_mode,
&global_settings.playlist_shuffle,
- NULL, 0);
+ global_filename);
if (success)
- bookmark_play(global_temp_buffer, index, offset, seed);
+ bookmark_play(global_temp_buffer, index, offset, seed,
+ global_filename);
return success;
}
@@ -442,7 +444,7 @@ static bool check_bookmark(const char* bookmark)
return parse_bookmark(bookmark,
NULL,NULL,NULL, NULL,
NULL,0,NULL,NULL,
- NULL, NULL, 0);
+ NULL, NULL);
}
/* ----------------------------------------------------------------------- */
@@ -566,12 +568,13 @@ bool bookmark_load(const char* file, bool autoload)
NULL,
&global_settings.repeat_mode,
&global_settings.playlist_shuffle,
- NULL, 0);
+ global_filename);
}
if(success)
- bookmark_play(global_temp_buffer,index,offset,seed);
+ bookmark_play(global_temp_buffer, index, offset, seed,
+ global_filename);
return success;
}
@@ -778,7 +781,6 @@ static void display_bookmark(const char* bookmark,
int ms = 0;
int repeat_mode = 0;
bool playlist_shuffle = false;
- char MP3_file_name[45];
int len;
char *dot;
@@ -786,7 +788,7 @@ static void display_bookmark(const char* bookmark,
parse_bookmark(bookmark,
&resume_index, NULL, NULL, NULL, NULL, 0,
&ms, &repeat_mode, &playlist_shuffle,
- MP3_file_name, sizeof(MP3_file_name));
+ global_filename);
lcd_clear_display();
lcd_stop_scroll();
@@ -807,14 +809,14 @@ static void display_bookmark(const char* bookmark,
statusbar_icon_shuffle();
/* File Name */
- len=strlen(MP3_file_name);
+ len=strlen(global_filename);
if (len>3)
- dot=strrchr(MP3_file_name + len - 4, '.');
+ dot=strrchr(global_filename + len - 4, '.');
else
dot=NULL;
if (dot)
*dot='\0';
- lcd_puts_scroll(0, 0, MP3_file_name);
+ lcd_puts_scroll(0, 0, global_filename);
if (dot)
*dot='.';
@@ -854,9 +856,9 @@ static void display_bookmark(const char* bookmark,
lcd_puts_scroll(0, 6, str(LANG_BOOKMARK_SELECT_DELETE));
#else
(void)bookmark_id;
- len=strlen(MP3_file_name);
+ len=strlen(global_filename);
if (len>3)
- dot=strrchr(MP3_file_name+len-4,'.');
+ dot=strrchr(global_filename+len-4,'.');
else
dot=NULL;
if (dot)
@@ -868,7 +870,7 @@ static void display_bookmark(const char* bookmark,
(bookmark_count+1),
ms / 60000,
ms % 60000 / 1000,
- MP3_file_name);
+ global_filename);
}
else
{
@@ -878,7 +880,7 @@ static void display_bookmark(const char* bookmark,
ms / 60000,
ms % 3600000 / 60000,
ms % 60000 / 1000,
- MP3_file_name);
+ global_filename);
}
status_draw(false);
@@ -907,7 +909,7 @@ static void say_bookmark(const char* bookmark,
NULL, NULL, NULL,
dir, sizeof(dir),
&ms, NULL, NULL,
- NULL, 0);
+ NULL);
/* disabled, because transition between talkbox and voice UI clip is not nice */
#if 0
if (global_settings.talk_dir >= 3)
@@ -987,8 +989,7 @@ static bool parse_bookmark(const char *bookmark,
unsigned int resume_file_size,
int* ms,
int * repeat_mode, bool *shuffle,
- char* file_name,
- unsigned int max_file_name_size)
+ char* file_name)
{
/* First check to see if a valid line was passed in. */
int bookmark_len = strlen(bookmark);
@@ -1097,9 +1098,8 @@ static bool parse_bookmark(const char *bookmark,
if (file_name && local_file_name)
{
- strncpy(file_name, local_file_name,
- MIN(strlen(local_file_name),max_file_name_size-1));
- file_name[MIN(strlen(local_file_name),max_file_name_size-1)]=0;
+ strncpy(file_name, local_file_name,MAX_PATH-1);
+ file_name[MAX_PATH-1] = 0;
}
return true;