1 /* hexter DSSI software synthesizer GUI
2  *
3  * Copyright (C) 2004, 2009, 2012 Sean Bolton and others.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation; either version 2 of
8  * the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be
11  * useful, but WITHOUT ANY WARRANTY; without even the implied
12  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  * PURPOSE.  See the GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public
16  * License along with this program; if not, write to the Free
17  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301 USA.
19  */
20 
21 #ifndef _GUI_INTERFACE_H
22 #define _GUI_INTERFACE_H
23 
24 #include <gtk/gtk.h>
25 
26 extern GtkWidget *main_window;
27 extern GtkObject *test_note_key_adj;
28 extern GtkObject *test_note_velocity_adj;
29 extern GtkObject *tuning_adj;
30 extern GtkObject *volume_adj;
31 extern GtkObject *polyphony_instance_adj;
32 extern GtkObject *polyphony_global_adj;
33 extern GtkWidget *monophonic_option_menu;
34 extern GtkWidget *compat059_button;
35 extern GtkWidget *sysex_channel_label;
36 extern GtkWidget *sysex_channel_spin;
37 extern GtkWidget *sysex_status_label;
38 
39 extern GtkWidget *about_window;
40 extern GtkWidget *about_label;
41 
42 extern GtkWidget *import_file_selection;
43 extern GtkWidget *import_file_position_window;
44 extern GtkObject *import_file_position_spin_adj;
45 extern GtkWidget *import_file_position_name_label;
46 
47 extern GtkWidget *notice_window;
48 extern GtkWidget *notice_label_1;
49 extern GtkWidget *notice_label_2;
50 
51 extern GtkWidget *export_file_type_window;
52 extern GtkWidget *export_file_type_sysex;
53 extern GtkObject *export_file_start_spin_adj;
54 extern GtkWidget *export_file_start_name;
55 extern GtkWidget *export_file_end_label;
56 extern GtkWidget *export_file_end_spin;
57 extern GtkObject *export_file_end_spin_adj;
58 extern GtkWidget *export_file_end_name;
59 extern GtkWidget *export_file_selection;
60 
61 extern GtkWidget *edit_save_position_window;
62 extern GtkObject *edit_save_position_spin_adj;
63 extern GtkWidget *edit_save_position_name_label;
64 
65 extern GtkWidget *patches_clist;
66 
67 #define PP_PITCH_BEND_RANGE       0
68 #define PP_PORTAMENTO_TIME        1
69 #define PP_MOD_WHEEL_SENSITIVITY  2
70 #define PP_FOOT_SENSITIVITY       3
71 #define PP_PRESSURE_SENSITIVITY   4
72 #define PP_BREATH_SENSITIVITY     5
73 
74 #define PP_MOD_WHEEL_ASSIGN  0
75 #define PP_FOOT_ASSIGN       1
76 #define PP_PRESSURE_ASSIGN   2
77 #define PP_BREATH_ASSIGN     3
78 
79 extern GtkWidget *performance_frame;
80 extern GtkObject *performance_spin_adjustments[6];
81 extern GtkWidget *performance_assign_widgets[4][3];
82 extern const char *performance_spin_names[6];
83 extern const char *performance_assign_names[4];
84 
85 void set_window_title(GtkWidget *window, const char *tag, const char *text);
86 void create_windows(const char *instance_tag);
87 
88 #endif /* _GUI_INTERFACE_H */
89 
90