Mercurial > audlegacy-plugins
comparison src/scrobbler/plugin.c @ 2318:d7c321957be8
apply username/password changes 10 seconds after last keystroke in config editboxes
| author | Tomasz Mon <desowin@gmail.com> |
|---|---|
| date | Tue, 15 Jan 2008 20:26:27 +0100 |
| parents | 3f684f1b1840 |
| children | 224727e6c73d |
comparison
equal
deleted
inserted
replaced
| 2317:447dce6f59f3 | 2318:d7c321957be8 |
|---|---|
| 98 g_source_remove(track_timeout); | 98 g_source_remove(track_timeout); |
| 99 track_timeout = 0; | 99 track_timeout = 0; |
| 100 } | 100 } |
| 101 } | 101 } |
| 102 | 102 |
| 103 static void init(void) | 103 void start(void) { |
| 104 { | |
| 105 char *username = NULL, *password = NULL; | 104 char *username = NULL, *password = NULL; |
| 106 char *ge_username = NULL, *ge_password = NULL; | 105 char *ge_username = NULL, *ge_password = NULL; |
| 107 ConfigDb *cfgfile; | 106 ConfigDb *cfgfile; |
| 108 sc_going = 1; | 107 sc_going = 1; |
| 109 ge_going = 1; | 108 ge_going = 1; |
| 110 GError **moo = NULL; | 109 GError **moo = NULL; |
| 111 cfgdlg = create_cfgdlg(); | |
| 112 | |
| 113 aud_prefswin_page_new(cfgdlg, "Scrobbler", DATA_DIR "/images/audioscrobbler.png"); | |
| 114 | 110 |
| 115 if ((cfgfile = aud_cfg_db_open()) != NULL) { | 111 if ((cfgfile = aud_cfg_db_open()) != NULL) { |
| 116 aud_cfg_db_get_string(cfgfile, "audioscrobbler", "username", | 112 aud_cfg_db_get_string(cfgfile, "audioscrobbler", "username", |
| 117 &username); | 113 &username); |
| 118 aud_cfg_db_get_string(cfgfile, "audioscrobbler", "password", | 114 aud_cfg_db_get_string(cfgfile, "audioscrobbler", "password", |
| 178 aud_hook_associate("playback end", aud_hook_playback_end, NULL); | 174 aud_hook_associate("playback end", aud_hook_playback_end, NULL); |
| 179 | 175 |
| 180 pdebug("plugin started", DEBUG); | 176 pdebug("plugin started", DEBUG); |
| 181 } | 177 } |
| 182 | 178 |
| 183 static void cleanup(void) | 179 void stop(void) { |
| 184 { | |
| 185 aud_prefswin_page_destroy(cfgdlg); | |
| 186 | |
| 187 if (!sc_going && !ge_going) | 180 if (!sc_going && !ge_going) |
| 188 return; | 181 return; |
| 189 pdebug("about to lock mutex", DEBUG); | 182 pdebug("about to lock mutex", DEBUG); |
| 190 g_mutex_lock(m_scrobbler); | 183 g_mutex_lock(m_scrobbler); |
| 191 pdebug("locked mutex", DEBUG); | 184 pdebug("locked mutex", DEBUG); |
| 217 | 210 |
| 218 aud_hook_dissociate("playback begin", aud_hook_playback_begin); | 211 aud_hook_dissociate("playback begin", aud_hook_playback_begin); |
| 219 aud_hook_dissociate("playback end", aud_hook_playback_end); | 212 aud_hook_dissociate("playback end", aud_hook_playback_end); |
| 220 } | 213 } |
| 221 | 214 |
| 215 static void init(void) | |
| 216 { | |
| 217 start(); | |
| 218 cfgdlg = create_cfgdlg(); | |
| 219 aud_prefswin_page_new(cfgdlg, "Scrobbler", DATA_DIR "/images/audioscrobbler.png"); | |
| 220 } | |
| 221 | |
| 222 static void cleanup(void) | |
| 223 { | |
| 224 stop(); | |
| 225 aud_prefswin_page_destroy(cfgdlg); | |
| 226 } | |
| 227 | |
| 222 static void *xs_thread(void *data __attribute__((unused))) | 228 static void *xs_thread(void *data __attribute__((unused))) |
| 223 { | 229 { |
| 224 int run = 1; | 230 int run = 1; |
| 225 | 231 |
| 226 while (run) { | 232 while (run) { |
