summaryrefslogtreecommitdiff
path: root/firmware/mpeg.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/mpeg.c')
-rw-r--r--firmware/mpeg.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index cefa699e6d..9afa8a20bd 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -121,6 +121,9 @@ void (*track_changed_callback)(struct mp3entry *id3);
121void (*track_buffer_callback)(struct mp3entry *id3, bool last_track); 121void (*track_buffer_callback)(struct mp3entry *id3, bool last_track);
122void (*track_unbuffer_callback)(struct mp3entry *id3, bool last_track); 122void (*track_unbuffer_callback)(struct mp3entry *id3, bool last_track);
123 123
124/* Cuesheet callback */
125static bool (*cuesheet_callback)(const char *filename) = NULL;
126
124static const char mpeg_thread_name[] = "mpeg"; 127static const char mpeg_thread_name[] = "mpeg";
125static unsigned int mpeg_errno; 128static unsigned int mpeg_errno;
126 129
@@ -490,6 +493,11 @@ void audio_set_track_changed_event(void (*handler)(struct mp3entry *id3))
490 track_changed_callback = handler; 493 track_changed_callback = handler;
491} 494}
492 495
496void audio_set_cuesheet_callback(bool (*handler)(const char *filename))
497{
498 cuesheet_callback = handler;
499}
500
493#ifndef SIMULATOR 501#ifndef SIMULATOR
494/* Send callback events to notify about removing old tracks. */ 502/* Send callback events to notify about removing old tracks. */
495static void generate_unbuffer_events(void) 503static void generate_unbuffer_events(void)
@@ -926,6 +934,9 @@ static struct trackdata *add_track_to_tag_list(const char *filename)
926 if (track->id3.album) 934 if (track->id3.album)
927 lcd_getstringsize(track->id3.album, NULL, NULL); 935 lcd_getstringsize(track->id3.album, NULL, NULL);
928#endif 936#endif
937 if (cuesheet_callback)
938 if (cuesheet_callback(filename))
939 track->id3.cuesheet_type = 1;
929 940
930 track_write_idx = (track_write_idx+1) & MAX_TRACK_ENTRIES_MASK; 941 track_write_idx = (track_write_idx+1) & MAX_TRACK_ENTRIES_MASK;
931 debug_tags(); 942 debug_tags();