summaryrefslogtreecommitdiff
path: root/plugins/gtkui/gtkui.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gtkui/gtkui.c')
-rw-r--r--plugins/gtkui/gtkui.c34
1 files changed, 25 insertions, 9 deletions
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index c5a87056..32c58e95 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -227,11 +227,6 @@ guiplug_shutdown (void) {
}
void
-guiplug_songchanged (int from, int to) {
- gtkpl_songchanged_wrapper (from, to);
-}
-
-void
guiplug_start_current_track (void) {
gtkpl_playsong (&main_playlist);
if (playlist_current_ptr) {
@@ -321,10 +316,31 @@ guiplug_frameupdate (void) {
update_songinfo ();
}
-void
-guiplug_reset_selection (void) {
- search_playlist.row = -1;
- main_playlist.row = -1;
+static int
+gtkui_on_activate (DB_event_t *ev, uintptr_t data) {
+ GDK_THREADS_ENTER();
+ gtk_widget_show (mainwin);
+ gtk_window_present (GTK_WINDOW (mainwin));
+ GDK_THREADS_LEAVE();
+}
+
+static int
+gtkui_on_songchanged (DB_event_song_t *ev, uintptr_t data) {
+ gtkpl_songchanged_wrapper (from, to);
+}
+
+static int
+gtkui_start (void) {
+ deadbeef->ev_subscribe (DB_PLUGIN (&plugin), DB_EV_ACTIVATE, DB_CALLBACK (gtkui_on_activate), 0);
+ deadbeef->ev_subscribe (DB_PLUGIN (&plugin), DB_EV_SONGCHANGED, DB_CALLBACK (gtkui_on_songchanged), 0);
+ return 0;
+}
+
+static int
+gtkui_stop (void) {
+ deadbeef->ev_unsubscribe (DB_PLUGIN (&plugin), DB_EV_ACTIVATE, DB_CALLBACK (gtkui_on_activate), 0);
+ deadbeef->ev_unsubscribe (DB_PLUGIN (&plugin), DB_EV_SONGCHANGED, DB_CALLBACK (gtkui_on_songchanged), 0);
+ return 0;
}
// define plugin interface