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-2013 Alexandru Munteanu - m@ioalex.net
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
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(const 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 void clear_previous_distances(ui_state *ui);
110 
111 #endif
112 
gfloat get_left_drawing_time(gfloat current_time, gfloat total_time, gfloat zoom_coeff)
returns the value of the left drawing area
GtkWidget * create_player_control_frame(ui_state *ui)
creates the control player frame, stop button, play button, etc.
gfloat get_right_drawing_time(gfloat current_time, gfloat total_time, gfloat zoom_coeff)
returns the value of the right drawing area
void change_current_filename(const gchar *fname, ui_state *ui)
Change the name of the song that is to be cut and played.
GtkWidget * create_player_playlist_frame(ui_state *ui)
creates the playlist of the player
void cancel_quick_preview(gui_status *status)
cancels quick preview
void add_playlist_file(const gchar *name, ui_state *ui)
add a row to the table
void cancel_quick_preview_all(ui_state *ui)
full cancel of the quick preview
void enable_player_buttons(ui_state *ui)
enables the buttons of the player
void disconnect_button_event(GtkWidget *widget, ui_state *ui)
disconnect button event
void connect_to_player_with_song(gint i, ui_state *ui)
connects to player with the song from the filename entry
void connect_button_event(GtkWidget *widget, ui_state *ui)
play button event
void pause_event(GtkWidget *widget, ui_state *ui)
pause button event
gint draw_silence_wave(gint left_mark, gint right_mark, gint interpolation_text_x, gint interpolation_text_y, gfloat draw_time, gint width_drawing_area, gint y_margin, gfloat current_time, gfloat total_time, gfloat zoom_coeff, GtkWidget *da, cairo_t *gc, ui_state *ui)
Draws the silence wave.
void player_quick_preview(gint splitpoint_to_preview, ui_state *ui)
makes a quick preview of the song
void show_connect_button(gui_state *gui)
Show the connect button.
void hide_connect_button(gui_state *gui)
Hide the connect button.
void check_update_down_progress_bar(ui_state *ui)
updates bottom progress bar