summaryrefslogtreecommitdiffstats
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.tar.bz2
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)
* it also returns false if we weren't in a cuesheet.
* direction should be 1 or -1.
*/
-bool curr_cuesheet_skip(int direction, unsigned long curr_pos)
+bool curr_cuesheet_skip(struct cuesheet *cue, int direction, unsigned long curr_pos)
{
- struct cuesheet *curr_cue = audio_current_track()->cuesheet;
- int track = cue_find_current_track(curr_cue, curr_pos);
+ int track = cue_find_current_track(cue, curr_pos);
- if (direction >= 0 && track == curr_cue->track_count - 1)
+ if (direction >= 0 && track == cue->track_count - 1)
{
/* we want to get out of the cuesheet */
return false;
@@ -332,7 +331,7 @@ bool curr_cuesheet_skip(int direction, unsigned long curr_pos)
if (!(direction <= 0 && track == 0))
track += direction;
- seek(curr_cue->tracks[track].offset);
+ seek(cue->tracks[track].offset);
return true;
}
@@ -372,15 +371,15 @@ static inline void draw_veritcal_line_mark(struct screen * screen,
/* draw the cuesheet markers for a track of length "tracklen",
between (x1,y) and (x2,y) */
-void cue_draw_markers(struct screen *screen, unsigned long tracklen,
+void cue_draw_markers(struct screen *screen, struct cuesheet *cue,
+ unsigned long tracklen,
int x1, int x2, int y, int h)
{
- struct cuesheet *curr_cue = audio_current_track()->cuesheet;
int i,xi;
int w = x2 - x1;
- for (i=1; i < curr_cue->track_count; i++)
+ for (i=1; i < cue->track_count; i++)
{
- xi = x1 + (w * curr_cue->tracks[i].offset)/tracklen;
+ xi = x1 + (w * cue->tracks[i].offset)/tracklen;
draw_veritcal_line_mark(screen, xi, y, h);
}
}