From f41b9942af7278ab67dc799ad6c17ad74dc0aa1b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 16 Sep 2008 19:11:40 +0200 Subject: lyrics: converted in-process plugins to external programs In-process plugins are very problematic. It is much easier and flexible to move the lyrics plugins to external programs, with a trivial protocol. This is work in progress, among the things missing: - protocol specification, including exit codes - plugin installation - plugin search directory - run-time configuration (currently hard coded) - automatic polling (using glib's main loop?) - better and more robust error handling --- src/src_lyrics.h | 75 -------------------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 src/src_lyrics.h (limited to 'src/src_lyrics.h') diff --git a/src/src_lyrics.h b/src/src_lyrics.h deleted file mode 100644 index 98c695dac..000000000 --- a/src/src_lyrics.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef SOURCE_LYRICS -#define SOURCE_LYRICS - -#include "config.h" -#include "mpdclient.h" - -#include -#include -#include - -typedef struct _formed_text -{ - GString *text; - GArray *lines; - int val; -} formed_text; - -void formed_text_init(formed_text *text); -void add_text_line(formed_text *dest, const char *src, int len); - -typedef struct _retrieval_spec -{ - mpdclient_t *client; - int way; -} retrieval_spec; - -GTimer *dltime; -short int lock; -formed_text lyr_text; - -guint8 result; - -/* result is a bitset in which the success when searching 4 lyrics is logged -countend by position - backwards -0: lyrics in database -1: proper access to the lyrics provider -2: lyrics found -3: exact match -4: lyrics downloaded -5: lyrics saved -wasting 3 bits doesn't mean being a fat memory hog like kde.... does it? -*/ - - -typedef struct src_lyr src_lyr; - -struct src_lyr -{ - char *name; - char *source_name; - char *description; - - int (*register_src_lyr) (src_lyr *source_descriptor); - int (*deregister_src_lyr)(void); - - int (*check_lyr) (char *artist, char *title, char *url); - int (*get_lyr) (char *artist, char *title); - int (*state_lyr)(void); - -#ifndef DISABLE_PLUGIN_SYSTEM - GModule *module; -#endif -}; - -typedef int (*src_lyr_plugin_register) (src_lyr *source_descriptor); - -GArray *src_lyr_stack; - -int get_text_line(formed_text *text, unsigned num, char *dest, size_t len); - -void src_lyr_stack_init(void); -int src_lyr_init(void); -int get_lyr_by_src (int priority, char *artist, char *title); - -#endif -- cgit v1.2.3