diff options
author | waker <wakeroid@gmail.com> | 2009-08-26 14:21:47 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2009-08-26 14:21:47 +0200 |
commit | 66e87af1c9920b828ae959d69bd1f0b2517a1b2d (patch) | |
tree | fc98103a86fb462622a8bb4a18600f6cedc2a9ca /plugins.c | |
parent | 5adc82974548bb4d1bae7e415356473c96ba9eed (diff) |
added more stuff to plugin api (playback control)
Diffstat (limited to 'plugins.c')
-rw-r--r-- | plugins.c | 45 |
1 files changed, 44 insertions, 1 deletions
@@ -9,13 +9,24 @@ #endif #include "plugins.h" #include "md5/md5.h" +#include "messagepump.h" +#include "messages.h" // deadbeef api DB_functions_t deadbeef_api = { + // FIXME: set to 1.0 after api freeze + .vmajor = 0, + .vminor = 0, .ev_subscribe = plug_ev_subscribe, .ev_unsubscribe = plug_ev_unsubscribe, .md5 = plug_md5, - .md5_to_str = plug_md5_to_str + .md5_to_str = plug_md5_to_str, + .playback_next = plug_playback_next, + .playback_prev = plug_playback_prev, + .playback_pause = plug_playback_pause, + .playback_stop = plug_playback_stop, + .playback_play = plug_playback_play, + .quit = plug_quit, }; void @@ -73,6 +84,38 @@ plug_ev_unsubscribe (DB_plugin_t *plugin, int ev, db_callback_t callback, uintpt } void +plug_playback_next (void) { + messagepump_push (M_NEXTSONG, 0, 0, 0); +} + +void +plug_playback_prev (void) { + messagepump_push (M_PREVSONG, 0, 0, 0); +} + +void +plug_playback_pause (void) { + messagepump_push (M_PAUSESONG, 0, 0, 0); +} + +void +plug_playback_stop (void) { + messagepump_push (M_STOPSONG, 0, 0, 0); +} + +void +plug_playback_play (void) { + messagepump_push (M_PLAYSONG, 0, 0, 0); +} + +void +plug_quit (void) { + progress_abort (); + messagepump_push (M_TERMINATE, 0, 0, 0); +} + +/////// non-api functions (plugin support) +void plug_trigger_event (int ev) { for (int i = 0; i < MAX_HANDLERS; i++) { if (handlers[ev][i].plugin && !handlers[ev][i].plugin->inactive) { |