From 9d4bed7ff06818b098926932db824a8d6532bfee Mon Sep 17 00:00:00 2001 From: Nicolas Pennequin Date: Sun, 11 Nov 2007 12:29:37 +0000 Subject: Album art support. Based on FS#3045, but heavily modified to adapt to MoB and for cleanness. The cover pictures are loaded from external bitmaps. JPEG and embedded art are not supported. The pictures will only be drawn on the main display. There is no resizing but it is possible to specify the WPS bitmap size in the bitmap names (e.g. cover.100x100.bmp). The bitmaps are stored in the main buffer and read directly from there. Currently, duplicate bitmaps will simply be present several times in the buffer, but this will be improved. To enable for a target, #define HAVE_ALBUMART in its config file. For more information, see the wiki page: http://www.rockbox.org/wiki/AlbumArt. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15572 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/audio.h | 3 +++ firmware/export/config-c200.h | 3 +++ firmware/export/config-e200.h | 3 +++ firmware/export/config-gigabeat.h | 3 +++ firmware/export/config-h10.h | 3 +++ firmware/export/config-h100.h | 3 +++ firmware/export/config-h10_5gb.h | 3 +++ firmware/export/config-h120.h | 3 +++ firmware/export/config-h300.h | 3 +++ firmware/export/config-iaudiom5.h | 3 +++ firmware/export/config-iaudiox5.h | 3 +++ firmware/export/config-ipod1g2g.h | 3 +++ firmware/export/config-ipod3g.h | 3 +++ firmware/export/config-ipod4g.h | 3 +++ firmware/export/config-ipodcolor.h | 3 +++ firmware/export/config-ipodmini.h | 3 +++ firmware/export/config-ipodmini2g.h | 3 +++ firmware/export/config-ipodnano.h | 3 +++ firmware/export/config-ipodvideo.h | 3 +++ 19 files changed, 57 insertions(+) (limited to 'firmware/export') diff --git a/firmware/export/audio.h b/firmware/export/audio.h index 84275cca2a..468856a87a 100644 --- a/firmware/export/audio.h +++ b/firmware/export/audio.h @@ -91,6 +91,9 @@ void audio_pre_ff_rewind(void); /* SWCODEC only */ #endif /* CONFIG_CODEC == SWCODEC */ void audio_ff_rewind(long newtime); void audio_flush_and_reload_tracks(void); +#ifdef HAVE_ALBUMART +int audio_current_aa_hid(void); +#endif struct mp3entry* audio_current_track(void); struct mp3entry* audio_next_track(void); bool audio_has_changed_track(void); diff --git a/firmware/export/config-c200.h b/firmware/export/config-c200.h index 2e3423c79f..8a1d6a37fa 100644 --- a/firmware/export/config-c200.h +++ b/firmware/export/config-c200.h @@ -26,6 +26,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you have a light associated with the buttons */ #define HAVE_BUTTON_LIGHT diff --git a/firmware/export/config-e200.h b/firmware/export/config-e200.h index 5e9103b002..e2274bc956 100644 --- a/firmware/export/config-e200.h +++ b/firmware/export/config-e200.h @@ -26,6 +26,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you have a light associated with the buttons */ #define HAVE_BUTTON_LIGHT diff --git a/firmware/export/config-gigabeat.h b/firmware/export/config-gigabeat.h index ba6b714a17..2e3ea07b36 100644 --- a/firmware/export/config-gigabeat.h +++ b/firmware/export/config-gigabeat.h @@ -14,6 +14,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN diff --git a/firmware/export/config-h10.h b/firmware/export/config-h10.h index 8054152c77..039ebc588f 100644 --- a/firmware/export/config-h10.h +++ b/firmware/export/config-h10.h @@ -26,6 +26,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN diff --git a/firmware/export/config-h100.h b/firmware/export/config-h100.h index c661e1df14..f6f53f64d0 100644 --- a/firmware/export/config-h100.h +++ b/firmware/export/config-h100.h @@ -15,6 +15,9 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/export/config-h10_5gb.h b/firmware/export/config-h10_5gb.h index cb5d4ecae0..3d10af26cf 100644 --- a/firmware/export/config-h10_5gb.h +++ b/firmware/export/config-h10_5gb.h @@ -26,6 +26,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN diff --git a/firmware/export/config-h120.h b/firmware/export/config-h120.h index 6fc9aa2406..c347cd6ae0 100644 --- a/firmware/export/config-h120.h +++ b/firmware/export/config-h120.h @@ -10,6 +10,9 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/export/config-h300.h b/firmware/export/config-h300.h index 483582080e..de478aa163 100644 --- a/firmware/export/config-h300.h +++ b/firmware/export/config-h300.h @@ -13,6 +13,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/export/config-iaudiom5.h b/firmware/export/config-iaudiom5.h index 3e98f4e748..9330315305 100644 --- a/firmware/export/config-iaudiom5.h +++ b/firmware/export/config-iaudiom5.h @@ -22,6 +22,9 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can flip your LCD */ #define HAVE_LCD_FLIP diff --git a/firmware/export/config-iaudiox5.h b/firmware/export/config-iaudiox5.h index c78137c721..d6fe68b1ac 100644 --- a/firmware/export/config-iaudiox5.h +++ b/firmware/export/config-iaudiox5.h @@ -28,6 +28,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can invert the colours on your LCD */ #define HAVE_LCD_INVERT diff --git a/firmware/export/config-ipod1g2g.h b/firmware/export/config-ipod1g2g.h index 138ef8dc77..c003805986 100644 --- a/firmware/export/config-ipod1g2g.h +++ b/firmware/export/config-ipod1g2g.h @@ -14,6 +14,9 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can invert the colours on your LCD */ #define HAVE_LCD_INVERT diff --git a/firmware/export/config-ipod3g.h b/firmware/export/config-ipod3g.h index e3c2a922d9..c3c6114d16 100644 --- a/firmware/export/config-ipod3g.h +++ b/firmware/export/config-ipod3g.h @@ -14,6 +14,9 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can invert the colours on your LCD */ #define HAVE_LCD_INVERT diff --git a/firmware/export/config-ipod4g.h b/firmware/export/config-ipod4g.h index 7d58992ee8..8bdc053563 100644 --- a/firmware/export/config-ipod4g.h +++ b/firmware/export/config-ipod4g.h @@ -24,6 +24,9 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can invert the colours on your LCD */ #define HAVE_LCD_INVERT diff --git a/firmware/export/config-ipodcolor.h b/firmware/export/config-ipodcolor.h index a5850904fa..0aba8c34d6 100644 --- a/firmware/export/config-ipodcolor.h +++ b/firmware/export/config-ipodcolor.h @@ -27,6 +27,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN /* define this if you have access to the pitchscreen */ diff --git a/firmware/export/config-ipodmini.h b/firmware/export/config-ipodmini.h index 5cab1767e3..4a3edbfb5f 100644 --- a/firmware/export/config-ipodmini.h +++ b/firmware/export/config-ipodmini.h @@ -14,6 +14,9 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can invert the colours on your LCD */ #define HAVE_LCD_INVERT diff --git a/firmware/export/config-ipodmini2g.h b/firmware/export/config-ipodmini2g.h index 77299dda01..0f82d099b9 100644 --- a/firmware/export/config-ipodmini2g.h +++ b/firmware/export/config-ipodmini2g.h @@ -14,6 +14,9 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you can invert the colours on your LCD */ #define HAVE_LCD_INVERT diff --git a/firmware/export/config-ipodnano.h b/firmware/export/config-ipodnano.h index fcba445bce..4fcb8f69dc 100644 --- a/firmware/export/config-ipodnano.h +++ b/firmware/export/config-ipodnano.h @@ -27,6 +27,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN /* define this if you have access to the pitchscreen */ diff --git a/firmware/export/config-ipodvideo.h b/firmware/export/config-ipodvideo.h index 9ba479246b..eecb65c809 100644 --- a/firmware/export/config-ipodvideo.h +++ b/firmware/export/config-ipodvideo.h @@ -27,6 +27,9 @@ /* define this if you have a colour LCD */ #define HAVE_LCD_COLOR +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + /* define this if you have access to the quickscreen */ #define HAVE_QUICKSCREEN /* define this if you have access to the pitchscreen */ -- cgit v1.2.3