Addressing gtk+ 2 deprecations.
[terminatorX.git] / src / tX_mastergui.h
1 /*
2     terminatorX - realtime audio scratching software
3     Copyright (C) 1999-2011  Alexander K├Ânig
4  
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9  
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14  
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  
19     File: tX_mastergui.h
20  
21     Description: Header to tX_mastergui.cc
22 */    
23
24 #ifndef _h_tx_mastergui
25 #define _h_tx_mastergui 1
26
27 #include <gtk/gtk.h>
28 #include <X11/Xlib.h>
29
30 #include "tX_seqpar.h"
31
32 extern int audioon;
33 extern Window x_window;
34 extern GdkWindow* top_window;
35
36 extern GtkWidget *main_window;
37
38 extern GtkAdjustment *volume_adj;
39 extern GtkAdjustment *pitch_adj;
40 extern GtkWidget *main_flash;
41
42 extern tX_seqpar_master_volume sp_master_volume;
43 extern tX_seqpar_master_pitch sp_master_pitch;
44
45 extern void create_mastergui(int x, int y);
46 extern void wav_progress_update(gfloat percent);
47 extern void note_destroy(GtkWidget *widget, GtkWidget *mbox);
48 extern void tx_note(const char *message, bool isError=false, GtkWindow *window=NULL);
49 extern void tx_l_note(const char *message);
50 extern void display_mastergui();
51 extern void grab_off();
52 extern void mg_update_status();
53 extern void load_tt_part(char *);
54 extern void seq_update();
55
56 extern GtkWidget *control_parent;
57 extern GtkWidget *audio_parent;
58
59 extern void gui_set_tooltip(GtkWidget *wid, const char *tip);
60
61 extern GtkWidget *panel_bar;
62
63 void add_to_panel_bar(GtkWidget *);
64 void remove_from_panel_bar(GtkWidget *);
65
66 typedef enum {
67         ALL_EVENTS_ALL_TURNTABLES,
68         ALL_EVENTS_FOR_TURNTABLE,
69         ALL_EVENTS_FOR_SP
70 } tx_menu_del_mode;
71
72 extern GtkWidget *del_dialog;
73 extern tx_menu_del_mode menu_del_mode;
74 extern tX_seqpar *del_sp;
75 extern vtt_class *del_vtt;
76
77 class tX_cursor {
78         public:
79         enum cursor_shape {
80                 DEFAULT_CURSOR,
81                 WAIT_CURSOR,
82                 WAIT_A_SECOND_CURSOR,
83                 MAX_CURSOR
84         };
85         
86         private:
87         static GdkCursor *cursors[MAX_CURSOR];
88         static cursor_shape current_shape;
89         
90         public:
91         static void set_cursor(cursor_shape shape);
92         static void reset_cursor();
93         static GdkCursor *get_cursor();
94 };
95
96 extern GCallback menu_delete_all_events_for_sp(GtkWidget *, tX_seqpar *sp);
97 extern bool tX_shutdown;
98 #endif