diff options
Diffstat (limited to 'apps/cuesheet.c')
-rw-r--r-- | apps/cuesheet.c | 17 |
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 | */ |
320 | bool curr_cuesheet_skip(int direction, unsigned long curr_pos) | 320 | bool 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) */ |
375 | void cue_draw_markers(struct screen *screen, unsigned long tracklen, | 374 | void 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 | } |