void ags_audio_preferences_apply(AgsApplicable *applicable) { AgsPreferences *preferences; AgsAudioPreferences *audio_preferences; AgsApplicationContext *application_context; AgsConfig *config; GList *card_id, *card_name; char *device; gchar *str; int card_num; guint channels, channels_min, channels_max; guint rate, rate_min, rate_max; guint buffer_size, buffer_size_min, buffer_size_max; audio_preferences = AGS_AUDIO_PREFERENCES(applicable); preferences = (AgsPreferences *) gtk_widget_get_ancestor(GTK_WIDGET(audio_preferences), AGS_TYPE_PREFERENCES); application_context = AGS_WINDOW(preferences->parent)->application_context; config = application_context->config; /* samplerate */ str = g_strdup_printf("%u\0", (guint) gtk_spin_button_get_value(audio_preferences->samplerate)); ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "samplerate\0", str); g_free(str); /* buffer size */ str = g_strdup_printf("%u\0", (guint) gtk_spin_button_get_value(audio_preferences->buffer_size)); ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "buffer-size\0", str); g_free(str); /* dsp channels */ str = g_strdup_printf("%u\0", (guint) gtk_spin_button_get_value(audio_preferences->audio_channels)); ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "dsp-channels\0", str); g_free(str); /* card */ ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "alsa-handle\0", gtk_combo_box_text_get_active_text(audio_preferences->card)); }
void ags_config_real_load_defaults(AgsConfig *config) { ags_config_set_value(config, AGS_CONFIG_GENERIC, "autosave-thread\0", "false\0"); ags_config_set_value(config, AGS_CONFIG_THREAD, "model\0", "multi-threaded\0"); ags_config_set_value(config, AGS_CONFIG_THREAD, "lock-global\0", "ags-thread\0"); ags_config_set_value(config, AGS_CONFIG_THREAD, "lock-parent\0", "ags-recycling-thread\0"); ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "samplerate\0", "44100\0"); ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "buffer-size\0", "940\0"); ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "pcm-channels\0", "2\0"); ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "dsp-channels\0", "2\0"); ags_config_set_value(config, AGS_CONFIG_SOUNDCARD, "alsa-handle\0", "hw:0,0\0"); ags_config_set_value(config, AGS_CONFIG_RECALL, "auto-sense\0", "true\0"); }
void ags_generic_preferences_apply(AgsApplicable *applicable) { AgsGenericPreferences *generic_preferences; AgsConfig *config; generic_preferences = AGS_GENERIC_PREFERENCES(applicable); config = ags_config_get_instance(); ags_config_set_value(config, AGS_CONFIG_GENERIC, "disable-feature", "experimental"); if(gtk_toggle_button_get_active((GtkToggleButton *) generic_preferences->autosave_thread)){ ags_config_set_value(config, AGS_CONFIG_GENERIC, "autosave-thread", "true"); }else{ ags_config_set_value(config, AGS_CONFIG_GENERIC, "autosave-thread", "false"); } ags_config_set_value(config, AGS_CONFIG_GENERIC, "segmentation", gtk_combo_box_text_get_active_text(generic_preferences->segmentation)); ags_config_set_value(config, AGS_CONFIG_GENERIC, "engine-mode", gtk_combo_box_text_get_active_text(generic_preferences->engine_mode)); ags_config_set_value(config, AGS_CONFIG_GENERIC, "rt-safe", (gtk_toggle_button_get_active((GtkToggleButton *) generic_preferences->rt_safe) ? "true": "false")); }
void ags_osc_server_preferences_apply(AgsApplicable *applicable) { AgsOscServerPreferences *osc_server_preferences; AgsConfig *config; gchar *str; osc_server_preferences = AGS_OSC_SERVER_PREFERENCES(applicable); config = ags_config_get_instance(); /* auto-start */ if(gtk_toggle_button_get_active((GtkToggleButton *) osc_server_preferences->auto_start)){ ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "auto-start", "true"); }else{ ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "auto-start", "false"); } /* any address */ if(gtk_toggle_button_get_active((GtkToggleButton *) osc_server_preferences->any_address)){ ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "any-address", "true"); }else{ ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "any-address", "false"); } /* IPv4 */ if(gtk_toggle_button_get_active((GtkToggleButton *) osc_server_preferences->enable_ip4)){ ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "enable-ip4", "true"); }else{ ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "enable-ip4", "false"); } str = gtk_entry_get_text(osc_server_preferences->ip4_address); if(str == NULL){ str = AGS_OSC_SERVER_DEFAULT_INET4_ADDRESS; } ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "ip4-address", str); /* IPv6 */ if(gtk_toggle_button_get_active((GtkToggleButton *) osc_server_preferences->enable_ip6)){ ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "enable-ip6", "true"); }else{ ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "enable-ip6", "false"); } str = gtk_entry_get_text(osc_server_preferences->ip6_address); if(str == NULL){ str = AGS_OSC_SERVER_DEFAULT_INET6_ADDRESS; } ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "ip6-address", str); /* port */ str = gtk_entry_get_text(osc_server_preferences->port); if(str == NULL){ str = g_strdup_printf("%d", AGS_OSC_SERVER_DEFAULT_SERVER_PORT); } ags_config_set_value(config, AGS_CONFIG_OSC_SERVER, "server-port", str); }
/** * ags_config_load_from_file: * @config: the #AgsConfig * @filename: the configuration file * * Load configuration from @filename. * * Since: 0.4 */ void ags_config_load_from_file(AgsConfig *config, gchar *filename) { GFile *file; file = g_file_new_for_path(filename); g_message("loading preferences for: %s\0", filename); if(!g_file_query_exists(file, NULL)){ ags_config_load_defaults(config); }else{ GKeyFile *key_file; gchar **groups, **groups_start; gchar **keys, **keys_start; gchar *value; GError *error; error = NULL; key_file = g_key_file_new(); g_key_file_load_from_file(key_file, filename, G_KEY_FILE_NONE, &error); groups = groups_start = g_key_file_get_groups(key_file, NULL); while(*groups != NULL){ keys = keys_start = g_key_file_get_keys(key_file, *groups, NULL, NULL); while(*keys != NULL){ value = g_key_file_get_value(key_file, *groups, *keys, NULL); ags_config_set_value(config, *groups, *keys, value); keys++; } g_strfreev(keys_start); groups++; } g_strfreev(groups_start); g_key_file_unref(key_file); } g_object_unref(file); }