22 * This file is part of audacious-hotkey plugin for audacious
33 *
44 * Copyright (c) 2007 - 2008 Sascha Hlusiak <contact@saschahlusiak.de>
5- * Name: plugin.c
6- * Description: plugin.c
5+ * Name: plugin.cc
6+ * Description: plugin.cc
77 *
88 * Part of this code is from itouch-ctrl plugin.
99 * Authors of itouch-ctrl are listed below:
4646#include " api_hotkey.h"
4747#include " grab.h"
4848#include " gui.h"
49- #include " plugin.h"
5049
5150#ifdef BUILT_FROM_CMAKE
5251#include " ../../audacious-plugins_simpleAF/src/thirdparty/d_custom_logger.hpp"
5352#endif
5453
54+ extern bool system_up_and_running;
55+
5556class GlobalHotkeys : public GeneralPlugin
5657{
5758public:
@@ -66,28 +67,24 @@ class GlobalHotkeys : public GeneralPlugin
6667 void cleanup () override ;
6768};
6869
69- EXPORT GlobalHotkeys aud_plugin_instance;
70-
71- #ifndef _WIN32
7270/* global vars */
73- static
74- #else
75- PluginConfig plugin_cfg;
76- #endif
77-
78- const char GlobalHotkeys::about[] = N_(
79- " Global Hotkey Plugin\n "
80- " Control the player with global key combinations or multimedia "
81- " keys.\n\n "
82- " Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>\n\n "
83- " Contributors include:\n "
84- " Copyright (C) 2006-2007 Vladimir Paskov <vlado.paskov@gmail.com>\n "
85- " Copyright (C) 2000-2002 Ville Syrjälä <syrjala@sci.fi>,\n "
86- " Bryn Davies <curious@ihug.com.au>,\n "
87- " Jonathan A. Davis <davis@jdhouse.org>,\n "
88- " Jeremy Tan <nsx@nsx.homeip.net>" );
89-
90- PluginConfig * get_config () { return &plugin_cfg; }
71+ EXPORT GlobalHotkeys aud_plugin_instance;
72+ PluginConfig plugin_cfg_gtk_global_hk;
73+
74+ const char GlobalHotkeys::about[] =
75+ N_ (" Global Hotkey Plugin\n "
76+ " Control the player with global key combinations or multimedia "
77+ " keys.\n\n "
78+ " Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>\n\n "
79+ " Contributors include:\n "
80+ " Copyright (C) 2020 Domen Mori <domen.mory@gmail.com>\n "
81+ " Copyright (C) 2006-2007 Vladimir Paskov <vlado.paskov@gmail.com>\n "
82+ " Copyright (C) 2000-2002 Ville Syrjälä <syrjala@sci.fi>,\n "
83+ " Bryn Davies <curious@ihug.com.au>,\n "
84+ " Jonathan A. Davis <davis@jdhouse.org>,\n "
85+ " Jeremy Tan <nsx@nsx.homeip.net>" );
86+
87+ PluginConfig * get_config () { return &plugin_cfg_gtk_global_hk; }
9188
9289/*
9390 * plugin activated
@@ -104,8 +101,9 @@ bool GlobalHotkeys::init()
104101 }
105102#ifdef _WIN32
106103 win_init ();
107- #endif
104+ #else
108105 setup_filter ();
106+ #endif
109107 load_config ();
110108 grab_keys ();
111109 return true ;
@@ -296,10 +294,9 @@ gboolean handle_keyevent(EVENT event)
296294
297295void load_defaults ()
298296{
299- AUDDBG (" lHotkeyFlow:Entry, loading defaults." );
300297 HotkeyConfiguration * hotkey;
301298
302- hotkey = &(plugin_cfg .first );
299+ hotkey = &(plugin_cfg_gtk_global_hk .first );
303300
304301 Hotkey::add_hotkey (&hotkey, OS_KEY_AudioPrev, 0 , TYPE_KEY,
305302 EVENT_PREV_TRACK);
@@ -329,7 +326,7 @@ void load_config()
329326 HotkeyConfiguration * hotkey;
330327 int i, max;
331328
332- hotkey = &(plugin_cfg .first );
329+ hotkey = &(plugin_cfg_gtk_global_hk .first );
333330 hotkey->next = nullptr ;
334331 hotkey->key = 0 ;
335332 hotkey->mask = 0 ;
@@ -378,7 +375,7 @@ void save_config()
378375 int max;
379376 HotkeyConfiguration * hotkey;
380377
381- hotkey = &(plugin_cfg .first );
378+ hotkey = &(plugin_cfg_gtk_global_hk .first );
382379 max = 0 ;
383380 while (hotkey)
384381 {
@@ -411,14 +408,17 @@ void save_config()
411408
412409void GlobalHotkeys::cleanup ()
413410{
411+ #ifdef _WIN32
412+ system_up_and_running = false ;
413+ #endif
414414#ifdef BUILT_FROM_CMAKE
415+ AUDWARN (" Cleanup of globalHotkeys" );
415416 audlog::unsubscribe (&DCustomLogger::go);
416417#endif
417-
418418 HotkeyConfiguration * hotkey;
419419 ungrab_keys ();
420420 release_filter ();
421- hotkey = &(plugin_cfg .first );
421+ hotkey = &(plugin_cfg_gtk_global_hk .first );
422422 hotkey = hotkey->next ;
423423 while (hotkey)
424424 {
@@ -427,8 +427,8 @@ void GlobalHotkeys::cleanup()
427427 hotkey = hotkey->next ;
428428 g_free (old);
429429 }
430- plugin_cfg .first .next = nullptr ;
431- plugin_cfg .first .key = 0 ;
432- plugin_cfg .first .event = (EVENT)0 ;
433- plugin_cfg .first .mask = 0 ;
430+ plugin_cfg_gtk_global_hk .first .next = nullptr ;
431+ plugin_cfg_gtk_global_hk .first .key = 0 ;
432+ plugin_cfg_gtk_global_hk .first .event = (EVENT)0 ;
433+ plugin_cfg_gtk_global_hk .first .mask = 0 ;
434434}
0 commit comments