105 gchar *browser_directory;
107 GList *text_options_list;
110 gint number_of_silence_points;
111 gint malloced_num_of_silence_points;
115 gint player_hundr_secs;
118 gint player_seconds2;
119 gint player_minutes2;
120 gint player_hundr_secs2;
126 gint width_drawing_area;
128 gfloat zoom_coeff_old;
131 gint tens_of_secs_th;
137 gint one_minute_time;
138 gint three_minutes_time;
139 gint six_minutes_time;
140 gint ten_minutes_time;
141 gint twenty_minutes_time;
142 gint fourty_minutes_time;
144 GArray *preview_time_windows;
146 GPtrArray *filtered_points_presence;
147 gint silence_wave_number_of_points_threshold;
149 gint selected_player;
151 gdouble douglas_peucker_thresholds[6];
152 gdouble douglas_peucker_thresholds_defaults[6];
154 gint debug_is_active;
156 gfloat silence_threshold_value;
157 gfloat silence_offset_value;
158 gint silence_number_of_tracks;
159 gfloat silence_minimum_length;
160 gfloat silence_minimum_track_length;
161 gboolean silence_remove_silence_between_tracks;
163 gint freedb_table_number;
164 gint playlist_tree_number;
165 gint multiple_files_tree_number;
167 gint freedb_selected_id;
169 splt_freedb_results *freedb_search_results;
171 gint split_file_mode;
173 GString *outputdirname;
179 gint gstreamer_stop_before_end;
181 gint small_seek_jump_value;
182 gint seek_jump_value;
183 gint big_seek_jump_value;
186 GThread *previous_export_thread;
189 gint previous_mark_time;
190 gfloat previous_mark_pixel;
191 gfloat accumulated_diff;
192 gint pixels_diff_regarding_previous;
193 GHashTable *previous_pixel_by_time;
194 GHashTable *pixel_moved_by_time;
196 gint drawing_preferences_silence_wave;
227 GtkApplication *application;
230 GtkWidget *open_file_chooser_button;
231 GString *input_filename;
233 GtkWidget *player_box;
234 GtkWidget *playlist_box;
236 GtkWidget *song_name_label;
237 GtkWidget *song_infos;
238 GtkWidget *label_time;
240 GtkAdjustment *progress_adj;
241 GtkWidget *progress_bar;
243 GtkTreeView *tree_view;
245 GtkWidget *drawing_area;
246 GtkProgressBar *percent_progress_bar;
247 GtkWidget *drawing_area_expander;
251 gint real_erase_split_length;
252 gint real_move_split_length;
253 gint real_checkbox_length;
254 gint real_wave_length;
256 gint erase_split_ylimit;
257 gint progress_ylimit;
258 gint splitpoint_ypos;
263 GPtrArray *wave_quality_das;
264 GtkWidget *player_scrolled_window;
266 GtkStatusbar *status_bar;
268 GtkWidget *add_button;
269 GtkWidget *remove_row_button;
270 GtkWidget *remove_all_button;
272 GtkTextTagTable *mess_hist_tag_table;
273 GtkTextBuffer *mess_hist_buffer;
275 GtkToggleButton *names_from_filename;
277 GtkWidget *pause_button;
279 GtkBox *player_buttons_hbox;
282 GtkWidget *Go_BegButton_active;
283 GtkWidget *Go_BegButton_inactive;
284 GtkWidget *Go_EndButton_active;
285 GtkWidget *Go_EndButton_inactive;
286 GtkWidget *PlayButton_active;
287 GtkWidget *PlayButton_inactive;
288 GtkWidget *StopButton_active;
289 GtkWidget *StopButton_inactive;
290 GtkWidget *PauseButton_active;
291 GtkWidget *PauseButton_inactive;
294 GtkWidget *play_button;
295 GtkWidget *stop_button;
296 GtkWidget *player_add_button;
297 GtkWidget *go_beg_button;
298 GtkWidget *go_end_button;
300 GtkWidget *connect_button;
301 GtkWidget *disconnect_button;
303 GtkWidget *silence_wave_check_button;
305 GtkWidget *cancel_button;
307 GtkWidget *volume_button;
309 GtkTreeView *playlist_tree;
311 GtkWidget *playlist_remove_file_button;
312 GtkWidget *playlist_remove_all_files_button;
314 GtkWidget *frame_mode;
315 GtkWidget *bit_reservoir_mode;
316 GtkWidget *adjust_mode;
318 GtkWidget *spinner_adjust_offset;
319 GtkWidget *spinner_adjust_gap;
320 GtkWidget *spinner_adjust_min;
321 GtkWidget *spinner_adjust_threshold;
323 GtkWidget *adjust_param_vbox;
325 GtkWidget *spinner_time;
326 GtkWidget *spinner_equal_tracks;
328 GtkWidget *all_spinner_silence_number_tracks;
329 GtkWidget *all_spinner_silence_minimum;
330 GtkWidget *all_spinner_track_minimum;
331 GtkWidget *all_spinner_silence_offset;
332 GtkWidget *all_spinner_trim_silence_threshold;
333 GtkWidget *all_spinner_silence_threshold;
334 GtkWidget *all_silence_remove_silence;
336 GtkWidget *all_threshold_label;
337 GtkWidget *all_trim_threshold_label;
338 GtkWidget *all_offset_label;
339 GtkWidget *all_number_of_tracks_label;
340 GtkWidget *all_min_silence_label;
341 GtkWidget *all_min_track_label;
343 GtkWidget *tags_radio;
344 GtkWidget *tags_version_radio;
346 GtkWidget *output_dir_radio;
347 GtkWidget *custom_dir_file_chooser_button;
348 GtkWidget *example_output_dir_entry;
349 GtkWidget *example_output_dir_box;
351 GtkWidget *replace_underscore_by_space_check_box;
352 GtkComboBox *artist_text_properties_combo;
353 GtkComboBox *album_text_properties_combo;
354 GtkComboBox *title_text_properties_combo;
355 GtkComboBox *comment_text_properties_combo;
356 GtkComboBox *genre_combo;
357 GtkWidget *comment_tag_entry;
358 GtkWidget *regex_entry;
359 GtkWidget *test_regex_fname_entry;
360 GtkWidget *sample_result_label;
361 GtkWidget *extract_tags_box;
363 GtkWidget *create_dirs_from_output_files;
365 GtkWidget *output_entry;
366 GtkWidget *output_label;
367 GtkWidget *output_default_label;
369 GtkTreeView *split_tree;
371 GtkWidget *spinner_minutes;
372 GtkWidget *spinner_seconds;
373 GtkWidget *spinner_hundr_secs;
375 GtkWidget *scan_trim_silence_button;
376 GtkWidget *scan_trim_silence_button_player;
377 GtkWidget *scan_silence_button;
378 GtkWidget *scan_silence_button_player;
380 GtkWidget *spinner_silence_number_tracks;
381 GtkWidget *spinner_silence_minimum;
382 GtkWidget *spinner_silence_minimum_track;
383 GtkWidget *spinner_silence_offset;
384 GtkWidget *spinner_silence_threshold;
385 GtkWidget *silence_remove_silence;
387 GtkWidget *queue_files_button;
388 GtkWidget *remove_file_button;
389 GtkWidget *remove_all_files_button;
391 GtkWidget *freedb_entry;
392 GtkWidget *freedb_search_button;
393 GtkWidget *freedb_spinner;
394 GtkTreeView *freedb_tree;
395 GtkWidget *freedb_add_button;
397 GtkWidget *radio_output;
399 GtkWidget *split_mode_radio_button;
401 GtkWidget *time_label;
402 GtkWidget *time_label_after;
403 GtkWidget *equal_tracks_label;
404 GtkWidget *equal_tracks_label_after;
406 GtkWidget *multiple_files_component;
408 GtkWidget *player_combo_box;
409 GtkWidget *radio_button;
410 GtkWidget *gstreamer_stop_before_end_box;
412 GPtrArray *wave_preview_labels;
414 GtkWidget *mess_history_window;
415 GtkWidget *mess_hist_view;
417 GtkTreeView *multiple_files_tree;
419 GtkWidget *multiple_files_remove_file_button;
420 GtkWidget *multiple_files_remove_all_files_button;
422 GtkWidget *preferences_widget;
423 GtkWidget *preferences_window;
425 GtkWidget *split_files_widget;
426 GtkWidget *split_files_window;
428 GtkWidget *freedb_widget;
429 GtkWidget *freedb_window;
431 GtkWidget *splitpoints_widget;
432 GtkWidget *splitpoints_window;
437 gint process_in_progress;
438 gint mouse_on_progress_bar;
439 gint currently_compute_douglas_peucker_filters;
440 gint show_silence_wave;
442 gboolean timer_active;
444 gint quick_preview_end_splitpoint;
445 gint preview_start_splitpoint;
446 gboolean stop_preview_right_after_start;
450 gboolean button1_pressed;
451 gboolean button2_pressed;
452 gboolean quick_preview;
459 gboolean move_splitpoints;
460 gint splitpoint_to_move;
461 gboolean remove_splitpoints;
462 gboolean select_splitpoints;
463 gboolean check_splitpoint;
465 gint first_splitpoint_selected;
469 gint spin_hundr_secs;
471 gchar current_description[255];
473 gint preview_start_position;
477 gint currently_scanning_for_silence;
479 gchar *filename_to_split;
481 gint douglas_callback_counter;
485 gint only_press_pause;
487 gboolean change_volume;
488 gboolean on_the_volume_button;
491 gint selected_split_mode;
493 gint file_selection_changed;
497 gfloat previous_zoom_coeff;
498 gint previous_interpolation_level;
500 gint lock_cue_export;