~ubuntu-branches/ubuntu/hardy/avidemux/hardy

« back to all changes in this revision

Viewing changes to avidemux/ADM_dialog/DIA_muxer.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Matvey Kozhev
  • Date: 2007-12-18 13:53:04 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20071218135304-cdqec2lg2bglyz15
Tags: 1:2.4~preview3-0.0ubuntu1
* Upload to Ubuntu. (LP: #163287, LP: #126572)
* debian/changelog: re-added Ubuntu releases.
* debian/control:
  - Require debhelper >= 5.0.51 (for dh_icons) and imagemagick.
  - Build-depend on libsdl1.2-dev instead of libsdl-dev.
  - Build against newer libx264-dev. (LP: #138854)
  - Removed libamrnb-dev, not in Ubuntu yet.
* debian/rules:
  - Install all icon sizes, using convert (upstream installs none).
  - Added missing calls to dh_installmenu, dh_installman, dh_icons and
    dh_desktop.
* debian/menu, debian/avidemux-qt.menu:
  - Corrected package and executable names.
* debian/avidemux-common.install: Install icons.
* debian/avidemux.common.manpages: Install man/avidemux.1.
* debian/links, debian/avidemux-cli.links, debian/avidemux-gtk.links:
  - Link manpages to avidemux.1.gz.
* debian/install, debian/avidemux-qt.install, debian/avidemux-gtk.desktop,
  debian/avidemux-qt.desktop: Install desktop files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
#include <config.h>
3
 
 
4
 
#include <sys/types.h>
5
 
#include <sys/stat.h>
6
 
#include <unistd.h>
7
 
#include <string.h>
8
 
#include <stdio.h>
9
 
 
10
 
#include <gdk/gdkkeysyms.h>
11
 
#include <gtk/gtk.h>
12
 
 
13
 
 
14
 
#include <gdk/gdkkeysyms.h>
15
 
#include <gtk/gtk.h>
16
 
 
17
 
#include "default.h"
18
 
#include "ADM_toolkit/toolkit_gtk.h"
19
 
#include "ADM_toolkit/toolkit_gtk_include.h"
20
 
 
21
 
 
22
 
 
23
 
 
24
 
//#include "avi_vars.h"
25
 
 
26
 
#include "ADM_assert.h" 
27
 
 
28
 
#include "ADM_gui2/support.h"
29
 
 
30
 
 
31
 
 
32
 
#include "oplug_avi/GUI_mux.h"
33
 
 
34
 
static GtkWidget        *create_dialog1 (void);
35
 
 
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)
39
 
 
40
 
uint8_t  DIA_setUserMuxParam( int *mode, int *param, int *muxsize)
41
 
{
42
 
 
43
 
  GtkWidget *dialog;
44
 
 
45
 
        // gchar *str;
46
 
        // char string[200];
47
 
        int ret=0;
48
 
 
49
 
                dialog=create_dialog1();
50
 
//              gtk_transient(dialog);
51
 
                gtk_register_dialog(dialog);
52
 
                switch(*mode)
53
 
                        {
54
 
                        case MUX_REGULAR:
55
 
                                        RADIO_SET(radioN,1);
56
 
                                        ADJ_SET(spinFrame,1);
57
 
                                        break;
58
 
                        case MUX_N_FRAMES:
59
 
                                        RADIO_SET(radioN,1);
60
 
                                        ADJ_SET(spinFrame,*param);
61
 
                                        break;
62
 
                        case MUX_N_BYTES:
63
 
                                        ADJ_SET(spinSize,*param);
64
 
                                        RADIO_SET(radioBytes,1);
65
 
                                        break  ;
66
 
                        default:
67
 
                                                ADM_assert(0);
68
 
                     }
69
 
                ADJ_SET(spinbutton3,*muxsize);
70
 
 
71
 
             if(gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_OK)
72
 
                {
73
 
                                int r; // ,value=0;
74
 
                                ret=1;
75
 
                                r=(RADIO_GET(radioN))+(2*RADIO_GET(radioBytes));
76
 
                                printf("\n r: %d \n",r);
77
 
                                switch(r)
78
 
                                {
79
 
                                        case 1: // every or N
80
 
                                                        *param=ADJ_GET(spinFrame);
81
 
                                                        if(*param==1)
82
 
                                                                *mode=MUX_REGULAR;
83
 
                                                        else
84
 
                                                                *mode=MUX_N_FRAMES;
85
 
                                                        break;
86
 
                                        case 2: // byte
87
 
                                                        *mode=MUX_N_BYTES;
88
 
                                                        *param=ADJ_GET(spinSize);
89
 
                                                        break;
90
 
                                        default:
91
 
                                                        ADM_assert(0);
92
 
                                                        break;
93
 
                                }
94
 
 
95
 
                                        *muxsize=ADJ_GET(spinbutton3);
96
 
            }
97
 
        gtk_unregister_dialog(dialog);
98
 
        gtk_widget_destroy(dialog);
99
 
         return ret;
100
 
}
101
 
 
102
 
GtkWidget       *create_dialog1 (void)
103
 
{
104
 
  GtkWidget *dialog;
105
 
  GtkWidget *dialog_vbox1;
106
 
  GtkWidget *table1;
107
 
  GtkWidget *radioN;
108
 
  GSList *radioN_group = NULL;
109
 
  GtkWidget *radioBytes;
110
 
  GtkObject *spinFrame_adj;
111
 
  GtkWidget *spinFrame;
112
 
  GtkObject *spinSize_adj;
113
 
  GtkWidget *spinSize;
114
 
  GtkWidget *label1;
115
 
  GtkWidget *label2;
116
 
  GtkWidget *label3;
117
 
  GtkObject *spinbutton3_adj;
118
 
  GtkWidget *spinbutton3;
119
 
  GtkWidget *label4;
120
 
  GtkWidget *dialog_action_area1;
121
 
  GtkWidget *cancelbutton1;
122
 
  GtkWidget *okbutton1;
123
 
 
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);
127
 
 
128
 
  dialog_vbox1 = GTK_DIALOG (dialog)->vbox;
129
 
  gtk_widget_show (dialog_vbox1);
130
 
 
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);
137
 
 
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));
145
 
 
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));
153
 
 
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);
160
 
 
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);
167
 
 
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);
175
 
 
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);
183
 
 
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);
191
 
 
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);
198
 
 
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);
206
 
 
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);
210
 
 
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);
215
 
 
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);
220
 
 
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");
237
 
 
238
 
  return dialog;
239
 
}
240