annotate gui/mplayer/gtk/menu.c @ 23978:ef6e50c3c172

Revert setting audio output channel count for FFmpeg The FFmpeg API needs to be fixed before this can be done sanely. ffdca wants the desired output channel count to be set in avctx->channels. Unfortunately it also completely fails if the requested number of channels is not available rather than returning a different amount (if 6 channels are requested we'd probably rather use stereo than fail completely). ffvorbis ignores caller-set values in avctx->channels. It writes the channel count there once during init. This means the caller can only set the count before init because later there would be no indication whether the channel count in avctx reflects real output. ffwma requires the caller to supply the encoded channel count in avctx->channels during init or it fails. So it is not possible to set a different number of desired output channels there before init either.
author uau
date Thu, 02 Aug 2007 21:54:14 +0000
parents acfe034e5386
children 10dfbc523184
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
2 #include <stdio.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
3 #include <stdlib.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
4 #include <string.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
5
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
6 #include "config.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
7 #include "help_mp.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
8 #include "access_mpcontext.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
9 #include "mixer.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
10
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
11 #include "menu.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
12 #include "../widgets.h"
23154
e564b9cd7290 Fix several implicit declarations of functions warnings.
diego
parents: 23153
diff changeset
13 #include "../gmplayer.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
14 #include "app.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
15
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
16 #include "stream/stream.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
17 #include "../libmpdemux/demuxer.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
18 #include "../libmpdemux/stheader.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
19
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
20 #include "../pixmaps/ab.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
21 #include "../pixmaps/half.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
22 #include "../pixmaps/normal.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
23 #include "../pixmaps/double.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24 #include "../pixmaps/fs.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
25 #include "../pixmaps/exit.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
26 #include "../pixmaps/prefs.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
27 #include "../pixmaps/eq.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
28 #include "../pixmaps/pl.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
29 #include "../pixmaps/skin.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
30 #include "../pixmaps/sound.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
31 #include "../pixmaps/open.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
32 #include "../pixmaps/play.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
33 #include "../pixmaps/stop2.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
34 #include "../pixmaps/pause.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
35 #include "../pixmaps/prev.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
36 #include "../pixmaps/next.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
37 #include "../pixmaps/aspect.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
38 #include "../pixmaps/a11.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
39 #include "../pixmaps/a169.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
40 #include "../pixmaps/a235.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
41 #include "../pixmaps/a43.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
42 #include "../pixmaps/file2.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
43 #include "../pixmaps/url.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
44 #include "../pixmaps/sub.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
45 #include "../pixmaps/delsub.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
46 #include "../pixmaps/empty.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
47 #include "../pixmaps/loadeaf.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
48 #include "../pixmaps/title.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
49 #ifdef USE_DVDREAD
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
50 #include "../pixmaps/dvd.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
51 #include "../pixmaps/playdvd.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
52 #include "../pixmaps/chapter.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
53 #include "../pixmaps/dolby.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
54 #include "../pixmaps/tongue.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
55 #include "../pixmaps/tonguebla.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
56 #include "../pixmaps/empty1px.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
57 #endif
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
58 #ifdef HAVE_VCD
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
59 #include "../pixmaps/vcd.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
60 #include "../pixmaps/playvcd.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
61 #endif
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
62
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
63 void ActivateMenuItem( int Item )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
64 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
65 // fprintf( stderr,"[menu] item: %d.%d\n",Item&0xffff,Item>>16 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
66 gtkPopupMenu=Item & 0x0000ffff;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
67 gtkPopupMenuParam=Item >> 16;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
68 mplEventHandling( Item & 0x0000ffff,Item >> 16 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
69 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
70
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
71 static GtkWidget * AddMenuCheckItem(GtkWidget *window1, const char * immagine_xpm, GtkWidget* Menu,const char* label, gboolean state, int Number)
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
72 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
73 GtkWidget * Label = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
74 GtkWidget * Pixmap = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
75 GtkWidget * hbox = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
76 GtkWidget * Item = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
77
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
78 GdkPixmap *PixmapIcon = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
79 GdkColor transparent;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
80 GdkBitmap *MaskIcon = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
81
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
82 PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
83 Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
84 gdk_pixmap_unref (PixmapIcon);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
85
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
86 Item=gtk_check_menu_item_new();
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
87 Label = gtk_label_new (label);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
88
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
89 hbox = gtk_hbox_new (FALSE, 8);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
90 gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
91 gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
92 gtk_container_add (GTK_CONTAINER (Item), hbox);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
93
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
94 gtk_menu_append( GTK_MENU( Menu ),Item );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
95
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
96 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(Item),state);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
97 gtk_signal_connect_object( GTK_OBJECT(Item),"activate",
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
98 GTK_SIGNAL_FUNC(ActivateMenuItem),(gpointer)Number );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
99 gtk_menu_item_right_justify (GTK_MENU_ITEM (Item));
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
100 gtk_widget_show_all(Item);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
101
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
102 return Item;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
103 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
104 GtkWidget * AddMenuItem( GtkWidget *window1, const char * immagine_xpm, GtkWidget * SubMenu,const char * label,int Number )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
105 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
106 GtkWidget * Label = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
107 GtkWidget * Pixmap = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
108 GtkWidget * hbox = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
109 GtkWidget * Item = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
110 GdkPixmap * PixmapIcon = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
111 GdkColor transparent;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
112 GdkBitmap * MaskIcon = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
113
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
114 PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
115 Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
116 gdk_pixmap_unref (PixmapIcon);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
117
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
118 Item=gtk_menu_item_new();
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
119 Label = gtk_label_new (label);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
120
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
121 hbox = gtk_hbox_new (FALSE, 8);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
122 gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
123 gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
124 gtk_container_add (GTK_CONTAINER (Item), hbox);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
125
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
126
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
127 gtk_menu_append( GTK_MENU( SubMenu ),Item );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
128 gtk_signal_connect_object( GTK_OBJECT(Item),"activate",
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
129 GTK_SIGNAL_FUNC(ActivateMenuItem),(gpointer)Number );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
130
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
131 gtk_menu_item_right_justify (GTK_MENU_ITEM (Item));
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
132 gtk_widget_show_all(Item);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
133 return Item;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
134 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
135
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
136
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
137 GtkWidget * AddSubMenu( GtkWidget *window1, const char * immagine_xpm, GtkWidget * Menu,const char * label )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
138 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
139 GtkWidget * Label = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
140 GtkWidget * Pixmap = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
141 GtkWidget * hbox = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
142 GtkWidget * Item = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
143 GtkWidget * SubItem = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
144 GdkPixmap * PixmapIcon = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
145 GdkColor transparent;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
146 GdkBitmap * MaskIcon = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
147
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
148 PixmapIcon = gdk_pixmap_create_from_xpm_d (window1->window, &MaskIcon, &transparent,(gchar **)immagine_xpm);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
149 Pixmap = gtk_pixmap_new (PixmapIcon, MaskIcon);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
150 gdk_pixmap_unref (PixmapIcon);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
151
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
152 SubItem=gtk_menu_item_new();
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
153 Item=gtk_menu_new();
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
154 Label = gtk_label_new (label);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
155
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
156 hbox = gtk_hbox_new (FALSE, 8);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
157 gtk_box_pack_start (GTK_BOX (hbox), Pixmap, FALSE, FALSE, 0);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
158 gtk_box_pack_start (GTK_BOX (hbox), Label, FALSE, FALSE, 0);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
159 gtk_container_add (GTK_CONTAINER (SubItem), hbox);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
160
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
161 gtk_menu_append( GTK_MENU( Menu ),SubItem );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
162 gtk_menu_item_set_submenu( GTK_MENU_ITEM( SubItem ),Item );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
163
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
164 gtk_widget_show_all( SubItem );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
165 return Item;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
166 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
167
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
168 GtkWidget * AddSeparator( GtkWidget * Menu )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
169 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
170 GtkWidget * Item = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
171
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
172 Item=gtk_menu_item_new ();
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
173 gtk_widget_show( Item );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
174 gtk_container_add( GTK_CONTAINER( Menu ),Item );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
175 gtk_widget_set_sensitive( Item,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
176
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
177 return Item;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
178 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
179
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
180 typedef struct
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
181 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
182 int id;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
183 const char * name;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
184 } Languages_t;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
185
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
186 #define lng( a,b ) ( (int)(a) * 256 + b )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
187 static Languages_t Languages[] =
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
188 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
189 { lng( 'a','b' ), "Abkhazian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
190 { lng( 'a','a' ), "Afar" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
191 { lng( 'a','f' ), "Afrikaans" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
192 { lng( 's','q' ), "Albanian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
193 { lng( 'a','m' ), "Amharic" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
194 { lng( 'a','r' ), "Arabic" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
195 { lng( 'h','y' ), "Armenian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
196 { lng( 'a','s' ), "Assamese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
197 { lng( 'a','e' ), "Avestan" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
198 { lng( 'a','y' ), "Aymara" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
199 { lng( 'a','z' ), "Azerbaijani" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
200 { lng( 'b','a' ), "Bashkir" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
201 { lng( 'e','u' ), "Basque" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
202 { lng( 'b','e' ), "Belarusian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
203 { lng( 'b','n' ), "Bengali" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
204 { lng( 'b','h' ), "Bihari" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
205 { lng( 'b','i' ), "Bislama" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
206 { lng( 'b','s' ), "Bosnian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
207 { lng( 'b','r' ), "Breton" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
208 { lng( 'b','g' ), "Bulgarian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
209 { lng( 'm','y' ), "Burmese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
210 { lng( 'c','a' ), "Catalan" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
211 { lng( 'c','h' ), "Chamorro" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
212 { lng( 'c','e' ), "Chechen" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
213 { lng( 'n','y' ), "Chichewa;Nyanja" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
214 { lng( 'z','h' ), "Chinese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
215 { lng( 'c','u' ), "ChurchSlavic" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
216 { lng( 'c','v' ), "Chuvash" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
217 { lng( 'k','w' ), "Cornish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
218 { lng( 'c','o' ), "Corsican" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
219 { lng( 'h','r' ), "Croatian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
220 { lng( 'c','s' ), "Czech" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
221 { lng( 'd','a' ), "Danish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
222 { lng( 'n','l' ), "Dutch" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
223 { lng( 'd','z' ), "Dzongkha" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
224 { lng( 'e','n' ), "English" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
225 { lng( 'e','o' ), "Esperanto" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
226 { lng( 'e','t' ), "Estonian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
227 { lng( 'f','o' ), "Faroese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
228 { lng( 'f','j' ), "Fijian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
229 { lng( 'f','i' ), "Finnish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
230 { lng( 'f','r' ), "French" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
231 { lng( 'f','y' ), "Frisian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
232 { lng( 'g','d' ), "Gaelic(Scots" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
233 { lng( 'g','l' ), "Gallegan" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
234 { lng( 'k','a' ), "Georgian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
235 { lng( 'd','e' ), "German" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
236 { lng( 'e','l' ), "Greek" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
237 { lng( 'g','n' ), "Guarani" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
238 { lng( 'g','u' ), "Gujarati" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
239 { lng( 'h','a' ), "Hausa" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
240 { lng( 'h','e' ), "Hebrew" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
241 { lng( 'i','w' ), "Hebrew" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
242 { lng( 'h','z' ), "Herero" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
243 { lng( 'h','i' ), "Hindi" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
244 { lng( 'h','o' ), "HiriMotu" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
245 { lng( 'h','u' ), "Hungarian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
246 { lng( 'i','s' ), "Icelandic" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
247 { lng( 'i','d' ), "Indonesian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
248 { lng( 'i','n' ), "Indonesian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
249 { lng( 'i','a' ), "Interlingua" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
250 { lng( 'i','e' ), "Interlingue" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
251 { lng( 'i','u' ), "Inuktitut" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
252 { lng( 'i','k' ), "Inupiaq" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
253 { lng( 'g','a' ), "Irish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
254 { lng( 'i','t' ), "Italian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
255 { lng( 'j','a' ), "Japanese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
256 { lng( 'j','v' ), "Javanese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
257 { lng( 'j','w' ), "Javanese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
258 { lng( 'k','l' ), "Kalaallisut" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
259 { lng( 'k','n' ), "Kannada" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
260 { lng( 'k','s' ), "Kashmiri" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
261 { lng( 'k','k' ), "Kazakh" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
262 { lng( 'k','m' ), "Khmer" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
263 { lng( 'k','i' ), "Kikuyu" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
264 { lng( 'r','w' ), "Kinyarwanda" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
265 { lng( 'k','y' ), "Kirghiz" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
266 { lng( 'k','v' ), "Komi" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
267 { lng( 'k','o' ), "Korean" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
268 { lng( 'k','j' ), "Kuanyama" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
269 { lng( 'k','u' ), "Kurdish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
270 { lng( 'l','o' ), "Lao" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
271 { lng( 'l','a' ), "Latin" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
272 { lng( 'l','v' ), "Latvian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
273 { lng( 'l','b' ), "Letzeburgesch" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
274 { lng( 'l','n' ), "Lingala" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
275 { lng( 'l','t' ), "Lithuanian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
276 { lng( 'm','k' ), "Macedonian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
277 { lng( 'm','g' ), "Malagasy" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
278 { lng( 'm','s' ), "Malay" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
279 { lng( 'm','l' ), "Malayalam" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
280 { lng( 'm','t' ), "Maltese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
281 { lng( 'g','v' ), "Manx" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
282 { lng( 'm','i' ), "Maori" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
283 { lng( 'm','r' ), "Marathi" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
284 { lng( 'm','h' ), "Marshall" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
285 { lng( 'm','o' ), "Moldavian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
286 { lng( 'm','n' ), "Mongolian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
287 { lng( 'n','a' ), "Nauru" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
288 { lng( 'n','v' ), "Navajo" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
289 { lng( 'n','d' ), "North Ndebele" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
290 { lng( 'n','r' ), "South Ndebele" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
291 { lng( 'n','g' ), "Ndonga" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
292 { lng( 'n','e' ), "Nepali" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
293 { lng( 's','e' ), "NorthernSami" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
294 { lng( 'n','o' ), "Norwegian" },
23734
acfe034e5386 ISO8859-1 --> UTF-8
diego
parents: 23154
diff changeset
295 { lng( 'n','b' ), "NorwegianBokmål" },
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
296 { lng( 'n','n' ), "NorwegianNynorsk" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
297 { lng( 'n','y' ), "Nyanja;Chichewa" },
23734
acfe034e5386 ISO8859-1 --> UTF-8
diego
parents: 23154
diff changeset
298 { lng( 'o','c' ), "Occitan(post1500;Provençal" },
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
299 { lng( 'o','r' ), "Oriya" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
300 { lng( 'o','m' ), "Oromo" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
301 { lng( 'o','s' ), "Ossetian;Ossetic" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
302 { lng( 'p','i' ), "Pali" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
303 { lng( 'p','a' ), "Panjabi" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
304 { lng( 'f','a' ), "Persian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
305 { lng( 'p','l' ), "Polish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
306 { lng( 'p','t' ), "Portuguese" },
23734
acfe034e5386 ISO8859-1 --> UTF-8
diego
parents: 23154
diff changeset
307 { lng( 'o','c' ), "Provençal;Occitan(post1500" },
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
308 { lng( 'p','s' ), "Pushto" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
309 { lng( 'q','u' ), "Quechua" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
310 { lng( 'r','m' ), "Raeto-Romance" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
311 { lng( 'r','o' ), "Romanian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
312 { lng( 'r','n' ), "Rundi" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
313 { lng( 'r','u' ), "Russian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
314 { lng( 's','m' ), "Samoan" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
315 { lng( 's','g' ), "Sango" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
316 { lng( 's','a' ), "Sanskrit" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
317 { lng( 's','c' ), "Sardinian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
318 { lng( 's','r' ), "Serbian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
319 { lng( 's','n' ), "Shona" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
320 { lng( 's','d' ), "Sindhi" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
321 { lng( 's','i' ), "Sinhalese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
322 { lng( 's','k' ), "Slovak" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
323 { lng( 's','l' ), "Slovenian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
324 { lng( 's','o' ), "Somali" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
325 { lng( 's','t' ), "Sotho" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
326 { lng( 'e','s' ), "Spanish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
327 { lng( 's','u' ), "Sundanese" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
328 { lng( 's','w' ), "Swahili" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
329 { lng( 's','s' ), "Swati" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
330 { lng( 's','v' ), "Swedish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
331 { lng( 't','l' ), "Tagalog" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
332 { lng( 't','y' ), "Tahitian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
333 { lng( 't','g' ), "Tajik" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
334 { lng( 't','a' ), "Tamil" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
335 { lng( 't','t' ), "Tatar" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
336 { lng( 't','e' ), "Telugu" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
337 { lng( 't','h' ), "Thai" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
338 { lng( 'b','o' ), "Tibetan" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
339 { lng( 't','i' ), "Tigrinya" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
340 { lng( 't','o' ), "Tonga" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
341 { lng( 't','s' ), "Tsonga" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
342 { lng( 't','n' ), "Tswana" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
343 { lng( 't','r' ), "Turkish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
344 { lng( 't','k' ), "Turkmen" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
345 { lng( 't','w' ), "Twi" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
346 { lng( 'u','g' ), "Uighur" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
347 { lng( 'u','k' ), "Ukrainian" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
348 { lng( 'u','r' ), "Urdu" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
349 { lng( 'u','z' ), "Uzbek" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
350 { lng( 'v','i' ), "Vietnamese" },
23734
acfe034e5386 ISO8859-1 --> UTF-8
diego
parents: 23154
diff changeset
351 { lng( 'v','o' ), "Volapük" },
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
352 { lng( 'c','y' ), "Welsh" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
353 { lng( 'w','o' ), "Wolof" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
354 { lng( 'x','h' ), "Xhosa" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
355 { lng( 'y','i' ), "Yiddish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
356 { lng( 'j','i' ), "Yiddish" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
357 { lng( 'y','o' ), "Yoruba" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
358 { lng( 'z','a' ), "Zhuang" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
359 { lng( 'z','u' ), "Zulu" },
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
360 };
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
361 #undef lng
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
362
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
363 #ifdef USE_DVDREAD
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
364 static char * ChannelTypes[] =
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
365 { "Dolby Digital","","Mpeg1","Mpeg2","PCM","","Digital Theatre System" };
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
366 static char * ChannelNumbers[] =
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
367 { "","Stereo","","","","5.1" };
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
368 #endif
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
369
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
370 const char * GetLanguage( int language )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
371 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
372 unsigned int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
373 for ( i=0;i<sizeof( Languages ) / sizeof( Languages_t );i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
374 if ( Languages[i].id == language ) return Languages[i].name;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
375 return NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
376 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
377
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
378
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
379 GtkWidget * DVDSubMenu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
380 GtkWidget * DVDTitleMenu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
381 GtkWidget * DVDChapterMenu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
382 GtkWidget * DVDAudioLanguageMenu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
383 GtkWidget * DVDSubtitleLanguageMenu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
384 GtkWidget * AspectMenu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
385 GtkWidget * VCDSubMenu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
386 GtkWidget * VCDTitleMenu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
387
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
388 GtkWidget * create_PopUpMenu( void )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
389 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
390 GtkWidget * window1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
391 GtkWidget * Menu = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
392 GtkWidget * SubMenu = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
393 GtkWidget * MenuItem = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
394 GtkWidget * H, * N, * D, * F;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
395 mixer_t *mixer = mpctx_get_mixer(guiIntfStruct.mpcontext);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
396 int global_sub_size = mpctx_get_global_sub_size(guiIntfStruct.mpcontext);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
397
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
398 Menu=gtk_menu_new();
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
399 gtk_widget_realize (Menu);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
400 window1 = gtk_widget_get_toplevel(Menu);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
401
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
402
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
403 AddMenuItem( window1, (const char*)ab_xpm, Menu,MSGTR_MENU_AboutMPlayer" ", evAbout );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
404 AddSeparator( Menu );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
405 SubMenu=AddSubMenu( window1, (const char*)open_xpm, Menu,MSGTR_MENU_Open );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
406 AddMenuItem( window1, (const char*)file2_xpm, SubMenu,MSGTR_MENU_PlayFile" ", evLoadPlay );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
407 #ifdef HAVE_VCD
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
408 AddMenuItem( window1, (const char*)playvcd_xpm, SubMenu,MSGTR_MENU_PlayVCD, evPlayVCD );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
409 #endif
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
410 #ifdef USE_DVDREAD
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
411 AddMenuItem( window1, (const char*)playdvd_xpm, SubMenu,MSGTR_MENU_PlayDVD, evPlayDVD );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
412 #endif
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
413 AddMenuItem( window1, (const char*)url_xpm, SubMenu,MSGTR_MENU_PlayURL, evSetURL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
414 AddMenuItem( window1, (const char*)sub_xpm, SubMenu,MSGTR_MENU_LoadSubtitle" ", evLoadSubtitle );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
415 AddMenuItem( window1, (const char*)delsub_xpm, SubMenu,MSGTR_MENU_DropSubtitle,evDropSubtitle );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
416 AddMenuItem( window1, (const char*)loadeaf_xpm, SubMenu,MSGTR_MENU_LoadExternAudioFile, evLoadAudioFile );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
417 SubMenu=AddSubMenu(window1, (const char*)play_xpm, Menu,MSGTR_MENU_Playing );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
418 AddMenuItem( window1, (const char*)play_xpm, SubMenu,MSGTR_MENU_Play" ", evPlay );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
419 AddMenuItem( window1, (const char*)pause_xpm, SubMenu,MSGTR_MENU_Pause, evPause );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
420 AddMenuItem( window1, (const char*)stop2_xpm, SubMenu,MSGTR_MENU_Stop, evStop );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
421 AddMenuItem( window1, (const char*)next_xpm, SubMenu,MSGTR_MENU_NextStream, evNext );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
422 AddMenuItem( window1, (const char*)prev_xpm, SubMenu,MSGTR_MENU_PrevStream, evPrev );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
423 // AddSeparator( SubMenu );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
424 // AddMenuItem( SubMenu,"Back 10 sec", evBackward10sec );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
425 // AddMenuItem( SubMenu,"Fwd 10 sec", evForward10sec );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
426 // AddMenuItem( SubMenu,"Back 1 min", evBackward1min );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
427 // AddMenuItem( SubMenu,"Fwd 1 min", evForward1min );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
428 // SubMenu=AddSubMenu( Menu,MSGTR_MENU_Size );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
429 // AddMenuItem( SubMenu,MSGTR_MENU_NormalSize" ", evNormalSize );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
430 // AddMenuItem( SubMenu,MSGTR_MENU_DoubleSize, evDoubleSize );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
431 // AddMenuItem( SubMenu,MSGTR_MENU_FullScreen, evFullScreen );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
432 #ifdef HAVE_VCD
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
433 VCDSubMenu=AddSubMenu( window1, (const char*)vcd_xpm, Menu,MSGTR_MENU_VCD );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
434 AddMenuItem( window1, (const char*)playvcd_xpm, VCDSubMenu,MSGTR_MENU_PlayDisc,evPlayVCD );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
435 AddSeparator( VCDSubMenu );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
436 VCDTitleMenu=AddSubMenu( window1, (const char*)title_xpm, VCDSubMenu,MSGTR_MENU_Titles );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
437 if ( guiIntfStruct.VCDTracks )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
438 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
439 char tmp[32]; int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
440 for ( i=0;i < guiIntfStruct.VCDTracks;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
441 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
442 snprintf( tmp,32,MSGTR_MENU_Title,i+1 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
443 //AddMenuItem( VCDTitleMenu,tmp,( (i+1) << 16 ) + evSetVCDTrack );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
444 AddMenuItem(window1, (const char*)empty_xpm, VCDTitleMenu,tmp,( (i+1) << 16 ) + evSetVCDTrack );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
445 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
446 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
447 else
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
448 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
449 MenuItem=AddMenuItem( window1, (const char*)empty_xpm, VCDTitleMenu,MSGTR_MENU_None,evNone );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
450 gtk_widget_set_sensitive( MenuItem,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
451 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
452 #endif
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
453 #ifdef USE_DVDREAD
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
454 DVDSubMenu=AddSubMenu( window1, (const char*)dvd_xpm, Menu,MSGTR_MENU_DVD );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
455 AddMenuItem( window1, (const char*)playdvd_xpm, DVDSubMenu,MSGTR_MENU_PlayDisc" ", evPlayDVD );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
456 // AddMenuItem( DVDSubMenu,MSGTR_MENU_ShowDVDMenu, evNone );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
457 AddSeparator( DVDSubMenu );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
458 DVDTitleMenu=AddSubMenu( window1, (const char*)title_xpm, DVDSubMenu,MSGTR_MENU_Titles );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
459 if ( guiIntfStruct.DVD.titles )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
460 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
461 char tmp[32]; int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
462 for ( i=1 ; i<= guiIntfStruct.DVD.titles;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
463 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
464 snprintf( tmp,32,MSGTR_MENU_Title,i);
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
465 AddMenuCheckItem( window1, (const char*)empty1px_xpm, DVDTitleMenu,tmp,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
466 guiIntfStruct.DVD.current_title == i,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
467 (i << 16) + evSetDVDTitle );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
468 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
469 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
470 else
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
471 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
472 MenuItem=AddMenuItem( window1, (const char*)empty_xpm, DVDTitleMenu,MSGTR_MENU_None,evNone );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
473 gtk_widget_set_sensitive( MenuItem,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
474 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
475 DVDChapterMenu=AddSubMenu( window1, (const char*)chapter_xpm, DVDSubMenu,MSGTR_MENU_Chapters );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
476 if ( guiIntfStruct.DVD.chapters )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
477 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
478 char tmp[32]; int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
479 for ( i=1;i <= guiIntfStruct.DVD.chapters;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
480 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
481 snprintf( tmp,32,MSGTR_MENU_Chapter,i );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
482 AddMenuCheckItem( window1, (const char*)empty1px_xpm, DVDChapterMenu,tmp,guiIntfStruct.DVD.current_chapter == i,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
483 ( i << 16 ) + evSetDVDChapter );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
484 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
485 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
486 else
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
487 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
488 MenuItem=AddMenuItem( window1, (const char*)empty_xpm, DVDChapterMenu,MSGTR_MENU_None,evNone );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
489 gtk_widget_set_sensitive( MenuItem,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
490 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
491 DVDAudioLanguageMenu=AddSubMenu( window1, (const char*)tongue_xpm, DVDSubMenu,MSGTR_MENU_AudioLanguages );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
492 if ( guiIntfStruct.DVD.nr_of_audio_channels )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
493 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
494 char tmp[64]; int i, id = guiIntfStruct.demuxer ? ((demuxer_t *)guiIntfStruct.demuxer)->audio->id : audio_id;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
495 for ( i=0;i < guiIntfStruct.DVD.nr_of_audio_channels;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
496 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
497 snprintf( tmp,64,"%s - %s %s",GetLanguage( guiIntfStruct.DVD.audio_streams[i].language ),
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
498 ChannelTypes[ guiIntfStruct.DVD.audio_streams[i].type ],
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
499 ChannelNumbers[ guiIntfStruct.DVD.audio_streams[i].channels ] );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
500 // if ( id == -1 ) id=audio_id; //guiIntfStruct.DVD.audio_streams[i].id;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
501 AddMenuCheckItem( window1, (const char*)dolby_xpm, DVDAudioLanguageMenu,tmp,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
502 id == guiIntfStruct.DVD.audio_streams[i].id,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
503 ( guiIntfStruct.DVD.audio_streams[i].id << 16 ) + evSetDVDAudio );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
504 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
505 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
506 else
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
507 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
508 MenuItem=AddMenuItem( window1, (const char*)empty_xpm, DVDAudioLanguageMenu,MSGTR_MENU_None,evNone );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
509 gtk_widget_set_sensitive( MenuItem,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
510 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
511 DVDSubtitleLanguageMenu=AddSubMenu( window1, (const char*)tonguebla_xpm, DVDSubMenu,MSGTR_MENU_SubtitleLanguages );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
512 if ( guiIntfStruct.DVD.nr_of_subtitles )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
513 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
514 char tmp[64]; int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
515 AddMenuItem( window1, (const char*)empty1px_xpm, DVDSubtitleLanguageMenu,MSGTR_MENU_None,( (unsigned short)-1 << 16 ) + evSetDVDSubtitle );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
516 for ( i=0;i < guiIntfStruct.DVD.nr_of_subtitles;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
517 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
518 snprintf( tmp,64,"%s",GetLanguage( guiIntfStruct.DVD.subtitles[i].language ) );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
519 AddMenuCheckItem( window1, (const char*)empty1px_xpm, DVDSubtitleLanguageMenu,tmp,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
520 dvdsub_id == guiIntfStruct.DVD.subtitles[i].id,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
521 ( guiIntfStruct.DVD.subtitles[i].id << 16 ) + evSetDVDSubtitle );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
522 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
523 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
524 else
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
525 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
526 MenuItem=AddMenuItem( window1, (const char*)empty_xpm, DVDSubtitleLanguageMenu,MSGTR_MENU_None,evNone );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
527 gtk_widget_set_sensitive( MenuItem,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
528 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
529 #endif
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
530
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
531 // if ( guiIntfStruct.Playing )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
532 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
533 AspectMenu=AddSubMenu( window1, (const char*)aspect_xpm, Menu,MSGTR_MENU_AspectRatio );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
534 AddMenuItem( window1, (const char*)a11_xpm, AspectMenu,MSGTR_MENU_Original,( 1 << 16 ) + evSetAspect );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
535 AddMenuItem( window1, (const char*)a169_xpm, AspectMenu,"16:9",( 2 << 16 ) + evSetAspect );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
536 AddMenuItem( window1, (const char*)a43_xpm, AspectMenu,"4:3",( 3 << 16 ) + evSetAspect );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
537 AddMenuItem( window1, (const char*)a235_xpm, AspectMenu,"2.35",( 4 << 16 ) + evSetAspect );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
538 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
539
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
540 if ( guiIntfStruct.Playing && guiIntfStruct.demuxer && guiIntfStruct.StreamType != STREAMTYPE_DVD )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
541 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
542 int i,c = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
543
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
544 for ( i=0;i < MAX_A_STREAMS;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
545 if ( ((demuxer_t *)guiIntfStruct.demuxer)->a_streams[i] ) c++;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
546
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
547 if ( c > 1 )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
548 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
549 SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_AudioTrack );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
550 for ( i=0;i < MAX_A_STREAMS;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
551 if ( ((demuxer_t *)guiIntfStruct.demuxer)->a_streams[i] )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
552 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
553 int aid = ((sh_audio_t *)((demuxer_t *)guiIntfStruct.demuxer)->a_streams[i])->aid;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
554 char tmp[32];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
555 snprintf( tmp,32,MSGTR_MENU_Track,aid );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
556 AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( aid << 16 ) + evSetAudio );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
557 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
558 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
559
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
560 for ( c=0,i=0;i < MAX_V_STREAMS;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
561 if ( ((demuxer_t *)guiIntfStruct.demuxer)->v_streams[i] ) c++;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
562
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
563 if ( c > 1 )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
564 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
565 SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_VideoTrack );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
566 for ( i=0;i < MAX_V_STREAMS;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
567 if ( ((demuxer_t *)guiIntfStruct.demuxer)->v_streams[i] )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
568 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
569 int vid = ((sh_video_t *)((demuxer_t *)guiIntfStruct.demuxer)->v_streams[i])->vid;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
570 char tmp[32];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
571 snprintf( tmp,32,MSGTR_MENU_Track,vid );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
572 AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( vid << 16 ) + evSetVideo );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
573 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
574 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
575 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
576
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
577 /* cheap subtitle switching for non-DVD streams */
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
578 if ( global_sub_size && guiIntfStruct.StreamType != STREAMTYPE_DVD )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
579 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
580 int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
581 SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu, MSGTR_MENU_Subtitles );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
582 AddMenuItem( window1, (const char*)empty_xpm, SubMenu, MSGTR_MENU_None, (-1 << 16) + evSetSubtitle );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
583 for ( i=0;i < global_sub_size;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
584 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
585 char tmp[32];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
586 snprintf( tmp, 32, MSGTR_MENU_Track, i );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
587 AddMenuItem( window1,(const char*)empty_xpm,SubMenu,tmp,( i << 16 ) + evSetSubtitle );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
588 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
589 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
590
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
591 AddSeparator( Menu );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
592 MenuItem=AddMenuCheckItem( window1, (const char*)sound_xpm, Menu,MSGTR_MENU_Mute,mixer->muted,evMute );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
593 if ( !guiIntfStruct.AudioType ) gtk_widget_set_sensitive( MenuItem,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
594 AddMenuItem( window1, (const char*)pl_xpm, Menu,MSGTR_MENU_PlayList, evPlayList );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
595 AddMenuItem( window1, (const char*)skin_xpm, Menu,MSGTR_MENU_SkinBrowser, evSkinBrowser );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
596 AddMenuItem( window1, (const char*)prefs_xpm, Menu,MSGTR_MENU_Preferences, evPreferences );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
597 AddMenuItem( window1, (const char*)eq_xpm, Menu,MSGTR_Equalizer, evEqualizer );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
598
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
599 if ( guiIntfStruct.NoWindow == False )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
600 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
601 int b1 = 0, b2 = 0, b_half = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
602 AddSeparator( Menu );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
603 if ( !appMPlayer.subWindow.isFullScreen && guiIntfStruct.Playing )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
604 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
605 if ( ( appMPlayer.subWindow.Width == guiIntfStruct.MovieWidth * 2 )&&
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
606 ( appMPlayer.subWindow.Height == guiIntfStruct.MovieHeight * 2 ) ) b2=1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
607 else if ( ( appMPlayer.subWindow.Width == guiIntfStruct.MovieWidth / 2 ) &&
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
608 ( appMPlayer.subWindow.Height == guiIntfStruct.MovieHeight / 2 ) ) b_half=1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
609 else b1=1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
610 } else b1=!appMPlayer.subWindow.isFullScreen;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
611 H=AddMenuCheckItem( window1, (const char*)half_xpm, Menu,MSGTR_MENU_HalfSize,b_half,evHalfSize );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
612 N=AddMenuCheckItem( window1, (const char*)normal_xpm, Menu,MSGTR_MENU_NormalSize" ",b1,evNormalSize );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
613 D=AddMenuCheckItem( window1, (const char*)double_xpm, Menu,MSGTR_MENU_DoubleSize,b2,evDoubleSize );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
614 F=AddMenuCheckItem( window1, (const char*)fs_xpm, Menu,MSGTR_MENU_FullScreen,appMPlayer.subWindow.isFullScreen,evFullScreen );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
615 if ( !gtkShowVideoWindow && !guiIntfStruct.Playing )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
616 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
617 gtk_widget_set_sensitive( H,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
618 gtk_widget_set_sensitive( N,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
619 gtk_widget_set_sensitive( D,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
620 gtk_widget_set_sensitive( F,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
621 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
622 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
623
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
624 AddSeparator( Menu );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
625 AddMenuItem( window1, (const char*)exit_xpm, Menu,MSGTR_MENU_Exit, evExit );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
626
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
627 return Menu;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
628 }