summaryrefslogtreecommitdiff
path: root/apps/cuesheet.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2009-07-24 01:13:30 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2009-07-24 01:13:30 +0000
commiteb0061411d6fa08ab540107cdbd2906e18e516d7 (patch)
treebf605b7bb1ecf9717b5e1a1b1fc1ae157ba04db4 /apps/cuesheet.c
parentbd9156a4ada3eb036192f9f82421f38c107f25c9 (diff)
downloadrockbox-eb0061411d6fa08ab540107cdbd2906e18e516d7.tar.gz
rockbox-eb0061411d6fa08ab540107cdbd2906e18e516d7.zip
more cuesheet cleanup. pass the cuesheet into cue functions so they dont have to call audio_current_track()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22020 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/cuesheet.c')
-rw-r--r--apps/cuesheet.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/apps/cuesheet.c b/apps/cuesheet.c
index aaa2670a40..deb0769320 100644
--- a/apps/cuesheet.c
+++ b/apps/cuesheet.c
@@ -317,12 +317,11 @@ bool display_cuesheet_content(char* filename)
317 * it also returns false if we weren't in a cuesheet. 317 * it also returns false if we weren't in a cuesheet.
318 * direction should be 1 or -1. 318 * direction should be 1 or -1.
319 */ 319 */
320bool curr_cuesheet_skip(int direction, unsigned long curr_pos) 320bool curr_cuesheet_skip(struct cuesheet *cue, int direction, unsigned long curr_pos)
321{ 321{
322 struct cuesheet *curr_cue = audio_current_track()->cuesheet; 322 int track = cue_find_current_track(cue, curr_pos);
323 int track = cue_find_current_track(curr_cue, curr_pos);
324 323
325 if (direction >= 0 && track == curr_cue->track_count - 1) 324 if (direction >= 0 && track == cue->track_count - 1)
326 { 325 {
327 /* we want to get out of the cuesheet */ 326 /* we want to get out of the cuesheet */
328 return false; 327 return false;
@@ -332,7 +331,7 @@ bool curr_cuesheet_skip(int direction, unsigned long curr_pos)
332 if (!(direction <= 0 && track == 0)) 331 if (!(direction <= 0 && track == 0))
333 track += direction; 332 track += direction;
334 333
335 seek(curr_cue->tracks[track].offset); 334 seek(cue->tracks[track].offset);
336 return true; 335 return true;
337 } 336 }
338 337
@@ -372,15 +371,15 @@ static inline void draw_veritcal_line_mark(struct screen * screen,
372 371
373/* draw the cuesheet markers for a track of length "tracklen", 372/* draw the cuesheet markers for a track of length "tracklen",
374 between (x1,y) and (x2,y) */ 373 between (x1,y) and (x2,y) */
375void cue_draw_markers(struct screen *screen, unsigned long tracklen, 374void cue_draw_markers(struct screen *screen, struct cuesheet *cue,
375 unsigned long tracklen,
376 int x1, int x2, int y, int h) 376 int x1, int x2, int y, int h)
377{ 377{
378 struct cuesheet *curr_cue = audio_current_track()->cuesheet;
379 int i,xi; 378 int i,xi;
380 int w = x2 - x1; 379 int w = x2 - x1;
381 for (i=1; i < curr_cue->track_count; i++) 380 for (i=1; i < cue->track_count; i++)
382 { 381 {
383 xi = x1 + (w * curr_cue->tracks[i].offset)/tracklen; 382 xi = x1 + (w * cue->tracks[i].offset)/tracklen;
384 draw_veritcal_line_mark(screen, xi, y, h); 383 draw_veritcal_line_mark(screen, xi, y, h);
385 } 384 }
386} 385}