41 #include "options_manager.h"
52 lock_mutex(&ui->variables_mutex);
54 unlock_mutex(&ui->variables_mutex);
58 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_OUTPUT_FILENAMES, SPLT_OUTPUT_FORMAT);
59 const char *data = gtk_entry_get_text(GTK_ENTRY(ui->gui->output_entry));
60 gint error = mp3splt_set_oformat(ui->mp3splt_state, data);
65 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_OUTPUT_FILENAMES, SPLT_OUTPUT_DEFAULT);
80 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gui->frame_mode)))
82 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_FRAME_MODE, SPLT_TRUE);
86 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_FRAME_MODE, SPLT_FALSE);
89 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gui->adjust_mode)))
91 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_AUTO_ADJUST, SPLT_TRUE);
92 mp3splt_set_float_option(ui->mp3splt_state, SPLT_OPT_PARAM_OFFSET,
93 gtk_spin_button_get_value(GTK_SPIN_BUTTON(gui->spinner_adjust_offset)));
94 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_PARAM_GAP,
95 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(gui->spinner_adjust_gap)));
96 mp3splt_set_float_option(ui->mp3splt_state, SPLT_OPT_PARAM_THRESHOLD,
97 gtk_spin_button_get_value(GTK_SPIN_BUTTON(gui->spinner_adjust_threshold)));
98 mp3splt_set_float_option(ui->mp3splt_state, SPLT_OPT_PARAM_MIN_LENGTH,
99 gtk_spin_button_get_value(GTK_SPIN_BUTTON(gui->spinner_adjust_min)));
103 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_AUTO_ADJUST, SPLT_FALSE);
106 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_INPUT_NOT_SEEKABLE, SPLT_FALSE);
107 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_NORMAL_MODE);
109 if (get_split_file_mode_safe(ui) == FILE_MODE_SINGLE)
111 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_NORMAL_MODE);
115 switch (get_selected_split_mode_safe(ui))
117 case SELECTED_SPLIT_NORMAL:
118 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_NORMAL_MODE);
120 case SELECTED_SPLIT_WRAP:
121 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_WRAP_MODE);
123 case SELECTED_SPLIT_TIME:
124 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_TIME_MODE);
125 mp3splt_set_long_option(ui->mp3splt_state, SPLT_OPT_SPLIT_TIME,
126 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(gui->spinner_time)) * 100);
128 case SELECTED_SPLIT_EQUAL_TIME_TRACKS:
129 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_LENGTH_MODE);
130 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_LENGTH_SPLIT_FILE_NUMBER,
131 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(gui->spinner_equal_tracks)));
133 case SELECTED_SPLIT_SILENCE:
134 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_SILENCE_MODE);
135 mp3splt_set_float_option(ui->mp3splt_state, SPLT_OPT_PARAM_THRESHOLD,
136 gtk_spin_button_get_value(GTK_SPIN_BUTTON(gui->all_spinner_silence_threshold)));
137 mp3splt_set_float_option(ui->mp3splt_state, SPLT_OPT_PARAM_OFFSET,
138 gtk_spin_button_get_value(GTK_SPIN_BUTTON(gui->all_spinner_silence_offset)));
139 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_PARAM_NUMBER_TRACKS,
140 gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(gui->all_spinner_silence_number_tracks)));
141 mp3splt_set_float_option(ui->mp3splt_state, SPLT_OPT_PARAM_MIN_LENGTH,
142 gtk_spin_button_get_value(GTK_SPIN_BUTTON(gui->all_spinner_silence_minimum)));
143 mp3splt_set_float_option(ui->mp3splt_state, SPLT_OPT_PARAM_MIN_TRACK_LENGTH,
144 gtk_spin_button_get_value(GTK_SPIN_BUTTON(gui->all_spinner_track_minimum)));
145 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gui->all_silence_remove_silence)))
147 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_PARAM_REMOVE_SILENCE, SPLT_TRUE);
151 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_PARAM_REMOVE_SILENCE, SPLT_FALSE);
154 case SELECTED_SPLIT_TRIM_SILENCE:
155 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_TRIM_SILENCE_MODE);
156 mp3splt_set_float_option(ui->mp3splt_state, SPLT_OPT_PARAM_THRESHOLD,
157 gtk_spin_button_get_value(GTK_SPIN_BUTTON(gui->all_spinner_trim_silence_threshold)));
159 case SELECTED_SPLIT_ERROR:
160 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_SPLIT_MODE, SPLT_OPTION_ERROR_MODE);
167 gint selected_tags_value = rh_get_active_value(gui->tags_radio);
168 if (selected_tags_value == NO_TAGS)
170 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_TAGS, SPLT_NO_TAGS);
172 else if (selected_tags_value == DEFAULT_TAGS)
174 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_TAGS, SPLT_CURRENT_TAGS);
176 else if (selected_tags_value == ORIGINAL_FILE_TAGS)
178 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_TAGS, SPLT_TAGS_ORIGINAL_FILE);
180 else if (selected_tags_value == TAGS_FROM_FILENAME)
182 put_tags_from_filename_regex_options(ui);
186 if (tags_radio_choice == 0)
188 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_FORCE_TAGS_VERSION, 0);
190 else if (tags_radio_choice == 1)
192 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_FORCE_TAGS_VERSION, 1);
194 else if (tags_radio_choice == 2)
196 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_FORCE_TAGS_VERSION, 2);
198 else if (tags_radio_choice == 3)
200 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_FORCE_TAGS_VERSION, 12);
203 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_CREATE_DIRS_FROM_FILENAMES,
204 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gui->create_dirs_from_output_files)));
207 void put_tags_from_filename_regex_options(
ui_state *ui)
211 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_TAGS, SPLT_TAGS_FROM_FILENAME_REGEX);
214 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gui->replace_underscore_by_space_check_box));
215 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_REPLACE_UNDERSCORES_TAG_FORMAT, underscores);
217 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_ARTIST_TAG_FORMAT,
218 ch_get_active_value(gui->artist_text_properties_combo));
219 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_ALBUM_TAG_FORMAT,
220 ch_get_active_value(gui->album_text_properties_combo));
221 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_TITLE_TAG_FORMAT,
222 ch_get_active_value(gui->title_text_properties_combo));
223 mp3splt_set_int_option(ui->mp3splt_state, SPLT_OPT_COMMENT_TAG_FORMAT,
224 ch_get_active_value(gui->comment_text_properties_combo));
226 const gchar *regular_expression = gtk_entry_get_text(GTK_ENTRY(gui->regex_entry));
227 mp3splt_set_input_filename_regex(ui->mp3splt_state, regular_expression);
229 const gchar *default_comment = gtk_entry_get_text(GTK_ENTRY(gui->comment_tag_entry));
230 if (strlen(default_comment) == 0)
232 default_comment = NULL;
234 mp3splt_set_default_comment_tag(ui->mp3splt_state, default_comment);
236 mp3splt_set_default_genre_tag(ui->mp3splt_state, ch_get_active_str_value(gui->genre_combo));
void update_output_options(ui_state *ui)
Update the output options.
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.
gint get_checked_tags_version_radio_box(gui_state *gui)
returns the checked tags radio box
gboolean get_checked_output_radio_box(ui_state *ui)
returns the checked output radio box
void put_options_from_preferences(ui_state *ui)
Update the ui->mp3splt_state structure.