41 static void export_to_cue_file(
const gchar* filename,
ui_state *ui)
43 const gchar *old_fname = mp3splt_get_filename_to_split(ui->mp3splt_state);
45 if (old_fname != NULL) { fname = g_strdup(old_fname); }
49 gchar *directory = g_path_get_dirname(filename);
50 mp3splt_set_path_of_split(ui->mp3splt_state, directory);
53 mp3splt_erase_all_splitpoints(ui->mp3splt_state);
54 mp3splt_erase_all_tags(ui->mp3splt_state);
58 gchar *file = g_path_get_basename(filename);
59 splt_code err = mp3splt_export(ui->mp3splt_state, CUE_EXPORT, file, SPLT_FALSE);
63 mp3splt_set_filename_to_split(ui->mp3splt_state, fname);
64 if (fname != NULL) { g_free(fname); }
67 void export_cue_file_in_configuration_directory(
ui_state *ui)
69 if (ui->status->lock_cue_export) {
return; }
71 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_CUE_DISABLE_CUE_FILE_CREATED_MESSAGE,
74 gchar *configuration_directory = get_configuration_directory();
76 gsize filename_size = strlen(configuration_directory) + 20;
77 gchar *splitpoints_cue_filename = g_malloc(filename_size *
sizeof(gchar));
78 g_snprintf(splitpoints_cue_filename, filename_size,
"%s%s%s", configuration_directory,
79 G_DIR_SEPARATOR_S,
"splitpoints.cue");
81 export_to_cue_file(splitpoints_cue_filename, ui);
83 g_free(configuration_directory);
84 g_free(splitpoints_cue_filename);
86 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_CUE_DISABLE_CUE_FILE_CREATED_MESSAGE,
93 GtkWidget *file_chooser = gtk_file_chooser_dialog_new(_(
"Cue filename to export"),
95 GTK_FILE_CHOOSER_ACTION_SAVE,
102 wh_set_browser_directory_handler(ui, file_chooser);
104 GtkFileFilter *our_filter = gtk_file_filter_new();
105 gtk_file_filter_set_name (our_filter, _(
"cue files (*.cue)"));
106 gtk_file_filter_add_pattern(our_filter,
"*.cue");
107 gtk_file_filter_add_pattern(our_filter,
"*.CUE");
108 gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(file_chooser), our_filter);
109 gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(file_chooser),TRUE);
111 if (gtk_dialog_run(GTK_DIALOG(file_chooser)) == GTK_RESPONSE_ACCEPT)
113 gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(file_chooser));
114 export_to_cue_file(filename, ui);
118 gtk_widget_destroy(file_chooser);
void put_splitpoints_and_tags_in_mp3splt_state(splt_state *state, ui_state *ui)
puts the splitpoints into the state
gchar * get_input_filename(gui_state *gui)
Get the name of the input file.
void print_status_bar_confirmation(gint error, ui_state *ui)
Output an error message from libmp3splt to the status bar.
void export_cue_file_event(GtkWidget *widget, ui_state *ui)
Choose the file to save the session to.