Mercurial > hg > xmms-sid
changeset 147:a7abcda7a86c
SLDB, STIL and emulation engine settings are now updated
after properties have been changed, no need to restart XMMS anymore.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 06 Mar 2004 18:40:02 +0000 |
parents | d9d776c6f4cd |
children | 1075c4d9f112 |
files | src/xmms-sid.c src/xmms-sid.h src/xs_config.c |
diffstat | 3 files changed, 35 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xmms-sid.c Sat Mar 06 18:39:00 2004 +0000 +++ b/src/xmms-sid.c Sat Mar 06 18:40:02 2004 +0000 @@ -119,20 +119,19 @@ void xs_subctrl_close(void); + /* - * Initialize XMMS-SID + * Re-initialize some settings */ -void xs_init(void) +void xs_reinit(void) { gint iPlayer; gboolean isInitialized; - XSDEBUG("xs_init()\n"); - - /* Initialize and get configuration */ - memset(&xs_cfg, 0, sizeof(xs_cfg)); - xs_read_configuration(); - + /* Stop playing, if we are */ + if (xs_status.isPlaying) + xs_stop(); + /* Initialize status */ memset(&xs_status, 0, sizeof(xs_status)); xs_status.audioFrequency = xs_cfg.audioFrequency; @@ -174,17 +173,35 @@ XSDEBUG("init#2: %s, %i\n", (isInitialized) ? "OK" : "FAILED", iPlayer); /* Initialize song-length database */ + xs_songlen_close(); if (xs_cfg.songlenDBEnable && (xs_songlen_init() < 0)) - { + { XSERR("Error initializing song-length database!\n"); } /* Initialize STIL database */ + xs_stil_close(); if (xs_cfg.stilDBEnable && (xs_stil_init() < 0)) { XSERR("Error initializing STIL database!\n"); } +} + +/* + * Initialize XMMS-SID + */ +void xs_init(void) +{ + XSDEBUG("xs_init()\n"); + + /* Initialize and get configuration */ + memset(&xs_cfg, 0, sizeof(xs_cfg)); + xs_read_configuration(); + + /* Initialize subsystems */ + xs_reinit(); + XSDEBUG("OK\n"); }
--- a/src/xmms-sid.h Sat Mar 06 18:39:00 2004 +0000 +++ b/src/xmms-sid.h Sat Mar 06 18:40:02 2004 +0000 @@ -96,6 +96,7 @@ * Plugin function prototypes */ void xs_init(void); +void xs_reinit(void); void xs_close(void); gint xs_is_our_file(gchar *); void xs_play_file(gchar *);
--- a/src/xs_config.c Sat Mar 06 18:39:00 2004 +0000 +++ b/src/xs_config.c Sat Mar 06 18:40:02 2004 +0000 @@ -435,14 +435,16 @@ } } + /* Close window */ + gtk_widget_destroy(xs_configwin); + xs_configwin = NULL; + + /* Write settings */ xs_write_configuration(); -/* NOTICE/FIXME FIX ME: if songlendb or stildb settings changed, we need to flush and reread them */ - - /* Close window */ - gtk_widget_destroy(xs_configwin); - xs_configwin = NULL; + /* Re-initialize */ + xs_reinit(); } @@ -659,6 +661,7 @@ /* Other UI options */ #ifndef HAVE_XMMSEXTRA gtk_widget_set_sensitive(LUW("cfg_ftitle_override"), FALSE); + xs_cfg.titleOverride = TRUE; #endif #ifndef HAVE_SONG_POSITION