static void config_ok(GtkWidget *widget, gpointer data) { ConfigFile *cfg; gchar *filename; struct xmp_options *opt; opt = xmp_get_options(ctx); if (GTK_TOGGLE_BUTTON(Res_16)->active) xmp_cfg.force8bit = 0; if (GTK_TOGGLE_BUTTON(Res_8)->active) xmp_cfg.force8bit = 1; if (GTK_TOGGLE_BUTTON(Chan_ST)->active) xmp_cfg.force_mono = 0; if (GTK_TOGGLE_BUTTON(Chan_MO)->active) xmp_cfg.force_mono = 1; if (GTK_TOGGLE_BUTTON(Sample_44)->active) xmp_cfg.mixing_freq = 0; if (GTK_TOGGLE_BUTTON(Sample_22)->active) xmp_cfg.mixing_freq = 1; if (GTK_TOGGLE_BUTTON(Sample_11)->active) xmp_cfg.mixing_freq = 2; xmp_cfg.interpolation = !!GTK_TOGGLE_BUTTON(Interp_Check)->active; xmp_cfg.filter = !!GTK_TOGGLE_BUTTON(Filter_Check)->active; xmp_cfg.convert8bit = !!GTK_TOGGLE_BUTTON(Convert_Check)->active; xmp_cfg.modrange = !!GTK_TOGGLE_BUTTON(Modrange_Check)->active; xmp_cfg.fixloops = !!GTK_TOGGLE_BUTTON(Fixloops_Check)->active; xmp_cfg.pan_amplitude = (guchar)GTK_ADJUSTMENT(pansep_adj)->value; opt->mix = xmp_cfg.pan_amplitude; filename = g_strconcat(g_get_home_dir(), CONFIG_FILE, NULL); cfg = xmms_cfg_open_file(filename); if (!cfg) cfg = xmms_cfg_new(); #define CFGWRITEINT(x) xmms_cfg_write_int (cfg, "XMP", #x, xmp_cfg.x) CFGWRITEINT (mixing_freq); CFGWRITEINT (force8bit); CFGWRITEINT (convert8bit); CFGWRITEINT (modrange); CFGWRITEINT (fixloops); CFGWRITEINT (force_mono); CFGWRITEINT (interpolation); CFGWRITEINT (filter); CFGWRITEINT (pan_amplitude); xmms_cfg_write_file(cfg, filename); xmms_cfg_free(cfg); g_free(filename); gtk_widget_destroy(xmp_conf_window); }
/* Save current settings to the xmms config file */ void irapp_save_config(void) { ConfigFile *cfgfile; gchar *filename, buttontext[20]; gint i; filename = g_strconcat(g_get_home_dir(), "/.xmms/config", NULL); cfgfile = xmms_cfg_open_file(filename); if (!cfgfile) cfgfile = xmms_cfg_new(); xmms_cfg_write_string(cfgfile, "irman", "device", ircfg.device); xmms_cfg_write_int(cfgfile, "irman", "codelen", ircfg.codelen); for (i = 0; i < 10; i++) { sprintf(buttontext, "button%d", i); xmms_cfg_write_string(cfgfile, "irman", buttontext, ircfg.button[i]); sprintf(buttontext, "playlist%d", i); xmms_cfg_write_string(cfgfile, "irman", buttontext, ircfg.playlist[i]); } for (i = 10; i < 100; i++) { sprintf(buttontext, "playlist%d", i); xmms_cfg_write_string(cfgfile, "irman", buttontext, ircfg.playlist[i]); } xmms_cfg_write_string(cfgfile, "irman", "button_play", ircfg.button_play); xmms_cfg_write_string(cfgfile, "irman", "button_stop", ircfg.button_stop); xmms_cfg_write_string(cfgfile, "irman", "button_next", ircfg.button_next); xmms_cfg_write_string(cfgfile, "irman", "button_prev", ircfg.button_prev); xmms_cfg_write_string(cfgfile, "irman", "button_pause", ircfg.button_pause); xmms_cfg_write_string(cfgfile, "irman", "button_seekf", ircfg.button_seekf); xmms_cfg_write_string(cfgfile, "irman", "button_seekb", ircfg.button_seekb); xmms_cfg_write_string(cfgfile, "irman", "button_volup", ircfg.button_volup); xmms_cfg_write_string(cfgfile, "irman", "button_voldown", ircfg.button_voldown); xmms_cfg_write_string(cfgfile, "irman", "button_shuffle", ircfg.button_shuffle); xmms_cfg_write_string(cfgfile, "irman", "button_repeat", ircfg.button_repeat); xmms_cfg_write_string(cfgfile, "irman", "button_playlist", ircfg.button_playlist); xmms_cfg_write_string(cfgfile, "irman", "button_plus100", ircfg.button_plus100); xmms_cfg_write_file(cfgfile, filename); xmms_cfg_free(cfgfile); g_free(filename); }
void cdda_cdinfo_write_file(guint32 cddb_discid, cdinfo_t *cdinfo) { /* * We currently identify cdinfo on disk with the CDDB-discid. * Maybe it would be smarter to use the cdindex id instead? */ char *filename; ConfigFile *cfg; char sectionname[10], trackstr[16]; int i, numtracks = CLAMP(cddb_discid & 0xff, 0, 99); sprintf(sectionname, "%08x", cddb_discid); filename = g_strconcat(g_get_home_dir(), "/.xmms/cdinfo", NULL); if ((cfg = xmms_cfg_open_file(filename)) == NULL) cfg = xmms_cfg_new(); if (cdinfo->albname) xmms_cfg_write_string(cfg, sectionname, "Albumname", cdinfo->albname); else xmms_cfg_write_string(cfg, sectionname, "Albumname", ""); if (cdinfo->artname) xmms_cfg_write_string(cfg, sectionname, "Artistname", cdinfo->artname); for (i = 1; i <= numtracks; i++) { if (cdinfo->tracks[i].artist) { sprintf(trackstr, "track_artist%d", i); xmms_cfg_write_string(cfg, sectionname, trackstr, cdinfo->tracks[i].artist); } if (cdinfo->tracks[i].title) { sprintf(trackstr, "track_title%d", i); xmms_cfg_write_string(cfg, sectionname, trackstr, cdinfo->tracks[i].title); } } if (!xmms_cfg_write_file(cfg, filename)) /*FIXME */; xmms_cfg_free(cfg); g_free(filename); }
static void configure_ok(GtkWidget *w, gpointer data) { ConfigFile *cfg; gchar *filename; gdouble color[3]; filename = g_strconcat(g_get_home_dir(), "/.xmms/config", NULL); cfg = xmms_cfg_open_file(filename); if (!cfg) cfg = xmms_cfg_new(); gtk_color_selection_get_color(GTK_COLOR_SELECTION(options_colorpicker), color); bscope_cfg.color = ((guint32)(255.0*color[0])<<16) | ((guint32)(255.0*color[1])<<8) | ((guint32)(255.0*color[2])); xmms_cfg_write_int(cfg, "BlurScope", "color", bscope_cfg.color); xmms_cfg_write_file(cfg, filename); xmms_cfg_free(cfg); g_free(filename); generate_cmap(); gtk_widget_destroy(configure_win); }
static void flac_configurewin_ok(GtkWidget * widget, gpointer data) { ConfigFile *cfg; gchar *filename; (void)widget, (void)data; /* unused arguments */ g_free(flac_cfg.title.tag_format); flac_cfg.title.tag_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(title_tag_entry))); flac_cfg.title.user_char_set = Charset_Get_Name_From_Title(gtk_entry_get_text_1(userCharacterSetEntry)); filename = g_strconcat(g_get_home_dir(), "/.xmms/config", NULL); cfg = xmms_cfg_open_file(filename); if (!cfg) cfg = xmms_cfg_new(); /* title */ xmms_cfg_write_boolean(cfg, "flac", "title.tag_override", flac_cfg.title.tag_override); xmms_cfg_write_string(cfg, "flac", "title.tag_format", flac_cfg.title.tag_format); xmms_cfg_write_boolean(cfg, "flac", "title.convert_char_set", flac_cfg.title.convert_char_set); xmms_cfg_write_string(cfg, "flac", "title.user_char_set", flac_cfg.title.user_char_set); /* output */ xmms_cfg_write_boolean(cfg, "flac", "output.replaygain.enable", flac_cfg.output.replaygain.enable); xmms_cfg_write_boolean(cfg, "flac", "output.replaygain.album_mode", flac_cfg.output.replaygain.album_mode); xmms_cfg_write_int(cfg, "flac", "output.replaygain.preamp", flac_cfg.output.replaygain.preamp); xmms_cfg_write_boolean(cfg, "flac", "output.replaygain.hard_limit", flac_cfg.output.replaygain.hard_limit); xmms_cfg_write_boolean(cfg, "flac", "output.resolution.normal.dither_24_to_16", flac_cfg.output.resolution.normal.dither_24_to_16); xmms_cfg_write_boolean(cfg, "flac", "output.resolution.replaygain.dither", flac_cfg.output.resolution.replaygain.dither); xmms_cfg_write_int(cfg, "flac", "output.resolution.replaygain.noise_shaping", flac_cfg.output.resolution.replaygain.noise_shaping); xmms_cfg_write_int(cfg, "flac", "output.resolution.replaygain.bps_out", flac_cfg.output.resolution.replaygain.bps_out); /* streaming */ flac_cfg.stream.http_buffer_size = (gint) GTK_ADJUSTMENT(streaming_size_adj)->value; flac_cfg.stream.http_prebuffer = (gint) GTK_ADJUSTMENT(streaming_pre_adj)->value; flac_cfg.stream.use_proxy = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_use)); g_free(flac_cfg.stream.proxy_host); flac_cfg.stream.proxy_host = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_host_entry))); flac_cfg.stream.proxy_port = atoi(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_port_entry))); flac_cfg.stream.proxy_use_auth = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_auth_use)); if(flac_cfg.stream.proxy_user) g_free(flac_cfg.stream.proxy_user); flac_cfg.stream.proxy_user = NULL; if(strlen(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_user_entry))) > 0) flac_cfg.stream.proxy_user = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_user_entry))); if(flac_cfg.stream.proxy_pass) g_free(flac_cfg.stream.proxy_pass); flac_cfg.stream.proxy_pass = NULL; if(strlen(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_pass_entry))) > 0) flac_cfg.stream.proxy_pass = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_pass_entry))); flac_cfg.stream.save_http_stream = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_save_use)); if (flac_cfg.stream.save_http_path) g_free(flac_cfg.stream.save_http_path); flac_cfg.stream.save_http_path = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_save_entry))); #ifdef FLAC_ICECAST flac_cfg.stream.cast_title_streaming = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_cast_title)); flac_cfg.stream.use_udp_channel = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_udp_title)); #endif xmms_cfg_write_int(cfg, "flac", "stream.http_buffer_size", flac_cfg.stream.http_buffer_size); xmms_cfg_write_int(cfg, "flac", "stream.http_prebuffer", flac_cfg.stream.http_prebuffer); xmms_cfg_write_boolean(cfg, "flac", "stream.use_proxy", flac_cfg.stream.use_proxy); xmms_cfg_write_string(cfg, "flac", "stream.proxy_host", flac_cfg.stream.proxy_host); xmms_cfg_write_int(cfg, "flac", "stream.proxy_port", flac_cfg.stream.proxy_port); xmms_cfg_write_boolean(cfg, "flac", "stream.proxy_use_auth", flac_cfg.stream.proxy_use_auth); if(flac_cfg.stream.proxy_user) xmms_cfg_write_string(cfg, "flac", "stream.proxy_user", flac_cfg.stream.proxy_user); else xmms_cfg_remove_key(cfg, "flac", "stream.proxy_user"); if(flac_cfg.stream.proxy_pass) xmms_cfg_write_string(cfg, "flac", "stream.proxy_pass", flac_cfg.stream.proxy_pass); else xmms_cfg_remove_key(cfg, "flac", "stream.proxy_pass"); xmms_cfg_write_boolean(cfg, "flac", "stream.save_http_stream", flac_cfg.stream.save_http_stream); xmms_cfg_write_string(cfg, "flac", "stream.save_http_path", flac_cfg.stream.save_http_path); #ifdef FLAC_ICECAST xmms_cfg_write_boolean(cfg, "flac", "stream.cast_title_streaming", flac_cfg.stream.cast_title_streaming); xmms_cfg_write_boolean(cfg, "flac", "stream.use_udp_channel", flac_cfg.stream.use_udp_channel); #endif xmms_cfg_write_file(cfg, filename); xmms_cfg_free(cfg); g_free(filename); gtk_widget_destroy(flac_configurewin); }
gboolean xmms_cfg_write_default_file(ConfigFile * cfg) { return xmms_cfg_write_file(cfg, xmms_cfg_get_default_filename()); }
static void mpg123_configurewin_ok(GtkWidget * widget, gpointer data) { ConfigFile *cfg; gchar *filename; if (GTK_TOGGLE_BUTTON(decode_res_16)->active) mpg123_cfg.resolution = 16; else if (GTK_TOGGLE_BUTTON(decode_res_8)->active) mpg123_cfg.resolution = 8; if (GTK_TOGGLE_BUTTON(decode_ch_stereo)->active) mpg123_cfg.channels = 2; else if (GTK_TOGGLE_BUTTON(decode_ch_mono)->active) mpg123_cfg.channels = 1; if (GTK_TOGGLE_BUTTON(decode_freq_1to1)->active) mpg123_cfg.downsample = 0; else if (GTK_TOGGLE_BUTTON(decode_freq_1to2)->active) mpg123_cfg.downsample = 1; if (GTK_TOGGLE_BUTTON(decode_freq_1to4)->active) mpg123_cfg.downsample = 2; if (GTK_TOGGLE_BUTTON(detect_by_content)->active) mpg123_cfg.detect_by = DETECT_CONTENT; else if (GTK_TOGGLE_BUTTON(detect_by_extension)->active) mpg123_cfg.detect_by = DETECT_EXTENSION; else if (GTK_TOGGLE_BUTTON(detect_by_both)->active) mpg123_cfg.detect_by = DETECT_BOTH; else mpg123_cfg.detect_by = DETECT_EXTENSION; #ifdef USE_SIMD if (GTK_TOGGLE_BUTTON(auto_select)->active) mpg123_cfg.default_synth = SYNTH_AUTO; else if (GTK_TOGGLE_BUTTON(decoder_fpu)->active) mpg123_cfg.default_synth = SYNTH_FPU; else if (GTK_TOGGLE_BUTTON(decoder_mmx)->active) mpg123_cfg.default_synth = SYNTH_MMX; else mpg123_cfg.default_synth = SYNTH_3DNOW; #endif mpg123_cfg.http_buffer_size = (gint) GTK_ADJUSTMENT(streaming_size_adj)->value; mpg123_cfg.http_prebuffer = (gint) GTK_ADJUSTMENT(streaming_pre_adj)->value; mpg123_cfg.use_proxy = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_use)); g_free(mpg123_cfg.proxy_host); mpg123_cfg.proxy_host = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_host_entry))); mpg123_cfg.proxy_port = atoi(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_port_entry))); mpg123_cfg.proxy_use_auth = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_auth_use)); if(mpg123_cfg.proxy_user) g_free(mpg123_cfg.proxy_user); mpg123_cfg.proxy_user = NULL; if(strlen(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_user_entry))) > 0) mpg123_cfg.proxy_user = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_user_entry))); if(mpg123_cfg.proxy_pass) g_free(mpg123_cfg.proxy_pass); mpg123_cfg.proxy_pass = NULL; if(strlen(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_pass_entry))) > 0) mpg123_cfg.proxy_pass = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_pass_entry))); mpg123_cfg.save_http_stream = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_save_use)); if (mpg123_cfg.save_http_path) g_free(mpg123_cfg.save_http_path); mpg123_cfg.save_http_path = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_save_entry))); mpg123_cfg.cast_title_streaming = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_cast_title)); mpg123_cfg.use_udp_channel = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_udp_title)); mpg123_cfg.title_override = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(title_override)); mpg123_cfg.disable_id3v2 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(title_id3v2_disable)); g_free(mpg123_cfg.id3_format); mpg123_cfg.id3_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(title_id3_entry))); filename = g_strconcat(g_get_home_dir(), "/.xmms/config", NULL); cfg = xmms_cfg_open_file(filename); if (!cfg) cfg = xmms_cfg_new(); xmms_cfg_write_int(cfg, "MPG123", "resolution", mpg123_cfg.resolution); xmms_cfg_write_int(cfg, "MPG123", "channels", mpg123_cfg.channels); xmms_cfg_write_int(cfg, "MPG123", "downsample", mpg123_cfg.downsample); xmms_cfg_write_int(cfg, "MPG123", "http_buffer_size", mpg123_cfg.http_buffer_size); xmms_cfg_write_int(cfg, "MPG123", "http_prebuffer", mpg123_cfg.http_prebuffer); xmms_cfg_write_boolean(cfg, "MPG123", "use_proxy", mpg123_cfg.use_proxy); xmms_cfg_write_string(cfg, "MPG123", "proxy_host", mpg123_cfg.proxy_host); xmms_cfg_write_int(cfg, "MPG123", "proxy_port", mpg123_cfg.proxy_port); xmms_cfg_write_boolean(cfg, "MPG123", "proxy_use_auth", mpg123_cfg.proxy_use_auth); if(mpg123_cfg.proxy_user) xmms_cfg_write_string(cfg, "MPG123", "proxy_user", mpg123_cfg.proxy_user); else xmms_cfg_remove_key(cfg, "MPG123", "proxy_user"); if(mpg123_cfg.proxy_pass) xmms_cfg_write_string(cfg, "MPG123", "proxy_pass", mpg123_cfg.proxy_pass); else xmms_cfg_remove_key(cfg, "MPG123", "proxy_pass"); xmms_cfg_write_boolean(cfg, "MPG123", "save_http_stream", mpg123_cfg.save_http_stream); xmms_cfg_write_string(cfg, "MPG123", "save_http_path", mpg123_cfg.save_http_path); xmms_cfg_write_boolean(cfg, "MPG123", "cast_title_streaming", mpg123_cfg.cast_title_streaming); xmms_cfg_write_boolean(cfg, "MPG123", "use_udp_channel", mpg123_cfg.use_udp_channel); xmms_cfg_write_boolean(cfg, "MPG123", "title_override", mpg123_cfg.title_override); xmms_cfg_write_boolean(cfg, "MPG123", "disable_id3v2", mpg123_cfg.disable_id3v2); xmms_cfg_write_string(cfg, "MPG123", "id3_format", mpg123_cfg.id3_format); xmms_cfg_write_int(cfg, "MPG123", "detect_by", mpg123_cfg.detect_by); #ifdef USE_SIMD xmms_cfg_write_int(cfg, "MPG123", "default_synth", mpg123_cfg.default_synth); #endif xmms_cfg_write_file(cfg, filename); xmms_cfg_free(cfg); g_free(filename); gtk_widget_destroy(mpg123_configurewin); }