mp3splt-gtk
player_window.h
1 /**********************************************************
2  *
3  * mp3splt-gtk -- utility based on mp3splt,
4  * for mp3/ogg splitting without decoding
5  *
6  * Copyright (c) 2005-2012 Alexandru Munteanu - io_fx@yahoo.fr
7  *
8  * http://mp3splt.sourceforge.net/
9  *
10  *********************************************************/
11 
12 /**********************************************************
13  *
14  * This program is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU General Public License
16  * as published by the Free Software Foundation; either version 2
17  * of the License, or (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License
25  * along with this program; if not, write to the Free Software
26  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
27  * USA.
28  *
29  *********************************************************/
30 
31 /**********************************************************
32  * Filename: player_window.h
33  *
34  * header of player_window.c
35  *
36  *********************************************************/
37 
38 #ifndef PLAYER_WINDOW_H
39 
40 #define PLAYER_WINDOW_H
41 
42 #include "all_includes.h"
43 
44 #define ICON_EXT ".svg"
45 
46 #define DEFAULT_TIMEOUT_VALUE 200
47 #define DEFAULT_SILENCE_WAVE_NUMBER_OF_POINTS_THRESHOLD 4000
48 
49 //float comparison
50 #define DELTA 5
51 
52 #define HUNDR_SECONDS 1
53 #define TENS_OF_SECONDS 10
54 #define SECONDS 100
55 #define TEN_SECONDS 1000
56 #define MINUTES 6000
57 #define TEN_MINUTES 60000
58 #define HOURS 360000
59 
60 void player_quick_preview(gint splitpoint_to_preview, ui_state *ui);
63 void cancel_quick_preview(gui_status *status);
65 void connect_to_player_with_song(gint i, ui_state *ui);
66 void connect_button_event(GtkWidget *widget, ui_state *ui);
67 void disconnect_button_event(GtkWidget *widget, ui_state *ui);
68 void pause_event(GtkWidget *widget, ui_state *ui);
69 void refresh_drawing_area(gui_state *gui);
70 gfloat get_right_drawing_time(gfloat current_time, gfloat total_time, gfloat zoom_coeff);
71 gfloat get_left_drawing_time(gfloat current_time, gfloat total_time, gfloat zoom_coeff);
72 
74 
75 void file_chooser_ok_event(gchar *fname, ui_state *ui);
76 
77 void change_current_filename(const gchar *fname, ui_state *ui);
79 
82 
83 void restart_player_timer(ui_state *ui);
84 
85 void compute_douglas_peucker_filters(ui_state *ui);
86 
87 gint draw_silence_wave(gint left_mark, gint right_mark,
88  gint interpolation_text_x, gint interpolation_text_y,
89  gfloat draw_time, gint width_drawing_area, gint y_margin,
90  gfloat current_time, gfloat total_time, gfloat zoom_coeff,
91  GtkWidget *da, cairo_t *gc, ui_state *ui);
92 
93 void get_current_splitpoints_time_left_right(gint *time_left, gint *time_right,
94  gint *splitpoint_left, ui_state *ui);
95 void player_key_actions_set_sensitivity(gboolean sensitivity, gui_state *gui);
96 void adjust_zoom_coeff(ui_infos *infos);
97 
98 void add_playlist_file(const gchar *name, ui_state *ui);
99 
100 void set_preview_start_position_safe(gint value, ui_state *ui);
101 gint get_preview_start_position_safe(ui_state *ui);
102 
103 void set_quick_preview_end_splitpoint_safe(gint value, ui_state *ui);
104 gint get_quick_preview_end_splitpoint_safe(ui_state *ui);
105 
106 void set_currently_scanning_for_silence_safe(gint value, ui_state *ui);
107 gint get_currently_scanning_for_silence_safe(ui_state *ui);
108 
109 #endif
110