diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2010-07-29 13:23:33 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2010-07-29 13:23:33 +0000 |
commit | e63e19b50773393064e7a458297b18a835e8b004 (patch) | |
tree | b8d8e5d833bb6243f9537c523c0f378833da2cb2 | |
parent | 1de66faa8ebd7d9442fd3b72c868a661a1367344 (diff) | |
download | rockbox-e63e19b50773393064e7a458297b18a835e8b004.tar.gz rockbox-e63e19b50773393064e7a458297b18a835e8b004.zip |
Fix Database red, move the cuesheet->token code into the skin engine
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27616 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/cuesheet.c | 36 | ||||
-rw-r--r-- | apps/cuesheet.h | 5 | ||||
-rw-r--r-- | apps/gui/skin_engine/skin_tokens.c | 38 | ||||
-rw-r--r-- | apps/gui/skin_engine/wps_internals.h | 3 |
4 files changed, 41 insertions, 41 deletions
diff --git a/apps/cuesheet.c b/apps/cuesheet.c index a262b12d73..a6831fa97d 100644 --- a/apps/cuesheet.c +++ b/apps/cuesheet.c | |||
@@ -346,42 +346,6 @@ bool curr_cuesheet_skip(struct cuesheet *cue, int direction, unsigned long curr_ | |||
346 | } | 346 | } |
347 | 347 | ||
348 | } | 348 | } |
349 | const char *get_cuesheetid3_token(struct wps_token *token, struct mp3entry *id3, | ||
350 | int offset_tracks, char *buf, int buf_size) | ||
351 | { | ||
352 | struct cuesheet *cue = id3?id3->cuesheet:NULL; | ||
353 | if (!cue || !cue->curr_track) | ||
354 | return NULL; | ||
355 | |||
356 | struct cue_track_info *track = cue->curr_track; | ||
357 | if (offset_tracks) | ||
358 | { | ||
359 | if (cue->curr_track_idx+offset_tracks < cue->track_count) | ||
360 | track+=offset_tracks; | ||
361 | else | ||
362 | return NULL; | ||
363 | } | ||
364 | switch (token->type) | ||
365 | { | ||
366 | case SKIN_TOKEN_METADATA_ARTIST: | ||
367 | return *track->performer ? track->performer : NULL; | ||
368 | case SKIN_TOKEN_METADATA_COMPOSER: | ||
369 | return *track->songwriter ? track->songwriter : NULL; | ||
370 | case SKIN_TOKEN_METADATA_ALBUM: | ||
371 | return *cue->title ? cue->title : NULL; | ||
372 | case SKIN_TOKEN_METADATA_ALBUM_ARTIST: | ||
373 | return *cue->performer ? cue->performer : NULL; | ||
374 | case SKIN_TOKEN_METADATA_TRACK_TITLE: | ||
375 | return *track->title ? track->title : NULL; | ||
376 | case SKIN_TOKEN_METADATA_TRACK_NUMBER: | ||
377 | snprintf(buf, buf_size, "%d/%d", | ||
378 | cue->curr_track_idx+offset_tracks+1, cue->track_count); | ||
379 | return buf; | ||
380 | default: | ||
381 | return NULL; | ||
382 | } | ||
383 | return NULL; | ||
384 | } | ||
385 | 349 | ||
386 | #ifdef HAVE_LCD_BITMAP | 350 | #ifdef HAVE_LCD_BITMAP |
387 | static inline void draw_veritcal_line_mark(struct screen * screen, | 351 | static inline void draw_veritcal_line_mark(struct screen * screen, |
diff --git a/apps/cuesheet.h b/apps/cuesheet.h index 451fff5dbe..e8d77ca3a9 100644 --- a/apps/cuesheet.h +++ b/apps/cuesheet.h | |||
@@ -26,7 +26,6 @@ | |||
26 | #include "screens.h" | 26 | #include "screens.h" |
27 | #include "file.h" | 27 | #include "file.h" |
28 | #include "metadata.h" | 28 | #include "metadata.h" |
29 | #include "skin_engine/skin_tokens.h" | ||
30 | 29 | ||
31 | #define MAX_NAME 80 /* Max length of information strings */ | 30 | #define MAX_NAME 80 /* Max length of information strings */ |
32 | #define MAX_TRACKS 99 /* Max number of tracks in a cuesheet */ | 31 | #define MAX_TRACKS 99 /* Max number of tracks in a cuesheet */ |
@@ -70,10 +69,6 @@ bool display_cuesheet_content(char* filename); | |||
70 | /* finds the index of the current track played within a cuesheet */ | 69 | /* finds the index of the current track played within a cuesheet */ |
71 | int cue_find_current_track(struct cuesheet *cue, unsigned long curpos); | 70 | int cue_find_current_track(struct cuesheet *cue, unsigned long curpos); |
72 | 71 | ||
73 | /* Get the id3 fields from the cuesheet */ | ||
74 | const char *get_cuesheetid3_token(struct wps_token *token, struct mp3entry *id3, | ||
75 | int offset_tracks, char *buf, int buf_size); | ||
76 | |||
77 | /* skip to next track in the cuesheet towards "direction" (which is 1 or -1) */ | 72 | /* skip to next track in the cuesheet towards "direction" (which is 1 or -1) */ |
78 | bool curr_cuesheet_skip(struct cuesheet *cue, int direction, unsigned long curr_pos); | 73 | bool curr_cuesheet_skip(struct cuesheet *cue, int direction, unsigned long curr_pos); |
79 | 74 | ||
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index c5e1ebc831..a05327907d 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c | |||
@@ -155,6 +155,42 @@ static int pitch_speed_enum(int range, int32_t val, int32_t normval) | |||
155 | } | 155 | } |
156 | #endif | 156 | #endif |
157 | 157 | ||
158 | const char *get_cuesheetid3_token(struct wps_token *token, struct mp3entry *id3, | ||
159 | int offset_tracks, char *buf, int buf_size) | ||
160 | { | ||
161 | struct cuesheet *cue = id3?id3->cuesheet:NULL; | ||
162 | if (!cue || !cue->curr_track) | ||
163 | return NULL; | ||
164 | |||
165 | struct cue_track_info *track = cue->curr_track; | ||
166 | if (offset_tracks) | ||
167 | { | ||
168 | if (cue->curr_track_idx+offset_tracks < cue->track_count) | ||
169 | track+=offset_tracks; | ||
170 | else | ||
171 | return NULL; | ||
172 | } | ||
173 | switch (token->type) | ||
174 | { | ||
175 | case SKIN_TOKEN_METADATA_ARTIST: | ||
176 | return *track->performer ? track->performer : NULL; | ||
177 | case SKIN_TOKEN_METADATA_COMPOSER: | ||
178 | return *track->songwriter ? track->songwriter : NULL; | ||
179 | case SKIN_TOKEN_METADATA_ALBUM: | ||
180 | return *cue->title ? cue->title : NULL; | ||
181 | case SKIN_TOKEN_METADATA_ALBUM_ARTIST: | ||
182 | return *cue->performer ? cue->performer : NULL; | ||
183 | case SKIN_TOKEN_METADATA_TRACK_TITLE: | ||
184 | return *track->title ? track->title : NULL; | ||
185 | case SKIN_TOKEN_METADATA_TRACK_NUMBER: | ||
186 | snprintf(buf, buf_size, "%d/%d", | ||
187 | cue->curr_track_idx+offset_tracks+1, cue->track_count); | ||
188 | return buf; | ||
189 | default: | ||
190 | return NULL; | ||
191 | } | ||
192 | return NULL; | ||
193 | } | ||
158 | 194 | ||
159 | /* All tokens which only need the info to return a value go in here */ | 195 | /* All tokens which only need the info to return a value go in here */ |
160 | const char *get_id3_token(struct wps_token *token, struct mp3entry *id3, | 196 | const char *get_id3_token(struct wps_token *token, struct mp3entry *id3, |
@@ -1392,3 +1428,5 @@ const char *get_token_value(struct gui_wps *gwps, | |||
1392 | return NULL; | 1428 | return NULL; |
1393 | } | 1429 | } |
1394 | } | 1430 | } |
1431 | |||
1432 | |||
diff --git a/apps/gui/skin_engine/wps_internals.h b/apps/gui/skin_engine/wps_internals.h index ec37560e79..f8e025956e 100644 --- a/apps/gui/skin_engine/wps_internals.h +++ b/apps/gui/skin_engine/wps_internals.h | |||
@@ -329,6 +329,9 @@ const char *get_token_value(struct gui_wps *gwps, | |||
329 | char *buf, int buf_size, | 329 | char *buf, int buf_size, |
330 | int *intval); | 330 | int *intval); |
331 | 331 | ||
332 | /* Get the id3 fields from the cuesheet */ | ||
333 | const char *get_cuesheetid3_token(struct wps_token *token, struct mp3entry *id3, | ||
334 | int offset_tracks, char *buf, int buf_size); | ||
332 | const char *get_id3_token(struct wps_token *token, struct mp3entry *id3, | 335 | const char *get_id3_token(struct wps_token *token, struct mp3entry *id3, |
333 | char *buf, int buf_size, int limit, int *intval); | 336 | char *buf, int buf_size, int limit, int *intval); |
334 | #if CONFIG_TUNER | 337 | #if CONFIG_TUNER |