void action_equ_save_auto_preset(void) { if (equalizerwin_save_auto_window) gtk_window_present(GTK_WINDOW(equalizerwin_save_auto_window)); else equalizerwin_create_list_window(equalizer_auto_presets, _("Save auto-preset"), &equalizerwin_save_auto_window, GTK_SELECTION_SINGLE, &equalizerwin_save_auto_entry, GTK_STOCK_OK, G_CALLBACK(equalizerwin_save_auto_ok), G_CALLBACK(equalizerwin_save_auto_select)); char * name = aud_drct_get_filename (); if (name != NULL) { char * base = g_path_get_basename (name); gtk_entry_set_text ((GtkEntry *) equalizerwin_save_auto_entry, base); g_free (base); str_unref (name); } }
void action_equ_save_preset_file(void) { GtkWidget *dialog; gchar *file_uri; gint i; dialog = make_filebrowser(_("Save equalizer preset"), TRUE); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { file_uri = gtk_file_chooser_get_uri(GTK_FILE_CHOOSER(dialog)); EqualizerPreset *preset = g_new0(EqualizerPreset, 1); preset->name = g_strdup(file_uri); preset->preamp = equalizerwin_get_preamp(); for (i = 0; i < AUD_EQUALIZER_NBANDS; i++) preset->bands[i] = equalizerwin_get_band(i); aud_save_preset_file(preset, file_uri); equalizer_preset_free(preset); g_free(file_uri); } char * songname = aud_drct_get_filename (); if (songname != NULL) { gchar * ext = aud_get_string (NULL, "eqpreset_extension"); gchar * eqname = g_strdup_printf ("%s.%s", songname, ext); gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), eqname); g_free (eqname); g_free (ext); str_unref (songname); } gtk_widget_destroy(dialog); }