10
#include <gdk/gdkkeysyms.h>
14
#include <gdk/gdkkeysyms.h>
18
#include "ADM_toolkit/toolkit_gtk.h"
19
#include "ADM_toolkit/toolkit_gtk_include.h"
24
//#include "avi_vars.h"
26
#include "ADM_assert.h"
28
#include "ADM_gui2/support.h"
32
#include "oplug_avi/GUI_mux.h"
34
static GtkWidget *create_dialog1 (void);
36
#define ADJ_SET(widget_name,value) gtk_adjustment_set_value( GTK_ADJUSTMENT(gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (WID(widget_name)))),value)
37
#define ADJ_GET(widget_name) (int)gtk_adjustment_get_value( GTK_ADJUSTMENT(gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (WID(widget_name)))))
38
#define WID(x) lookup_widget(dialog,#x)
40
uint8_t DIA_setUserMuxParam( int *mode, int *param, int *muxsize)
49
dialog=create_dialog1();
50
// gtk_transient(dialog);
51
gtk_register_dialog(dialog);
60
ADJ_SET(spinFrame,*param);
63
ADJ_SET(spinSize,*param);
64
RADIO_SET(radioBytes,1);
69
ADJ_SET(spinbutton3,*muxsize);
71
if(gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_OK)
75
r=(RADIO_GET(radioN))+(2*RADIO_GET(radioBytes));
76
printf("\n r: %d \n",r);
80
*param=ADJ_GET(spinFrame);
88
*param=ADJ_GET(spinSize);
95
*muxsize=ADJ_GET(spinbutton3);
97
gtk_unregister_dialog(dialog);
98
gtk_widget_destroy(dialog);
102
GtkWidget *create_dialog1 (void)
105
GtkWidget *dialog_vbox1;
108
GSList *radioN_group = NULL;
109
GtkWidget *radioBytes;
110
GtkObject *spinFrame_adj;
111
GtkWidget *spinFrame;
112
GtkObject *spinSize_adj;
117
GtkObject *spinbutton3_adj;
118
GtkWidget *spinbutton3;
120
GtkWidget *dialog_action_area1;
121
GtkWidget *cancelbutton1;
122
GtkWidget *okbutton1;
124
dialog = gtk_dialog_new ();
125
gtk_window_set_title (GTK_WINDOW (dialog), _("AVI muxer options"));
126
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
128
dialog_vbox1 = GTK_DIALOG (dialog)->vbox;
129
gtk_widget_show (dialog_vbox1);
131
table1 = gtk_table_new (3, 3, FALSE);
132
gtk_widget_show (table1);
133
gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, TRUE, TRUE, 0);
134
gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
135
gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
136
gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
138
radioN = gtk_radio_button_new_with_mnemonic (NULL, _("Mux audio every"));
139
gtk_widget_show (radioN);
140
gtk_table_attach (GTK_TABLE (table1), radioN, 0, 1, 0, 1,
141
(GtkAttachOptions) (GTK_FILL),
142
(GtkAttachOptions) (0), 0, 0);
143
gtk_radio_button_set_group (GTK_RADIO_BUTTON (radioN), radioN_group);
144
radioN_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radioN));
146
radioBytes = gtk_radio_button_new_with_mnemonic (NULL, _("Split in packets of"));
147
gtk_widget_show (radioBytes);
148
gtk_table_attach (GTK_TABLE (table1), radioBytes, 0, 1, 1, 2,
149
(GtkAttachOptions) (GTK_FILL),
150
(GtkAttachOptions) (0), 0, 0);
151
gtk_radio_button_set_group (GTK_RADIO_BUTTON (radioBytes), radioN_group);
152
radioN_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radioBytes));
154
spinFrame_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
155
spinFrame = gtk_spin_button_new (GTK_ADJUSTMENT (spinFrame_adj), 1, 0);
156
gtk_widget_show (spinFrame);
157
gtk_table_attach (GTK_TABLE (table1), spinFrame, 1, 2, 0, 1,
158
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
159
(GtkAttachOptions) (0), 0, 0);
161
spinSize_adj = gtk_adjustment_new (2048, 0, 100000, 1, 10, 10);
162
spinSize = gtk_spin_button_new (GTK_ADJUSTMENT (spinSize_adj), 1, 0);
163
gtk_widget_show (spinSize);
164
gtk_table_attach (GTK_TABLE (table1), spinSize, 1, 2, 1, 2,
165
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
166
(GtkAttachOptions) (0), 0, 0);
168
label1 = gtk_label_new (_("video frame(s)"));
169
gtk_widget_show (label1);
170
gtk_table_attach (GTK_TABLE (table1), label1, 2, 3, 0, 1,
171
(GtkAttachOptions) (GTK_FILL),
172
(GtkAttachOptions) (0), 0, 0);
173
gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT);
174
gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);
176
label2 = gtk_label_new (_("bytes"));
177
gtk_widget_show (label2);
178
gtk_table_attach (GTK_TABLE (table1), label2, 2, 3, 1, 2,
179
(GtkAttachOptions) (GTK_FILL),
180
(GtkAttachOptions) (0), 0, 0);
181
gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT);
182
gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5);
184
label3 = gtk_label_new (_("Autosplit file every"));
185
gtk_widget_show (label3);
186
gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 2, 3,
187
(GtkAttachOptions) (GTK_FILL),
188
(GtkAttachOptions) (0), 0, 0);
189
gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT);
190
gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5);
192
spinbutton3_adj = gtk_adjustment_new (4090, 10, 4095, 1, 10, 10);
193
spinbutton3 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton3_adj), 1, 0);
194
gtk_widget_show (spinbutton3);
195
gtk_table_attach (GTK_TABLE (table1), spinbutton3, 1, 2, 2, 3,
196
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
197
(GtkAttachOptions) (0), 0, 0);
199
label4 = gtk_label_new (_("megabytes"));
200
gtk_widget_show (label4);
201
gtk_table_attach (GTK_TABLE (table1), label4, 2, 3, 2, 3,
202
(GtkAttachOptions) (GTK_FILL),
203
(GtkAttachOptions) (0), 0, 0);
204
gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT);
205
gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5);
207
dialog_action_area1 = GTK_DIALOG (dialog)->action_area;
208
gtk_widget_show (dialog_action_area1);
209
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
211
cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
212
gtk_widget_show (cancelbutton1);
213
gtk_dialog_add_action_widget (GTK_DIALOG (dialog), cancelbutton1, GTK_RESPONSE_CANCEL);
214
GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);
216
okbutton1 = gtk_button_new_from_stock ("gtk-ok");
217
gtk_widget_show (okbutton1);
218
gtk_dialog_add_action_widget (GTK_DIALOG (dialog), okbutton1, GTK_RESPONSE_OK);
219
GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
221
/* Store pointers to all widgets, for use by lookup_widget(). */
222
GLADE_HOOKUP_OBJECT_NO_REF (dialog, dialog, "dialog");
223
GLADE_HOOKUP_OBJECT_NO_REF (dialog, dialog_vbox1, "dialog_vbox1");
224
GLADE_HOOKUP_OBJECT (dialog, table1, "table1");
225
GLADE_HOOKUP_OBJECT (dialog, radioN, "radioN");
226
GLADE_HOOKUP_OBJECT (dialog, radioBytes, "radioBytes");
227
GLADE_HOOKUP_OBJECT (dialog, spinFrame, "spinFrame");
228
GLADE_HOOKUP_OBJECT (dialog, spinSize, "spinSize");
229
GLADE_HOOKUP_OBJECT (dialog, label1, "label1");
230
GLADE_HOOKUP_OBJECT (dialog, label2, "label2");
231
GLADE_HOOKUP_OBJECT (dialog, label3, "label3");
232
GLADE_HOOKUP_OBJECT (dialog, spinbutton3, "spinbutton3");
233
GLADE_HOOKUP_OBJECT (dialog, label4, "label4");
234
GLADE_HOOKUP_OBJECT_NO_REF (dialog, dialog_action_area1, "dialog_action_area1");
235
GLADE_HOOKUP_OBJECT (dialog, cancelbutton1, "cancelbutton1");
236
GLADE_HOOKUP_OBJECT (dialog, okbutton1, "okbutton1");