Mercurial > audlegacy-plugins
comparison src/mplayer/interface.c @ 135:33d24bd94ccc trunk
[svn] Adds mplayer controls the plugin pack. I don't know crap about
configure.ac, so it's totally busted. Also, I used the string "what" in
common.c and interface.c. I'm not going to pretend I actually know what
I was doing there, but it seems to work despite that.
| author | asheldon |
|---|---|
| date | Sat, 28 Oct 2006 18:08:06 -0700 |
| parents | |
| children | 52c85b72354b |
comparison
equal
deleted
inserted
replaced
| 134:8b343e9684b5 | 135:33d24bd94ccc |
|---|---|
| 1 | |
| 2 | |
| 3 #include <sys/types.h> | |
| 4 #include <sys/stat.h> | |
| 5 #include <unistd.h> | |
| 6 #include <string.h> | |
| 7 | |
| 8 #include <glib.h> | |
| 9 #include <gtk/gtk.h> | |
| 10 #include <gdk/gdk.h> | |
| 11 #include <gdk/gdkx.h> | |
| 12 #include <audacious/plugin.h> | |
| 13 #include <audacious/beepctrl.h> | |
| 14 #include <audacious/rcfile.h> | |
| 15 #include <audacious/util.h> | |
| 16 | |
| 17 #include "xmmsmplayer.h" | |
| 18 | |
| 19 static GtkWidget *vo_none; | |
| 20 static GtkWidget *vo_xv; | |
| 21 static GtkWidget *vo_x11; | |
| 22 static GtkWidget *vo_gl; | |
| 23 static GtkWidget *vo_sdl; | |
| 24 static GtkWidget *opt_zoom; | |
| 25 static GtkWidget *opt_framedrop; | |
| 26 static GtkWidget *opt_idx; | |
| 27 static GtkWidget *opt_onewin; | |
| 28 static GtkWidget *opt_xmmsaudio; | |
| 29 static GtkWidget *ao_none; | |
| 30 static GtkWidget *ao_oss; | |
| 31 static GtkWidget *ao_arts; | |
| 32 static GtkWidget *ao_esd; | |
| 33 static GtkWidget *ao_alsa; | |
| 34 static GtkWidget *ao_sdl; | |
| 35 static GtkWidget *entry_extra_opts; | |
| 36 | |
| 37 static GtkWidget *mplayer_configure_win = NULL; | |
| 38 | |
| 39 void mplayer_destroyed_conf_win(GtkWidget *widget, gpointer data) { | |
| 40 mplayer_configure_win = NULL; | |
| 41 } | |
| 42 | |
| 43 | |
| 44 void on_btn_cancel_clicked(GtkButton *button, gpointer user_data){ | |
| 45 gtk_widget_destroy(mplayer_configure_win); | |
| 46 mplayer_configure_win=NULL; | |
| 47 } | |
| 48 | |
| 49 | |
| 50 void on_btn_ok_clicked (GtkButton *button, gpointer user_data){ | |
| 51 RcFile *cfg; | |
| 52 struct mplayer_cfg new_cfg; | |
| 53 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vo_none))) | |
| 54 new_cfg.vo=MPLAYER_VO_NONE; | |
| 55 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vo_xv))) | |
| 56 new_cfg.vo=MPLAYER_VO_XV; | |
| 57 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vo_x11))) | |
| 58 new_cfg.vo=MPLAYER_VO_X11; | |
| 59 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vo_gl))) | |
| 60 new_cfg.vo=MPLAYER_VO_GL; | |
| 61 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vo_sdl))) | |
| 62 new_cfg.vo=MPLAYER_VO_SDL; | |
| 63 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ao_none))) | |
| 64 new_cfg.ao=MPLAYER_AO_NONE; | |
| 65 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ao_oss))) | |
| 66 new_cfg.ao=MPLAYER_AO_OSS; | |
| 67 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ao_arts))) | |
| 68 new_cfg.ao=MPLAYER_AO_ARTS; | |
| 69 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ao_esd))) | |
| 70 new_cfg.ao=MPLAYER_AO_ESD; | |
| 71 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ao_alsa))) | |
| 72 new_cfg.ao=MPLAYER_AO_ALSA; | |
| 73 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ao_sdl))) | |
| 74 new_cfg.ao=MPLAYER_AO_SDL; | |
| 75 new_cfg.zoom=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_zoom)); | |
| 76 new_cfg.framedrop= | |
| 77 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_framedrop)); | |
| 78 new_cfg.idx=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_idx)); | |
| 79 new_cfg.onewin=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_onewin)); | |
| 80 new_cfg.xmmsaudio=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_xmmsaudio)); | |
| 81 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(opt_xmmsaudio))) | |
| 82 new_cfg.ao=MPLAYER_AO_XMMS; | |
| 83 new_cfg.extra=gtk_entry_get_text(GTK_ENTRY(entry_extra_opts)); | |
| 84 | |
| 85 // cfg = xmms_cfg_open_default_file(); | |
| 86 cfg=bmp_rcfile_open("what"); | |
| 87 bmp_rcfile_write_int(cfg,"xmms-mplayer","vo",new_cfg.vo); | |
| 88 bmp_rcfile_write_int(cfg,"xmms-mplayer","ao",new_cfg.ao); | |
| 89 bmp_rcfile_write_boolean(cfg,"xmms-mplayer","zoom",new_cfg.zoom); | |
| 90 bmp_rcfile_write_boolean(cfg,"xmms-mplayer","framedrop",new_cfg.framedrop); | |
| 91 bmp_rcfile_write_boolean(cfg,"xmms-mplayer","idx",new_cfg.idx); | |
| 92 bmp_rcfile_write_boolean(cfg,"xmms-mplayer","onewin",new_cfg.onewin); | |
| 93 bmp_rcfile_write_boolean(cfg,"xmms-mplayer","xmmsaudio",new_cfg.xmmsaudio); | |
| 94 bmp_rcfile_write_string(cfg,"xmms-mplayer","extra",new_cfg.extra); | |
| 95 bmp_rcfile_write(cfg, "what"); | |
| 96 // xmms_cfg_write_default_file(cfg); | |
| 97 bmp_rcfile_free(cfg); | |
| 98 | |
| 99 gtk_widget_destroy(mplayer_configure_win); | |
| 100 mplayer_configure_win=NULL; | |
| 101 } | |
| 102 | |
| 103 | |
| 104 GtkWidget* | |
| 105 mplayer_create_configure_win (void) | |
| 106 { | |
| 107 GtkWidget *window1; | |
| 108 GtkWidget *scrolledwindow1; | |
| 109 GtkWidget *layout1; | |
| 110 GtkWidget *notebook1; | |
| 111 GtkWidget *scrolledwindow2; | |
| 112 GtkWidget *layout2; | |
| 113 GSList *layout2_group = NULL; | |
| 114 GtkWidget *label_vo; | |
| 115 GtkWidget *scrolledwindow3; | |
| 116 GtkWidget *layout3; | |
| 117 GSList *layout3_group = NULL; | |
| 118 GtkWidget *label_ao; | |
| 119 GtkWidget *scrolledwindow4; | |
| 120 GtkWidget *layout4; | |
| 121 GtkWidget *label_other; | |
| 122 GtkWidget *scrolledwindow5; | |
| 123 GtkWidget *layout5; | |
| 124 GtkWidget *label_extra_des; | |
| 125 GtkWidget *label_extra; | |
| 126 GtkWidget *btn_ok; | |
| 127 GtkWidget *btn_cancel; | |
| 128 | |
| 129 window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); | |
| 130 gtk_object_set_data (GTK_OBJECT (window1), "window1", window1); | |
| 131 gtk_window_set_title (GTK_WINDOW (window1), "Xmms-Mplayer"); | |
| 132 gtk_widget_set_usize (window1, 550, 430); | |
| 133 | |
| 134 | |
| 135 scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); | |
| 136 gtk_widget_ref (scrolledwindow1); | |
| 137 gtk_object_set_data_full (GTK_OBJECT (window1), "scrolledwindow1", scrolledwindow1, | |
| 138 (GtkDestroyNotify) gtk_widget_unref); | |
| 139 gtk_widget_show (scrolledwindow1); | |
| 140 gtk_container_add (GTK_CONTAINER (window1), scrolledwindow1); | |
| 141 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
| 142 | |
| 143 layout1 = gtk_layout_new (NULL, NULL); | |
| 144 gtk_widget_ref (layout1); | |
| 145 gtk_object_set_data_full (GTK_OBJECT (window1), "layout1", layout1, | |
| 146 (GtkDestroyNotify) gtk_widget_unref); | |
| 147 gtk_widget_show (layout1); | |
| 148 gtk_container_add (GTK_CONTAINER (scrolledwindow1), layout1); | |
| 149 gtk_layout_set_size (GTK_LAYOUT (layout1), 336, 235); | |
| 150 GTK_ADJUSTMENT (GTK_LAYOUT (layout1)->hadjustment)->step_increment = 10; | |
| 151 GTK_ADJUSTMENT (GTK_LAYOUT (layout1)->vadjustment)->step_increment = 10; | |
| 152 | |
| 153 notebook1 = gtk_notebook_new (); | |
| 154 gtk_widget_ref (notebook1); | |
| 155 gtk_object_set_data_full (GTK_OBJECT (window1), "notebook1", notebook1, | |
| 156 (GtkDestroyNotify) gtk_widget_unref); | |
| 157 gtk_widget_show (notebook1); | |
| 158 gtk_layout_put (GTK_LAYOUT (layout1), notebook1, 24, 24); | |
| 159 gtk_widget_set_usize (notebook1, 496, 336); | |
| 160 | |
| 161 scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); | |
| 162 gtk_widget_ref (scrolledwindow2); | |
| 163 gtk_object_set_data_full (GTK_OBJECT (window1), "scrolledwindow2", scrolledwindow2, | |
| 164 (GtkDestroyNotify) gtk_widget_unref); | |
| 165 gtk_widget_show (scrolledwindow2); | |
| 166 gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow2); | |
| 167 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
| 168 | |
| 169 layout2 = gtk_layout_new (NULL, NULL); | |
| 170 gtk_widget_ref (layout2); | |
| 171 gtk_object_set_data_full (GTK_OBJECT (window1), "layout2", layout2, | |
| 172 (GtkDestroyNotify) gtk_widget_unref); | |
| 173 gtk_widget_show (layout2); | |
| 174 gtk_container_add (GTK_CONTAINER (scrolledwindow2), layout2); | |
| 175 gtk_layout_set_size (GTK_LAYOUT (layout2), 384, 296); | |
| 176 GTK_ADJUSTMENT (GTK_LAYOUT (layout2)->hadjustment)->step_increment = 10; | |
| 177 GTK_ADJUSTMENT (GTK_LAYOUT (layout2)->vadjustment)->step_increment = 10; | |
| 178 | |
| 179 vo_none = gtk_radio_button_new_with_label (layout2_group, "Automatic (MPlayer Chooses)"); | |
| 180 layout2_group = gtk_radio_button_group (GTK_RADIO_BUTTON (vo_none)); | |
| 181 gtk_widget_ref (vo_none); | |
| 182 gtk_object_set_data_full (GTK_OBJECT (window1), "vo_none", vo_none, | |
| 183 (GtkDestroyNotify) gtk_widget_unref); | |
| 184 gtk_widget_show (vo_none); | |
| 185 gtk_layout_put (GTK_LAYOUT (layout2), vo_none, 24, 32); | |
| 186 gtk_widget_set_usize (vo_none, 336, 24); | |
| 187 | |
| 188 vo_xv = gtk_radio_button_new_with_label (layout2_group, "Xvideo"); | |
| 189 layout2_group = gtk_radio_button_group (GTK_RADIO_BUTTON (vo_xv)); | |
| 190 gtk_widget_ref (vo_xv); | |
| 191 gtk_object_set_data_full (GTK_OBJECT (window1), "vo_xv", vo_xv, | |
| 192 (GtkDestroyNotify) gtk_widget_unref); | |
| 193 gtk_widget_show (vo_xv); | |
| 194 gtk_layout_put (GTK_LAYOUT (layout2), vo_xv, 24, 64); | |
| 195 gtk_widget_set_usize (vo_xv, 96, 24); | |
| 196 | |
| 197 vo_x11 = gtk_radio_button_new_with_label (layout2_group, "X11"); | |
| 198 layout2_group = gtk_radio_button_group (GTK_RADIO_BUTTON (vo_x11)); | |
| 199 gtk_widget_ref (vo_x11); | |
| 200 gtk_object_set_data_full (GTK_OBJECT (window1), "vo_x11", vo_x11, | |
| 201 (GtkDestroyNotify) gtk_widget_unref); | |
| 202 gtk_widget_show (vo_x11); | |
| 203 gtk_layout_put (GTK_LAYOUT (layout2), vo_x11, 24, 104); | |
| 204 gtk_widget_set_usize (vo_x11, 96, 24); | |
| 205 | |
| 206 vo_gl = gtk_radio_button_new_with_label (layout2_group, "GL"); | |
| 207 layout2_group = gtk_radio_button_group (GTK_RADIO_BUTTON (vo_gl)); | |
| 208 gtk_widget_ref (vo_gl); | |
| 209 gtk_object_set_data_full (GTK_OBJECT (window1), "vo_gl", vo_gl, | |
| 210 (GtkDestroyNotify) gtk_widget_unref); | |
| 211 gtk_widget_show (vo_gl); | |
| 212 gtk_layout_put (GTK_LAYOUT (layout2), vo_gl, 24, 144); | |
| 213 gtk_widget_set_usize (vo_gl, 96, 24); | |
| 214 | |
| 215 vo_sdl = gtk_radio_button_new_with_label (layout2_group, "SDL"); | |
| 216 layout2_group = gtk_radio_button_group (GTK_RADIO_BUTTON (vo_sdl)); | |
| 217 gtk_widget_ref (vo_sdl); | |
| 218 gtk_object_set_data_full (GTK_OBJECT (window1), "vo_sdl", vo_sdl, | |
| 219 (GtkDestroyNotify) gtk_widget_unref); | |
| 220 gtk_widget_show (vo_sdl); | |
| 221 gtk_layout_put (GTK_LAYOUT (layout2), vo_sdl, 24, 184); | |
| 222 gtk_widget_set_usize (vo_sdl, 96, 24); | |
| 223 | |
| 224 label_vo = gtk_label_new ("Video Out"); | |
| 225 gtk_widget_ref (label_vo); | |
| 226 gtk_object_set_data_full (GTK_OBJECT (window1), "label_vo", label_vo, | |
| 227 (GtkDestroyNotify) gtk_widget_unref); | |
| 228 gtk_widget_show (label_vo); | |
| 229 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label_vo); | |
| 230 | |
| 231 scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); | |
| 232 gtk_widget_ref (scrolledwindow3); | |
| 233 gtk_object_set_data_full (GTK_OBJECT (window1), "scrolledwindow3", scrolledwindow3, | |
| 234 (GtkDestroyNotify) gtk_widget_unref); | |
| 235 gtk_widget_show (scrolledwindow3); | |
| 236 gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow3); | |
| 237 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
| 238 | |
| 239 layout3 = gtk_layout_new (NULL, NULL); | |
| 240 gtk_widget_ref (layout3); | |
| 241 gtk_object_set_data_full (GTK_OBJECT (window1), "layout3", layout3, | |
| 242 (GtkDestroyNotify) gtk_widget_unref); | |
| 243 gtk_widget_show (layout3); | |
| 244 gtk_container_add (GTK_CONTAINER (scrolledwindow3), layout3); | |
| 245 gtk_layout_set_size (GTK_LAYOUT (layout3), 382, 295); | |
| 246 GTK_ADJUSTMENT (GTK_LAYOUT (layout3)->hadjustment)->step_increment = 10; | |
| 247 GTK_ADJUSTMENT (GTK_LAYOUT (layout3)->vadjustment)->step_increment = 10; | |
| 248 | |
| 249 ao_none = gtk_radio_button_new_with_label (layout3_group, "Automatic (MPlayer Chooses)"); | |
| 250 layout3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (ao_none)); | |
| 251 gtk_widget_ref (ao_none); | |
| 252 gtk_object_set_data_full (GTK_OBJECT (window1), "ao_none", ao_none, | |
| 253 (GtkDestroyNotify) gtk_widget_unref); | |
| 254 gtk_widget_show (ao_none); | |
| 255 gtk_layout_put (GTK_LAYOUT (layout3), ao_none, 24, 32); | |
| 256 gtk_widget_set_usize (ao_none, 272, 24); | |
| 257 | |
| 258 ao_oss = gtk_radio_button_new_with_label (layout3_group, "OSS"); | |
| 259 layout3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (ao_oss)); | |
| 260 gtk_widget_ref (ao_oss); | |
| 261 gtk_object_set_data_full (GTK_OBJECT (window1), "ao_oss", ao_oss, | |
| 262 (GtkDestroyNotify) gtk_widget_unref); | |
| 263 gtk_widget_show (ao_oss); | |
| 264 gtk_layout_put (GTK_LAYOUT (layout3), ao_oss, 24, 64); | |
| 265 gtk_widget_set_usize (ao_oss, 96, 24); | |
| 266 | |
| 267 ao_arts = gtk_radio_button_new_with_label (layout3_group, "ARTS"); | |
| 268 layout3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (ao_arts)); | |
| 269 gtk_widget_ref (ao_arts); | |
| 270 gtk_object_set_data_full (GTK_OBJECT (window1), "ao_arts", ao_arts, | |
| 271 (GtkDestroyNotify) gtk_widget_unref); | |
| 272 gtk_widget_show (ao_arts); | |
| 273 gtk_layout_put (GTK_LAYOUT (layout3), ao_arts, 24, 96); | |
| 274 gtk_widget_set_usize (ao_arts, 96, 24); | |
| 275 | |
| 276 ao_esd = gtk_radio_button_new_with_label (layout3_group, "ESD"); | |
| 277 layout3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (ao_esd)); | |
| 278 gtk_widget_ref (ao_esd); | |
| 279 gtk_object_set_data_full (GTK_OBJECT (window1), "ao_esd", ao_esd, | |
| 280 (GtkDestroyNotify) gtk_widget_unref); | |
| 281 gtk_widget_show (ao_esd); | |
| 282 gtk_layout_put (GTK_LAYOUT (layout3), ao_esd, 24, 128); | |
| 283 gtk_widget_set_usize (ao_esd, 96, 24); | |
| 284 | |
| 285 ao_alsa = gtk_radio_button_new_with_label (layout3_group, "ALSA"); | |
| 286 layout3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (ao_alsa)); | |
| 287 gtk_widget_ref (ao_alsa); | |
| 288 gtk_object_set_data_full (GTK_OBJECT (window1), "ao_alsa", ao_alsa, | |
| 289 (GtkDestroyNotify) gtk_widget_unref); | |
| 290 gtk_widget_show (ao_alsa); | |
| 291 gtk_layout_put (GTK_LAYOUT (layout3), ao_alsa, 24, 160); | |
| 292 gtk_widget_set_usize (ao_alsa, 103, 24); | |
| 293 | |
| 294 ao_sdl = gtk_radio_button_new_with_label (layout3_group, "SDL"); | |
| 295 layout3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (ao_sdl)); | |
| 296 gtk_widget_ref (ao_sdl); | |
| 297 gtk_object_set_data_full (GTK_OBJECT (window1), "ao_sdl", ao_sdl, | |
| 298 (GtkDestroyNotify) gtk_widget_unref); | |
| 299 gtk_widget_show (ao_sdl); | |
| 300 gtk_layout_put (GTK_LAYOUT (layout3), ao_sdl, 24, 192); | |
| 301 gtk_widget_set_usize (ao_sdl, 103, 24); | |
| 302 | |
| 303 opt_xmmsaudio = gtk_radio_button_new_with_label (layout3_group, "XMMS Output Plugin (Experimental)"); | |
| 304 layout3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (opt_xmmsaudio)); | |
| 305 gtk_widget_ref (opt_xmmsaudio); | |
| 306 gtk_object_set_data_full (GTK_OBJECT (window1), "opt_xmmsaudio", opt_xmmsaudio, | |
| 307 (GtkDestroyNotify) gtk_widget_unref); | |
| 308 gtk_widget_show (opt_xmmsaudio); | |
| 309 gtk_layout_put (GTK_LAYOUT (layout3), opt_xmmsaudio, 24, 224); | |
| 310 gtk_widget_set_usize (opt_xmmsaudio, 272, 24); | |
| 311 | |
| 312 label_ao = gtk_label_new ("Audio Out"); | |
| 313 gtk_widget_ref (label_ao); | |
| 314 gtk_object_set_data_full (GTK_OBJECT (window1), "label_ao", label_ao, | |
| 315 (GtkDestroyNotify) gtk_widget_unref); | |
| 316 gtk_widget_show (label_ao); | |
| 317 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label_ao); | |
| 318 | |
| 319 scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); | |
| 320 gtk_widget_ref (scrolledwindow4); | |
| 321 gtk_object_set_data_full (GTK_OBJECT (window1), "scrolledwindow4", scrolledwindow4, | |
| 322 (GtkDestroyNotify) gtk_widget_unref); | |
| 323 gtk_widget_show (scrolledwindow4); | |
| 324 gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow4); | |
| 325 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
| 326 | |
| 327 layout4 = gtk_layout_new (NULL, NULL); | |
| 328 gtk_widget_ref (layout4); | |
| 329 gtk_object_set_data_full (GTK_OBJECT (window1), "layout4", layout4, | |
| 330 (GtkDestroyNotify) gtk_widget_unref); | |
| 331 gtk_widget_show (layout4); | |
| 332 gtk_container_add (GTK_CONTAINER (scrolledwindow4), layout4); | |
| 333 gtk_layout_set_size (GTK_LAYOUT (layout4), 377, 272); | |
| 334 GTK_ADJUSTMENT (GTK_LAYOUT (layout4)->hadjustment)->step_increment = 10; | |
| 335 GTK_ADJUSTMENT (GTK_LAYOUT (layout4)->vadjustment)->step_increment = 10; | |
| 336 | |
| 337 opt_zoom = gtk_check_button_new_with_label ("Software Zoom"); | |
| 338 gtk_widget_ref (opt_zoom); | |
| 339 gtk_object_set_data_full (GTK_OBJECT (window1), "opt_zoom", opt_zoom, | |
| 340 (GtkDestroyNotify) gtk_widget_unref); | |
| 341 gtk_widget_show (opt_zoom); | |
| 342 gtk_layout_put (GTK_LAYOUT (layout4), opt_zoom, 24, 32); | |
| 343 gtk_widget_set_usize (opt_zoom, 168, 24); | |
| 344 | |
| 345 opt_framedrop = gtk_check_button_new_with_label ("Frame Dropping"); | |
| 346 gtk_widget_ref (opt_framedrop); | |
| 347 gtk_object_set_data_full (GTK_OBJECT (window1), "opt_framedrop", opt_framedrop, | |
| 348 (GtkDestroyNotify) gtk_widget_unref); | |
| 349 gtk_widget_show (opt_framedrop); | |
| 350 gtk_layout_put (GTK_LAYOUT (layout4), opt_framedrop, 24, 72); | |
| 351 gtk_widget_set_usize (opt_framedrop, 136, 24); | |
| 352 | |
| 353 opt_idx = gtk_check_button_new_with_label ("Build Index"); | |
| 354 gtk_widget_ref (opt_idx); | |
| 355 gtk_object_set_data_full (GTK_OBJECT (window1), "opt_idx", opt_idx, | |
| 356 (GtkDestroyNotify) gtk_widget_unref); | |
| 357 gtk_widget_show (opt_idx); | |
| 358 gtk_layout_put (GTK_LAYOUT (layout4), opt_idx, 24, 112); | |
| 359 gtk_widget_set_usize (opt_idx, 102, 24); | |
| 360 | |
| 361 opt_onewin = gtk_check_button_new_with_label ("One Window (Experimental)"); | |
| 362 gtk_widget_ref (opt_onewin); | |
| 363 gtk_object_set_data_full (GTK_OBJECT (window1), "opt_onewin", opt_onewin, | |
| 364 (GtkDestroyNotify) gtk_widget_unref); | |
| 365 gtk_widget_show (opt_onewin); | |
| 366 gtk_layout_put (GTK_LAYOUT (layout4), opt_onewin, 24, 152); | |
| 367 gtk_widget_set_usize (opt_onewin, 240, 24); | |
| 368 | |
| 369 label_other = gtk_label_new ("Other"); | |
| 370 gtk_widget_ref (label_other); | |
| 371 gtk_object_set_data_full (GTK_OBJECT (window1), "label_other", label_other, | |
| 372 (GtkDestroyNotify) gtk_widget_unref); | |
| 373 gtk_widget_show (label_other); | |
| 374 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label_other); | |
| 375 | |
| 376 scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); | |
| 377 gtk_widget_ref (scrolledwindow5); | |
| 378 gtk_object_set_data_full (GTK_OBJECT (window1), "scrolledwindow5", scrolledwindow5, | |
| 379 (GtkDestroyNotify) gtk_widget_unref); | |
| 380 gtk_widget_show (scrolledwindow5); | |
| 381 gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow5); | |
| 382 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | |
| 383 | |
| 384 layout5 = gtk_layout_new (NULL, NULL); | |
| 385 gtk_widget_ref (layout5); | |
| 386 gtk_object_set_data_full (GTK_OBJECT (window1), "layout5", layout5, | |
| 387 (GtkDestroyNotify) gtk_widget_unref); | |
| 388 gtk_widget_show (layout5); | |
| 389 gtk_container_add (GTK_CONTAINER (scrolledwindow5), layout5); | |
| 390 gtk_layout_set_size (GTK_LAYOUT (layout5), 346, 267); | |
| 391 GTK_ADJUSTMENT (GTK_LAYOUT (layout5)->hadjustment)->step_increment = 10; | |
| 392 GTK_ADJUSTMENT (GTK_LAYOUT (layout5)->vadjustment)->step_increment = 10; | |
| 393 | |
| 394 entry_extra_opts = gtk_entry_new (); | |
| 395 gtk_widget_ref (entry_extra_opts); | |
| 396 gtk_object_set_data_full (GTK_OBJECT (window1), "entry_extra_opts", entry_extra_opts, | |
| 397 (GtkDestroyNotify) gtk_widget_unref); | |
| 398 gtk_widget_show (entry_extra_opts); | |
| 399 gtk_layout_put (GTK_LAYOUT (layout5), entry_extra_opts, 40, 192); | |
| 400 gtk_widget_set_usize (entry_extra_opts, 392, 24); | |
| 401 | |
| 402 label_extra_des = gtk_label_new ("Extra options for mplayer can be added here.\nParsing is done based on spaces.\nQuotes and escapes are not recognised yet."); | |
| 403 gtk_widget_ref (label_extra_des); | |
| 404 gtk_object_set_data_full (GTK_OBJECT (window1), "label_extra_des", label_extra_des, | |
| 405 (GtkDestroyNotify) gtk_widget_unref); | |
| 406 gtk_widget_show (label_extra_des); | |
| 407 gtk_layout_put (GTK_LAYOUT (layout5), label_extra_des, 40, 48); | |
| 408 gtk_widget_set_usize (label_extra_des, 392, 128); | |
| 409 gtk_label_set_justify (GTK_LABEL (label_extra_des), GTK_JUSTIFY_LEFT); | |
| 410 gtk_misc_set_alignment (GTK_MISC (label_extra_des), 0.18, 1); | |
| 411 | |
| 412 label_extra = gtk_label_new ("Extra"); | |
| 413 gtk_widget_ref (label_extra); | |
| 414 gtk_object_set_data_full (GTK_OBJECT (window1), "label_extra", label_extra, | |
| 415 (GtkDestroyNotify) gtk_widget_unref); | |
| 416 gtk_widget_show (label_extra); | |
| 417 gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), label_extra); | |
| 418 | |
| 419 btn_ok = gtk_button_new_with_label ("OK"); | |
| 420 gtk_widget_ref (btn_ok); | |
| 421 gtk_object_set_data_full (GTK_OBJECT (window1), "btn_ok", btn_ok, | |
| 422 (GtkDestroyNotify) gtk_widget_unref); | |
| 423 gtk_widget_show (btn_ok); | |
| 424 gtk_layout_put (GTK_LAYOUT (layout1), btn_ok, 432, 376); | |
| 425 gtk_widget_set_usize (btn_ok, 88, 32); | |
| 426 | |
| 427 btn_cancel = gtk_button_new_with_label ("Cancel"); | |
| 428 gtk_widget_ref (btn_cancel); | |
| 429 gtk_object_set_data_full (GTK_OBJECT (window1), "btn_cancel", btn_cancel, | |
| 430 (GtkDestroyNotify) gtk_widget_unref); | |
| 431 gtk_widget_show (btn_cancel); | |
| 432 gtk_layout_put (GTK_LAYOUT (layout1), btn_cancel, 24, 376); | |
| 433 gtk_widget_set_usize (btn_cancel, 88, 30); | |
| 434 | |
| 435 gtk_signal_connect(GTK_OBJECT(window1), | |
| 436 "destroy", | |
| 437 GTK_SIGNAL_FUNC(mplayer_destroyed_conf_win), | |
| 438 NULL); | |
| 439 | |
| 440 gtk_signal_connect (GTK_OBJECT (btn_ok), "clicked", | |
| 441 GTK_SIGNAL_FUNC (on_btn_ok_clicked), | |
| 442 NULL); | |
| 443 gtk_signal_connect (GTK_OBJECT (btn_cancel), "clicked", | |
| 444 GTK_SIGNAL_FUNC (on_btn_cancel_clicked), | |
| 445 NULL); | |
| 446 return window1; | |
| 447 } | |
| 448 | |
| 449 void mplayer_configure(){ | |
| 450 struct mplayer_cfg *cfg; | |
| 451 if (mplayer_configure_win) | |
| 452 return; | |
| 453 mplayer_configure_win=mplayer_create_configure_win(); | |
| 454 gtk_widget_show(mplayer_configure_win); | |
| 455 cfg=mplayer_read_cfg(); | |
| 456 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (opt_zoom),cfg->zoom); | |
| 457 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (opt_framedrop),cfg->framedrop); | |
| 458 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (opt_idx),cfg->idx); | |
| 459 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (opt_onewin),cfg->onewin); | |
| 460 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (opt_xmmsaudio),cfg->xmmsaudio); | |
| 461 | |
| 462 switch(cfg->vo){ | |
| 463 case MPLAYER_VO_NONE: | |
| 464 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vo_none), TRUE); | |
| 465 break; | |
| 466 case MPLAYER_VO_XV: | |
| 467 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vo_xv), TRUE); | |
| 468 break; | |
| 469 case MPLAYER_VO_X11: | |
| 470 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vo_x11), TRUE); | |
| 471 break; | |
| 472 case MPLAYER_VO_GL: | |
| 473 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vo_gl), TRUE); | |
| 474 break; | |
| 475 case MPLAYER_VO_SDL: | |
| 476 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (vo_sdl), TRUE); | |
| 477 break; | |
| 478 } | |
| 479 switch(cfg->ao){ | |
| 480 case MPLAYER_AO_NONE: | |
| 481 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ao_none), TRUE); | |
| 482 break; | |
| 483 case MPLAYER_AO_OSS: | |
| 484 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ao_oss), TRUE); | |
| 485 break; | |
| 486 case MPLAYER_AO_ARTS: | |
| 487 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ao_arts), TRUE); | |
| 488 break; | |
| 489 case MPLAYER_AO_ESD: | |
| 490 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ao_esd), TRUE); | |
| 491 break; | |
| 492 case MPLAYER_AO_SDL: | |
| 493 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ao_sdl), TRUE); | |
| 494 break; | |
| 495 case MPLAYER_AO_ALSA: | |
| 496 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ao_alsa), TRUE); | |
| 497 break; | |
| 498 } | |
| 499 gtk_entry_set_text(GTK_ENTRY(entry_extra_opts),cfg->extra); | |
| 500 } |
