summaryrefslogtreecommitdiff
path: root/apps/plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugin.h')
-rw-r--r--apps/plugin.h29
1 files changed, 15 insertions, 14 deletions
diff --git a/apps/plugin.h b/apps/plugin.h
index b6dff14b1f..11adf61e9c 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -114,6 +114,7 @@ int plugin_open(const char *plugin, const char *parameter);
114#include "screen_access.h" 114#include "screen_access.h"
115#include "onplay.h" 115#include "onplay.h"
116#include "screens.h" 116#include "screens.h"
117#include "vuprintf.h"
117 118
118#ifdef HAVE_ALBUMART 119#ifdef HAVE_ALBUMART
119#include "albumart.h" 120#include "albumart.h"
@@ -162,7 +163,7 @@ int plugin_open(const char *plugin, const char *parameter);
162 * when this happens please take the opportunity to sort in 163 * when this happens please take the opportunity to sort in
163 * any new functions "waiting" at the end of the list. 164 * any new functions "waiting" at the end of the list.
164 */ 165 */
165#define PLUGIN_API_VERSION 269 166#define PLUGIN_API_VERSION 270
166 167
167/* 239 Marks the removal of ARCHOS HWCODEC and CHARCELL */ 168/* 239 Marks the removal of ARCHOS HWCODEC and CHARCELL */
168 169
@@ -404,6 +405,8 @@ struct plugin_api {
404 bool (*yesno_pop)(const char* text); 405 bool (*yesno_pop)(const char* text);
405 406
406 /* action handling */ 407 /* action handling */
408 bool (*list_do_action)(int context, int timeout,
409 struct gui_synclist *lists, int *action);
407 int (*get_custom_action)(int context,int timeout, 410 int (*get_custom_action)(int context,int timeout,
408 const struct button_mapping* (*get_context_map)(int)); 411 const struct button_mapping* (*get_context_map)(int));
409 int (*get_action)(int context, int timeout); 412 int (*get_action)(int context, int timeout);
@@ -504,6 +507,7 @@ struct plugin_api {
504 507
505 /* talking */ 508 /* talking */
506 int (*talk_id)(int32_t id, bool enqueue); 509 int (*talk_id)(int32_t id, bool enqueue);
510 int (*talk_idarray)(const long *idarray, bool enqueue);
507 int (*talk_file)(const char *root, const char *dir, const char *file, 511 int (*talk_file)(const char *root, const char *dir, const char *file,
508 const char *ext, const long *prefix_ids, bool enqueue); 512 const char *ext, const long *prefix_ids, bool enqueue);
509 int (*talk_file_or_spell)(const char *dirname, const char* filename, 513 int (*talk_file_or_spell)(const char *dirname, const char* filename,
@@ -623,6 +627,7 @@ struct plugin_api {
623 int (*snprintf)(char *buf, size_t size, const char *fmt, ...) 627 int (*snprintf)(char *buf, size_t size, const char *fmt, ...)
624 ATTRIBUTE_PRINTF(3, 4); 628 ATTRIBUTE_PRINTF(3, 4);
625 int (*vsnprintf)(char *buf, size_t size, const char *fmt, va_list ap); 629 int (*vsnprintf)(char *buf, size_t size, const char *fmt, va_list ap);
630 int (*vuprintf)(vuprintf_push_cb push, void *userp, const char *fmt, va_list ap);
626 char* (*strcpy)(char *dst, const char *src); 631 char* (*strcpy)(char *dst, const char *src);
627 size_t (*strlcpy)(char *dst, const char *src, size_t length); 632 size_t (*strlcpy)(char *dst, const char *src, size_t length);
628 size_t (*strlen)(const char *str); 633 size_t (*strlen)(const char *str);
@@ -645,6 +650,9 @@ struct plugin_api {
645 int (*memcmp)(const void *s1, const void *s2, size_t n); 650 int (*memcmp)(const void *s1, const void *s2, size_t n);
646 char *(*strcasestr) (const char* phaystack, const char* pneedle); 651 char *(*strcasestr) (const char* phaystack, const char* pneedle);
647 char* (*strtok_r)(char *ptr, const char *sep, char **end); 652 char* (*strtok_r)(char *ptr, const char *sep, char **end);
653 char* (*output_dyn_value)(char *buf, int buf_size, int value,
654 const unsigned char * const *units,
655 unsigned int unit_count, bool binary_scale);
648 /* unicode stuff */ 656 /* unicode stuff */
649 const unsigned char* (*utf8decode)(const unsigned char *utf8, unsigned short *ucs); 657 const unsigned char* (*utf8decode)(const unsigned char *utf8, unsigned short *ucs);
650 unsigned char* (*iso_decode)(const unsigned char *iso, unsigned char *utf8, int cp, int count); 658 unsigned char* (*iso_decode)(const unsigned char *iso, unsigned char *utf8, int cp, int count);
@@ -768,7 +776,7 @@ struct plugin_api {
768 void *buffer, long length); 776 void *buffer, long length);
769 bool (*tagcache_search_add_filter)(struct tagcache_search *tcs, 777 bool (*tagcache_search_add_filter)(struct tagcache_search *tcs,
770 int tag, int seek); 778 int tag, int seek);
771 bool (*tagcache_get_next)(struct tagcache_search *tcs); 779 bool (*tagcache_get_next)(struct tagcache_search *tcs, char *buf, long size);
772 bool (*tagcache_retrieve)(struct tagcache_search *tcs, int idxid, 780 bool (*tagcache_retrieve)(struct tagcache_search *tcs, int idxid,
773 int tag, char *buf, long size); 781 int tag, char *buf, long size);
774 void (*tagcache_search_finish)(struct tagcache_search *tcs); 782 void (*tagcache_search_finish)(struct tagcache_search *tcs);
@@ -790,6 +798,9 @@ struct plugin_api {
790 798
791 /* playback control */ 799 /* playback control */
792 struct playlist_info* (*playlist_get_current)(void); 800 struct playlist_info* (*playlist_get_current)(void);
801 int (*playlist_get_resume_info)(int *resume_index);
802 int (*playlist_get_track_info)(struct playlist_info* playlist, int index,
803 struct playlist_track_info* info);
793 int (*playlist_amount)(void); 804 int (*playlist_amount)(void);
794 int (*playlist_resume)(void); 805 int (*playlist_resume)(void);
795 void (*playlist_resume_track)(int start_index, unsigned int crc, 806 void (*playlist_resume_track)(int start_index, unsigned int crc,
@@ -896,7 +907,8 @@ struct plugin_api {
896#if CONFIG_RTC 907#if CONFIG_RTC
897 time_t (*mktime)(struct tm *t); 908 time_t (*mktime)(struct tm *t);
898#endif 909#endif
899 910 const char* (*format_time_auto)(char *buffer, int buf_len, long value,
911 int unit_idx, bool supress_unit);
900#if defined(DEBUG) || defined(SIMULATOR) 912#if defined(DEBUG) || defined(SIMULATOR)
901 void (*debugf)(const char *fmt, ...) ATTRIBUTE_PRINTF(1, 2); 913 void (*debugf)(const char *fmt, ...) ATTRIBUTE_PRINTF(1, 2);
902#endif 914#endif
@@ -958,17 +970,6 @@ struct plugin_api {
958 /* new stuff at the end, sort into place next time 970 /* new stuff at the end, sort into place next time
959 the API gets incompatible */ 971 the API gets incompatible */
960 972
961 const char* (*format_time_auto)(char *buffer, int buf_len, long value,
962 int unit_idx, bool supress_unit);
963 char* (*output_dyn_value)(char *buf, int buf_size, int value,
964 const unsigned char * const *units,
965 unsigned int unit_count, bool binary_scale);
966 int (*playlist_get_resume_info)(int *resume_index);
967 int (*playlist_get_track_info)(struct playlist_info* playlist, int index,
968 struct playlist_track_info* info);
969 bool (*list_do_action)(int context, int timeout,
970 struct gui_synclist *lists, int *action);
971 int (*talk_idarray)(const long *idarray, bool enqueue);
972}; 973};
973 974
974/* plugin header */ 975/* plugin header */