44 #include <glib/gi18n.h>
49 #include "player_tab.h"
50 #include "freedb_tab.h"
52 #include "preferences_tab.h"
53 #include "special_split.h"
54 #include "player_tab.h"
55 #include "combo_helper.h"
56 #include "options_manager.h"
57 #include "radio_helper.h"
59 extern gint debug_is_active;
64 extern gchar *filename_to_split;
65 extern gint selected_split_mode;
70 extern GtkWidget *spinner_adjust_offset;
71 extern GtkWidget *spinner_adjust_threshold;
72 extern GtkWidget *spinner_time;
73 extern GtkWidget *spinner_equal_tracks;
74 extern GtkWidget *create_dirs_from_output_files;
76 extern GtkWidget *all_spinner_silence_number_tracks;
77 extern GtkWidget *all_spinner_silence_minimum;
78 extern GtkWidget *all_spinner_track_minimum;
79 extern GtkWidget *all_spinner_silence_offset;
80 extern GtkWidget *all_spinner_silence_threshold;
81 extern GtkWidget *all_spinner_trim_silence_threshold;
82 extern GtkWidget *all_silence_remove_silence;
84 extern GList *text_options_list;
86 extern GtkComboBox *artist_text_properties_combo;
87 extern GtkComboBox *album_text_properties_combo;
88 extern GtkComboBox *title_text_properties_combo;
89 extern GtkComboBox *comment_text_properties_combo;
90 extern GtkComboBox *genre_combo;
91 extern GtkWidget *comment_tag_entry;
92 extern GtkWidget *regex_entry;
113 const char *data = gtk_entry_get_text(GTK_ENTRY(
output_entry));
114 gint error = SPLT_OUTPUT_FORMAT_OK;
115 mp3splt_set_oformat(the_state, data, &error);
136 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
frame_mode)))
145 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
adjust_mode)))
149 gtk_spin_button_get_value(GTK_SPIN_BUTTON(spinner_adjust_offset)));
153 gtk_spin_button_get_value(GTK_SPIN_BUTTON(spinner_adjust_threshold)));
164 switch (selected_split_mode)
166 case SELECTED_SPLIT_NORMAL:
170 case SELECTED_SPLIT_WRAP:
174 case SELECTED_SPLIT_TIME:
178 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spinner_time)));
180 case SELECTED_SPLIT_EQUAL_TIME_TRACKS:
184 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spinner_equal_tracks)));
186 case SELECTED_SPLIT_SILENCE:
189 gtk_spin_button_get_value(GTK_SPIN_BUTTON(all_spinner_silence_threshold)));
191 gtk_spin_button_get_value(GTK_SPIN_BUTTON(all_spinner_silence_offset)));
193 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(all_spinner_silence_number_tracks)));
195 gtk_spin_button_get_value(GTK_SPIN_BUTTON(all_spinner_silence_minimum)));
197 gtk_spin_button_get_value(GTK_SPIN_BUTTON(all_spinner_track_minimum)));
198 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(all_silence_remove_silence)))
207 case SELECTED_SPLIT_TRIM_SILENCE:
210 gtk_spin_button_get_value(GTK_SPIN_BUTTON(all_spinner_trim_silence_threshold)));
212 case SELECTED_SPLIT_ERROR:
220 gint selected_tags_value = rh_get_active_value(
tags_radio);
221 if (selected_tags_value == NO_TAGS)
225 else if (selected_tags_value == DEFAULT_TAGS)
229 else if (selected_tags_value == ORIGINAL_FILE_TAGS)
233 else if (selected_tags_value == TAGS_FROM_FILENAME)
235 put_tags_from_filename_regex_options();
239 if (tags_radio_choice == 0)
243 else if (tags_radio_choice == 1)
247 else if (tags_radio_choice == 2)
251 else if (tags_radio_choice == 3)
259 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(create_dirs_from_output_files)));
262 void put_tags_from_filename_regex_options()
266 gint underscores = gtk_toggle_button_get_active(
271 ch_get_active_value(artist_text_properties_combo));
274 ch_get_active_value(album_text_properties_combo));
277 ch_get_active_value(title_text_properties_combo));
280 ch_get_active_value(comment_text_properties_combo));
282 const gchar *regular_expression = gtk_entry_get_text(GTK_ENTRY(regex_entry));
285 const gchar *default_comment = gtk_entry_get_text(GTK_ENTRY(comment_tag_entry));
286 if (strlen(default_comment) == 0)
288 default_comment = NULL;
290 mp3splt_set_default_comment_tag(the_state, default_comment);
292 mp3splt_set_default_genre_tag(the_state, ch_get_active_str_value(genre_combo));