diff options
author | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-12-09 18:48:02 +0000 |
---|---|---|
committer | Nicolas Pennequin <nicolas.pennequin@free.fr> | 2007-12-09 18:48:02 +0000 |
commit | 90ce8269033dd1f06a5054392f35e45e45a5c560 (patch) | |
tree | 0583f4c56c2b8d73078f2112cc851862b859385d /apps/plugin.h | |
parent | 19f487b451b026833a6d9aaeabcec756c9e9f2b7 (diff) | |
download | rockbox-90ce8269033dd1f06a5054392f35e45e45a5c560.tar.gz rockbox-90ce8269033dd1f06a5054392f35e45e45a5c560.zip |
Initial commit of the PictureFlow plugin, a nice visualization for album covers.
Original code by Ariya Hidayat. Rockbox port by Jonas Hurrelmann and a few tweaks by me.
On the first startup the database is scanned and album art is searched for each album. This process will take some time (dircache enabled and/or database in RAM speed it up, and it is possible to abort by pressing MENU), but the results are cached and the next startups will be very quick.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15900 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugin.h')
-rw-r--r-- | apps/plugin.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/apps/plugin.h b/apps/plugin.h index 9105932485..02c722f2ec 100644 --- a/apps/plugin.h +++ b/apps/plugin.h | |||
@@ -78,6 +78,9 @@ | |||
78 | #include "list.h" | 78 | #include "list.h" |
79 | #include "tree.h" | 79 | #include "tree.h" |
80 | #include "color_picker.h" | 80 | #include "color_picker.h" |
81 | #include "buffering.h" | ||
82 | #include "tagcache.h" | ||
83 | #include "albumart.h" | ||
81 | 84 | ||
82 | #ifdef HAVE_REMOTE_LCD | 85 | #ifdef HAVE_REMOTE_LCD |
83 | #include "lcd-remote.h" | 86 | #include "lcd-remote.h" |
@@ -655,6 +658,42 @@ struct plugin_api { | |||
655 | void (*remote_backlight_set_timeout_plugged)(int index); | 658 | void (*remote_backlight_set_timeout_plugged)(int index); |
656 | #endif | 659 | #endif |
657 | #endif /* HAVE_REMOTE_LCD */ | 660 | #endif /* HAVE_REMOTE_LCD */ |
661 | |||
662 | #if (CONFIG_CODEC == SWCODEC) | ||
663 | int (*bufopen)(const char *file, size_t offset, enum data_type type); | ||
664 | int (*bufalloc)(const void *src, size_t size, enum data_type type); | ||
665 | bool (*bufclose)(int handle_id); | ||
666 | int (*bufseek)(int handle_id, size_t newpos); | ||
667 | int (*bufadvance)(int handle_id, off_t offset); | ||
668 | ssize_t (*bufread)(int handle_id, size_t size, void *dest); | ||
669 | ssize_t (*bufgetdata)(int handle_id, size_t size, void **data); | ||
670 | ssize_t (*bufgettail)(int handle_id, size_t size, void **data); | ||
671 | ssize_t (*bufcuttail)(int handle_id, size_t size); | ||
672 | |||
673 | ssize_t (*buf_get_offset)(int handle_id, void *ptr); | ||
674 | ssize_t (*buf_handle_offset)(int handle_id); | ||
675 | void (*buf_request_buffer_handle)(int handle_id); | ||
676 | void (*buf_set_base_handle)(int handle_id); | ||
677 | size_t (*buf_used)(void); | ||
678 | #endif | ||
679 | |||
680 | #ifdef HAVE_TAGCACHE | ||
681 | bool (*tagcache_search)(struct tagcache_search *tcs, int tag); | ||
682 | void (*tagcache_search_set_uniqbuf)(struct tagcache_search *tcs, | ||
683 | void *buffer, long length); | ||
684 | bool (*tagcache_search_add_filter)(struct tagcache_search *tcs, | ||
685 | int tag, int seek); | ||
686 | bool (*tagcache_get_next)(struct tagcache_search *tcs); | ||
687 | bool (*tagcache_retrieve)(struct tagcache_search *tcs, int idxid, | ||
688 | int tag, char *buf, long size); | ||
689 | void (*tagcache_search_finish)(struct tagcache_search *tcs); | ||
690 | #endif | ||
691 | |||
692 | #ifdef HAVE_ALBUMART | ||
693 | bool (*find_albumart)(const struct mp3entry *id3, char *buf, int buflen); | ||
694 | bool (*search_albumart_files)(const struct mp3entry *id3, const char *size_string, | ||
695 | char *buf, int buflen); | ||
696 | #endif | ||
658 | }; | 697 | }; |
659 | 698 | ||
660 | /* plugin header */ | 699 | /* plugin header */ |