comparison Gui/mplayer/gtk/opts.c @ 7009:98bed9e12087

- add dxr3 gui support (dialogbox, etc.) - fix one small dvd playing bug ( dvd playing don't del the playlist) - add some ifdef() check
author pontscho
date Wed, 14 Aug 2002 23:02:45 +0000
parents 5ddd609550d5
children e37a67d5e117
comparison
equal deleted inserted replaced
7008:2af81c9ed167 7009:98bed9e12087
81 { 5,MSGTR_PREFERENCES_Codec4 }, 81 { 5,MSGTR_PREFERENCES_Codec4 },
82 { 7,MSGTR_PREFERENCES_Codec5 }, 82 { 7,MSGTR_PREFERENCES_Codec5 },
83 { 10,MSGTR_PREFERENCES_Codec6 } }; 83 { 10,MSGTR_PREFERENCES_Codec6 } };
84 84
85 int gtkVPreferences = 0; 85 int gtkVPreferences = 0;
86 static int gtkVOSSConfig = 0;
87 static int old_audio_driver = 0; 86 static int old_audio_driver = 0;
88 static char * ao_driver[3]; 87 static char * ao_driver[3];
89 static char * vo_driver[3]; 88 static char * vo_driver[3];
90 static int old_video_driver = 0; 89 static int old_video_driver = 0;
91 90
92 void ShowOSSConfig( void ); 91 #ifdef USE_OSS_AUDIO
93 void HideOSSConfig( void ); 92 void ShowOSSConfig( void );
93 void HideOSSConfig( void );
94 #endif
95 #ifdef HAVE_DXR3
96 void ShowDXR3Config( void );
97 void HideDXR3Config( void );
98 #endif
94 static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ); 99 static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data );
95 static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ); 100 static void prToggled( GtkToggleButton * togglebutton,gpointer user_data );
96 static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ); 101 static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data );
97 102
98 extern int muted; 103 extern int muted;
119 if ( audio_driver && !gtkAODriver ) gtkAODriver=gstrdup( audio_driver ); 124 if ( audio_driver && !gtkAODriver ) gtkAODriver=gstrdup( audio_driver );
120 while ( audio_out_drivers[i] ) 125 while ( audio_out_drivers[i] )
121 { 126 {
122 const ao_info_t *info = audio_out_drivers[i++]->info; 127 const ao_info_t *info = audio_out_drivers[i++]->info;
123 if ( !strcmp( info->short_name,"plugin" ) ) continue; 128 if ( !strcmp( info->short_name,"plugin" ) ) continue;
124 if ( !gstrcmp( gtkAODriver,info->short_name ) ) old_audio_driver=i - 1; 129 if ( !gstrcmp( gtkAODriver,(char *)info->short_name ) ) old_audio_driver=i - 1;
125 tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLADrivers ),tmp ); 130 tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLADrivers ),tmp );
126 } 131 }
127 gtk_clist_select_row( GTK_CLIST( CLADrivers ),old_audio_driver,0 ); 132 gtk_clist_select_row( GTK_CLIST( CLADrivers ),old_audio_driver,0 );
128 gtk_clist_get_text( GTK_CLIST( CLADrivers ),old_audio_driver,0,(char **)&ao_driver ); 133 gtk_clist_get_text( GTK_CLIST( CLADrivers ),old_audio_driver,0,(char **)&ao_driver );
129 gtk_widget_set_sensitive( AConfig,FALSE ); 134 gtk_widget_set_sensitive( AConfig,FALSE );
130 if ( !strcmp( ao_driver[0],"oss" ) ) gtk_widget_set_sensitive( AConfig,TRUE ); 135 #ifdef USE_OSS_AUDIO
136 if ( !gstrcmp( ao_driver[0],"oss" ) ) gtk_widget_set_sensitive( AConfig,TRUE );
137 #endif
131 } 138 }
132 139
133 // -- 2. page 140 // -- 2. page
134 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ),gtkVODoubleBuffer ); 141 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ),gtkVODoubleBuffer );
135 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDR ),gtkVODirectRendering ); 142 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDR ),gtkVODirectRendering );
145 { 152 {
146 while ( video_out_drivers[i] ) 153 while ( video_out_drivers[i] )
147 if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) 154 if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
148 { 155 {
149 const vo_info_t *info = video_out_drivers[i - 1]->get_info(); 156 const vo_info_t *info = video_out_drivers[i - 1]->get_info();
150 if ( !gstrcmp( video_driver,info->short_name ) ) gtkVODriver=gstrdup( video_driver ); 157 if ( !gstrcmp( video_driver,(char *)info->short_name ) ) gtkVODriver=gstrdup( video_driver );
151 } 158 }
152 } 159 }
153 i=0; 160 i=0;
154 while ( video_out_drivers[i] ) 161 while ( video_out_drivers[i] )
155 if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) 162 if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
156 { 163 {
157 const vo_info_t *info = video_out_drivers[i - 1]->get_info(); 164 const vo_info_t *info = video_out_drivers[i - 1]->get_info();
158 if ( !gstrcmp( gtkVODriver,info->short_name ) ) old_video_driver=c; c++; 165 if ( !gstrcmp( gtkVODriver,(char *)info->short_name ) ) old_video_driver=c; c++;
159 tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLVDrivers ),tmp ); 166 tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLVDrivers ),tmp );
160 } 167 }
161 gtk_clist_select_row( GTK_CLIST( CLVDrivers ),old_video_driver,0 ); 168 gtk_clist_select_row( GTK_CLIST( CLVDrivers ),old_video_driver,0 );
162 gtk_clist_get_text( GTK_CLIST( CLVDrivers ),old_video_driver,0,(char **)&vo_driver ); 169 gtk_clist_get_text( GTK_CLIST( CLVDrivers ),old_video_driver,0,(char **)&vo_driver );
163 gtk_widget_set_sensitive( VConfig,FALSE ); 170 gtk_widget_set_sensitive( VConfig,FALSE );
171 #ifdef HAVE_DXR3
172 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE );
173 #endif
164 } 174 }
165 175
166 // -- 3. page 176 // -- 3. page
167 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ),!gtkSubAuto ); 177 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ),!gtkSubAuto );
168 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ),gtkSubDumpMPSub ); 178 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ),gtkSubDumpMPSub );
184 if ( guiIntfStruct.Fontname ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),guiIntfStruct.Fontname ); 194 if ( guiIntfStruct.Fontname ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),guiIntfStruct.Fontname );
185 195
186 // -- 4. page 196 // -- 4. page
187 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ),gtkVNIAVI ); 197 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ),gtkVNIAVI );
188 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBIndex ),gtkVIndex ); 198 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBIndex ),gtkVIndex );
189 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPostprocess ),gtkVPP ); 199 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPostprocess ),gtkVopPP );
190 gtk_adjustment_set_value( HSPPQualityadj,gtkVAutoq ); 200 gtk_adjustment_set_value( HSPPQualityadj,gtkVAutoq );
191 { 201 {
192 int i = 0; 202 int i = 0;
193 for ( i=0;i<7;i++ ) 203 for ( i=0;i<7;i++ )
194 if ( lVFM[i].vfm == gtkVVFM ) break; 204 if ( lVFM[i].vfm == gtkVVFM ) break;
244 void HidePreferences( void ) 254 void HidePreferences( void )
245 { 255 {
246 if ( !gtkVPreferences ) return; 256 if ( !gtkVPreferences ) return;
247 gtkVPreferences=0; 257 gtkVPreferences=0;
248 gtk_widget_hide( Preferences ); gtk_widget_destroy( Preferences ); 258 gtk_widget_hide( Preferences ); gtk_widget_destroy( Preferences );
259 #ifdef USE_OSS_AUDIO
249 HideOSSConfig(); 260 HideOSSConfig();
261 #endif
262 #ifdef HAVE_DXR3
263 HideDXR3Config();
264 #endif
250 } 265 }
251 266
252 static void prDestroy( GtkObject * object,gpointer user_data ) 267 static void prDestroy( GtkObject * object,gpointer user_data )
253 { HidePreferences(); } 268 { HidePreferences(); }
254 269
301 guiSetFilename( guiIntfStruct.Fontname,gtk_entry_get_text( GTK_ENTRY( prEFontName ) ) ); 316 guiSetFilename( guiIntfStruct.Fontname,gtk_entry_get_text( GTK_ENTRY( prEFontName ) ) );
302 317
303 // -- 4. page 318 // -- 4. page
304 gtkVNIAVI=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ) ); 319 gtkVNIAVI=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ) );
305 gtkVIndex=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBIndex ) ); 320 gtkVIndex=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBIndex ) );
306 gtkVPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) ); 321 gtkVopPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) );
307 gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); 322 gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL );
308 { 323 {
309 int i; 324 int i;
310 char * tmp = gtk_entry_get_text( GTK_ENTRY( EVFM ) ); 325 char * tmp = gtk_entry_get_text( GTK_ENTRY( EVFM ) );
311 gtkVVFM=-1; 326 gtkVVFM=-1;
316 case bCancel: 331 case bCancel:
317 HidePreferences(); 332 HidePreferences();
318 break; 333 break;
319 case bAConfig: 334 case bAConfig:
320 gtk_widget_set_sensitive( AConfig,FALSE ); 335 gtk_widget_set_sensitive( AConfig,FALSE );
336 #ifdef USE_OSS_AUDIO
321 if ( !strcmp( ao_driver[0],"oss" ) ) { ShowOSSConfig(); gtk_widget_set_sensitive( AConfig,TRUE ); } 337 if ( !strcmp( ao_driver[0],"oss" ) ) { ShowOSSConfig(); gtk_widget_set_sensitive( AConfig,TRUE ); }
338 #endif
322 break; 339 break;
323 // case bVconfig: 340 case bVconfig:
324 // break; 341 gtk_widget_set_sensitive( VConfig,FALSE );
342 #ifdef HAVE_DXR3
343 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) { ShowDXR3Config(); gtk_widget_set_sensitive( VConfig,TRUE ); }
344 #endif
345 break;
325 #if 0 346 #if 0
326 case bLSubtitle: 347 case bLSubtitle:
327 break; 348 break;
328 #endif 349 #endif
329 case bLFont: 350 case bLFont:
383 switch ( (int)user_data ) 404 switch ( (int)user_data )
384 { 405 {
385 case 0: // audio driver 406 case 0: // audio driver
386 gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver ); 407 gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver );
387 gtk_widget_set_sensitive( AConfig,FALSE ); 408 gtk_widget_set_sensitive( AConfig,FALSE );
409 #ifdef USE_OSS_AUDIO
388 if ( !strcmp( ao_driver[0],"oss" ) ) gtk_widget_set_sensitive( AConfig,TRUE ); 410 if ( !strcmp( ao_driver[0],"oss" ) ) gtk_widget_set_sensitive( AConfig,TRUE );
411 #endif
389 break; 412 break;
390 case 1: // video driver 413 case 1: // video driver
391 gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver ); 414 gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver );
415 gtk_widget_set_sensitive( VConfig,FALSE );
416 #ifdef HAVE_DXR3
417 if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE );
418 #endif
392 break; 419 break;
393 } 420 }
394 } 421 }
395 422
396 GtkWidget * create_Preferences( void ) 423 GtkWidget * create_Preferences( void )
1442 gtk_window_add_accel_group( GTK_WINDOW( Preferences ),accel_group ); 1469 gtk_window_add_accel_group( GTK_WINDOW( Preferences ),accel_group );
1443 1470
1444 return Preferences; 1471 return Preferences;
1445 } 1472 }
1446 1473
1474 #ifdef USE_OSS_AUDIO
1447 GtkWidget * OSSConfig; 1475 GtkWidget * OSSConfig;
1448 static GtkWidget * CEOssDevice; 1476 static GtkWidget * CEOssDevice;
1449 static GtkWidget * CEOssMixer; 1477 static GtkWidget * CEOssMixer;
1450 static GtkWidget * CBOssMixer; 1478 static GtkWidget * CBOssMixer;
1451 static GtkWidget * CBOssDevice; 1479 static GtkWidget * CBOssDevice;
1452 static GtkWidget * BOssOk; 1480 static GtkWidget * BOssOk;
1453 static GtkWidget * BOssCancel; 1481 static GtkWidget * BOssCancel;
1482
1483 int gtkVOSSConfig = 0;
1454 1484
1455 void ShowOSSConfig( void ) 1485 void ShowOSSConfig( void )
1456 { 1486 {
1457 if ( gtkVOSSConfig ) gtkActive( OSSConfig ); 1487 if ( gtkVOSSConfig ) gtkActive( OSSConfig );
1458 else OSSConfig=create_OSSConfig(); 1488 else OSSConfig=create_OSSConfig();
1680 gtk_window_add_accel_group( GTK_WINDOW( OSSConfig ),accel_group ); 1710 gtk_window_add_accel_group( GTK_WINDOW( OSSConfig ),accel_group );
1681 1711
1682 return OSSConfig; 1712 return OSSConfig;
1683 } 1713 }
1684 1714
1715 #endif
1716
1717 #ifdef HAVE_DXR3
1718 // --- dxr3 config box
1719
1720 static GtkWidget * DXR3Config;
1721 static GtkWidget * CBDevice;
1722 static GtkWidget * CEDXR3Device;
1723 static GtkWidget * RBVNone;
1724 static GtkWidget * RBVLavc;
1725 static GtkWidget * RBVFame;
1726 static GtkWidget * dxr3BOk;
1727 static GtkWidget * dxr3BCancel;
1728
1729 static int gtkVDXR3Config = 0;
1730
1731 GtkWidget * create_DXR3Config( void );
1732
1733 void ShowDXR3Config( void )
1734 {
1735 if ( gtkVDXR3Config ) gtkActive( DXR3Config );
1736 else DXR3Config=create_DXR3Config();
1737
1738 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVNone ),TRUE );
1739 if ( gtkVopLAVC ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVLavc ),TRUE );
1740 if ( gtkVopFAME ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVFame ),TRUE );
1741
1742 gtk_widget_show( DXR3Config );
1743 gtkSetLayer( DXR3Config );
1744 gtkVDXR3Config=1;
1745 }
1746
1747 void HideDXR3Config( void )
1748 {
1749 if ( !gtkVDXR3Config ) return;
1750 gtk_widget_hide( DXR3Config );
1751 gtk_widget_destroy( DXR3Config );
1752 gtkVDXR3Config=0;
1753 }
1754
1755 static void dxr3Button( GtkButton * button,gpointer user_data )
1756 {
1757 switch ( (int)user_data )
1758 {
1759 case 0: // Ok
1760 gtkVopLAVC=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBVLavc ) );
1761 gtkVopFAME=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBVFame ) );
1762 case 2: // Destroy
1763 case 1: // Cancel
1764 HideDXR3Config();
1765 break;
1766 case 3: // Show
1767 gtkVDXR3Config=1;
1768 break;
1769 case 4: // Hide
1770 gtkVDXR3Config=0;
1771 break;
1772 }
1773 }
1774
1775 GtkWidget * create_DXR3Config( void )
1776 {
1777 GtkWidget * frame1;
1778 GtkWidget * frame2;
1779 GtkWidget * frame3;
1780 GtkWidget * frame4;
1781 GtkWidget * vbox1;
1782 GtkWidget * vbox2;
1783 GtkWidget * hbox1;
1784 GtkWidget * label1;
1785 GList * CBDevice_items = NULL;
1786 GtkWidget * hseparator2;
1787 GtkWidget * vbox3;
1788 GtkWidget * label2;
1789 GSList * VEncoder_group = NULL;
1790 GtkWidget * hseparator1;
1791 GtkWidget * hbuttonbox1;
1792 GtkAccelGroup * accel_group;
1793
1794 accel_group=gtk_accel_group_new();
1795
1796 DXR3Config=gtk_window_new( GTK_WINDOW_DIALOG );
1797 gtk_widget_set_name( DXR3Config,"DXR3Config" );
1798 gtk_object_set_data( GTK_OBJECT( DXR3Config ),"DXR3Config",DXR3Config );
1799 gtk_widget_set_usize( DXR3Config,300,156 );
1800 GTK_WIDGET_SET_FLAGS( DXR3Config,GTK_CAN_DEFAULT );
1801 gtk_window_set_title( GTK_WINDOW( DXR3Config ),"DXR3/H+" );
1802 gtk_window_set_position( GTK_WINDOW( DXR3Config ),GTK_WIN_POS_CENTER );
1803 gtk_window_set_modal( GTK_WINDOW( DXR3Config ),TRUE );
1804 gtk_window_set_policy( GTK_WINDOW( DXR3Config ),FALSE,FALSE,FALSE );
1805 gtk_window_set_wmclass( GTK_WINDOW( DXR3Config ),"DXR3","MPlayer" );
1806
1807 gtk_widget_realize( DXR3Config );
1808 gtkAddIcon( DXR3Config );
1809
1810 frame1=gtk_frame_new( NULL );
1811 gtk_widget_set_name( frame1,"frame1" );
1812 gtk_widget_ref( frame1 );
1813 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"frame1",frame1,(GtkDestroyNotify)gtk_widget_unref );
1814 gtk_widget_show( frame1 );
1815 gtk_container_add( GTK_CONTAINER( DXR3Config ),frame1 );
1816 gtk_container_set_border_width( GTK_CONTAINER( frame1 ),1 );
1817 gtk_frame_set_shadow_type( GTK_FRAME( frame1 ),GTK_SHADOW_IN );
1818
1819 frame2=gtk_frame_new( NULL );
1820 gtk_widget_set_name( frame2,"frame2" );
1821 gtk_widget_ref( frame2 );
1822 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"frame2",frame2,(GtkDestroyNotify)gtk_widget_unref );
1823 gtk_widget_show( frame2 );
1824 gtk_container_add( GTK_CONTAINER( frame1 ),frame2 );
1825 gtk_frame_set_shadow_type( GTK_FRAME( frame2 ),GTK_SHADOW_NONE );
1826
1827 frame3=gtk_frame_new( NULL );
1828 gtk_widget_set_name( frame3,"frame3" );
1829 gtk_widget_ref( frame3 );
1830 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"frame3",frame3,(GtkDestroyNotify)gtk_widget_unref );
1831 gtk_widget_show( frame3 );
1832 gtk_container_add( GTK_CONTAINER( frame2 ),frame3 );
1833 gtk_frame_set_shadow_type( GTK_FRAME( frame3 ),GTK_SHADOW_ETCHED_OUT );
1834
1835 frame4=gtk_frame_new( NULL );
1836 gtk_widget_set_name( frame4,"frame4" );
1837 gtk_widget_ref( frame4 );
1838 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"frame4",frame4,(GtkDestroyNotify)gtk_widget_unref );
1839 gtk_widget_show( frame4 );
1840 gtk_container_add( GTK_CONTAINER( frame3 ),frame4 );
1841 gtk_frame_set_shadow_type( GTK_FRAME( frame4 ),GTK_SHADOW_NONE );
1842
1843 vbox1=gtk_vbox_new( FALSE,0 );
1844 gtk_widget_set_name( vbox1,"vbox1" );
1845 gtk_widget_ref( vbox1 );
1846 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"vbox1",vbox1,(GtkDestroyNotify)gtk_widget_unref );
1847 gtk_widget_show( vbox1 );
1848 gtk_container_add( GTK_CONTAINER( frame4 ),vbox1 );
1849
1850 vbox2=gtk_vbox_new( FALSE,0 );
1851 gtk_widget_set_name( vbox2,"vbox2" );
1852 gtk_widget_ref( vbox2 );
1853 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"vbox2",vbox2,(GtkDestroyNotify)gtk_widget_unref );
1854 gtk_widget_show( vbox2 );
1855 gtk_box_pack_start( GTK_BOX( vbox1 ),vbox2,TRUE,TRUE,0 );
1856
1857 hbox1=gtk_hbox_new( FALSE,0 );
1858 gtk_widget_set_name( hbox1,"hbox1" );
1859 gtk_widget_ref( hbox1 );
1860 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"hbox1",hbox1,(GtkDestroyNotify)gtk_widget_unref );
1861 gtk_widget_show( hbox1 );
1862 gtk_box_pack_start( GTK_BOX( vbox2 ),hbox1,FALSE,FALSE,0 );
1863
1864 label1=gtk_label_new( MSGTR_PREFERENCES_OSS_Device );
1865 gtk_widget_set_name( label1,"label1" );
1866 gtk_widget_ref( label1 );
1867 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"label1",label1,(GtkDestroyNotify)gtk_widget_unref );
1868 gtk_widget_show( label1 );
1869 gtk_box_pack_start( GTK_BOX( hbox1 ),label1,FALSE,FALSE,0 );
1870 gtk_misc_set_alignment( GTK_MISC( label1 ),7.45058e-09,0.5 );
1871 gtk_misc_set_padding( GTK_MISC( label1 ),4,0 );
1872
1873 CBDevice=gtk_combo_new();
1874 gtk_widget_set_name( CBDevice,"CBDevice" );
1875 gtk_widget_ref( CBDevice );
1876 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"CBDevice",CBDevice,(GtkDestroyNotify)gtk_widget_unref );
1877 gtk_widget_show( CBDevice );
1878 gtk_box_pack_start( GTK_BOX( hbox1 ),CBDevice,TRUE,TRUE,0 );
1879 CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300" );
1880 gtk_combo_set_popdown_strings( GTK_COMBO( CBDevice ),CBDevice_items );
1881 g_list_free( CBDevice_items );
1882
1883 CEDXR3Device=GTK_COMBO( CBDevice )->entry;
1884 gtk_widget_set_name( CEDXR3Device,"CEDXR3Device" );
1885 gtk_widget_ref( CEDXR3Device );
1886 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"CEDXR3Device",CEDXR3Device,(GtkDestroyNotify)gtk_widget_unref );
1887 gtk_widget_show( CEDXR3Device );
1888 gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),"/dev/em8300" );
1889
1890 hseparator2=gtk_hseparator_new();
1891 gtk_widget_set_name( hseparator2,"hseparator2" );
1892 gtk_widget_ref( hseparator2 );
1893 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"hseparator2",hseparator2,(GtkDestroyNotify)gtk_widget_unref );
1894 gtk_widget_show( hseparator2 );
1895 gtk_box_pack_start( GTK_BOX( vbox2 ),hseparator2,FALSE,FALSE,0 );
1896 gtk_widget_set_usize( hseparator2,-2,6 );
1897
1898 vbox3=gtk_vbox_new( FALSE,0 );
1899 gtk_widget_set_name( vbox3,"vbox3" );
1900 gtk_widget_ref( vbox3 );
1901 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"vbox3",vbox3,(GtkDestroyNotify)gtk_widget_unref );
1902 gtk_widget_show( vbox3 );
1903 gtk_box_pack_start( GTK_BOX( vbox2 ),vbox3,TRUE,TRUE,0 );
1904
1905 label2=gtk_label_new( MSGTR_PREFERENCES_DXR3_VENC );
1906 gtk_widget_set_name( label2,"label2" );
1907 gtk_widget_ref( label2 );
1908 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"label2",label2,(GtkDestroyNotify)gtk_widget_unref );
1909 gtk_widget_show( label2 );
1910 gtk_box_pack_start( GTK_BOX( vbox3 ),label2,FALSE,FALSE,0 );
1911 gtk_misc_set_alignment( GTK_MISC( label2 ),7.45058e-09,0.5 );
1912 gtk_misc_set_padding( GTK_MISC( label2 ),4,0 );
1913
1914 RBVNone=gtk_radio_button_new_with_label( VEncoder_group,MSGTR_PREFERENCES_None );
1915 VEncoder_group=gtk_radio_button_group( GTK_RADIO_BUTTON( RBVNone ) );
1916 gtk_widget_set_name( RBVNone,"RBVNone" );
1917 gtk_widget_ref( RBVNone );
1918 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"RBVNone",RBVNone,(GtkDestroyNotify)gtk_widget_unref );
1919 gtk_widget_show( RBVNone );
1920 gtk_box_pack_start( GTK_BOX( vbox3 ),RBVNone,FALSE,FALSE,0 );
1921 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVNone ),TRUE );
1922
1923 RBVLavc=gtk_radio_button_new_with_label( VEncoder_group,MSGTR_PREFERENCES_DXR3_LAVC );
1924 VEncoder_group=gtk_radio_button_group( GTK_RADIO_BUTTON( RBVLavc ) );
1925 gtk_widget_set_name( RBVLavc,"RBVLavc" );
1926 gtk_widget_ref( RBVLavc );
1927 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"RBVLavc",RBVLavc,(GtkDestroyNotify)gtk_widget_unref );
1928 gtk_widget_show( RBVLavc );
1929 gtk_box_pack_start( GTK_BOX( vbox3 ),RBVLavc,FALSE,FALSE,0 );
1930
1931 RBVFame=gtk_radio_button_new_with_label( VEncoder_group,MSGTR_PREFERENCES_DXR3_FAME );
1932 VEncoder_group=gtk_radio_button_group( GTK_RADIO_BUTTON( RBVFame ) );
1933 gtk_widget_set_name( RBVFame,"RBVFame" );
1934 gtk_widget_ref( RBVFame );
1935 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"RBVFame",RBVFame,(GtkDestroyNotify)gtk_widget_unref );
1936 gtk_widget_show( RBVFame );
1937 gtk_box_pack_start( GTK_BOX( vbox3 ),RBVFame,FALSE,FALSE,0 );
1938
1939 hseparator1=gtk_hseparator_new();
1940 gtk_widget_set_name( hseparator1,"hseparator1" );
1941 gtk_widget_ref( hseparator1 );
1942 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"hseparator1",hseparator1,(GtkDestroyNotify)gtk_widget_unref );
1943 gtk_widget_show( hseparator1 );
1944 gtk_box_pack_start( GTK_BOX( vbox1 ),hseparator1,FALSE,FALSE,0 );
1945 gtk_widget_set_usize( hseparator1,-2,6 );
1946
1947 hbuttonbox1=gtk_hbutton_box_new();
1948 gtk_widget_set_name( hbuttonbox1,"hbuttonbox1" );
1949 gtk_widget_ref( hbuttonbox1 );
1950 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"hbuttonbox1",hbuttonbox1,(GtkDestroyNotify)gtk_widget_unref );
1951 gtk_widget_show( hbuttonbox1 );
1952 gtk_box_pack_start( GTK_BOX( vbox1 ),hbuttonbox1,FALSE,FALSE,0 );
1953 gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END );
1954 gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 );
1955 gtk_button_box_set_child_size( GTK_BUTTON_BOX( hbuttonbox1 ),85,20 );
1956 gtk_button_box_set_child_ipadding( GTK_BUTTON_BOX( hbuttonbox1 ),0,0 );
1957
1958 dxr3BOk=gtk_button_new_with_label( MSGTR_Ok );
1959 gtk_widget_set_name( dxr3BOk,"dxr3BOk" );
1960 gtk_widget_ref( dxr3BOk );
1961 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"dxr3BOk",dxr3BOk,(GtkDestroyNotify)gtk_widget_unref );
1962 gtk_widget_show( dxr3BOk );
1963 gtk_container_add( GTK_CONTAINER( hbuttonbox1 ),dxr3BOk );
1964 // GTK_WIDGET_UNSET_FLAGS( bOk,GTK_CAN_FOCUS );
1965
1966 dxr3BCancel=gtk_button_new_with_label( MSGTR_Cancel );
1967 gtk_widget_set_name( dxr3BCancel,"dxr3BCancel" );
1968 gtk_widget_ref( dxr3BCancel );
1969 gtk_object_set_data_full( GTK_OBJECT( DXR3Config ),"dxr3BCancel",dxr3BCancel,(GtkDestroyNotify)gtk_widget_unref );
1970 gtk_widget_show( dxr3BCancel );
1971 gtk_container_add( GTK_CONTAINER( hbuttonbox1 ),dxr3BCancel );
1972 // GTK_WIDGET_UNSET_FLAGS( bCancel,GTK_CAN_FOCUS );
1973
1974 gtk_widget_add_accelerator( dxr3BOk,"released",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE );
1975 gtk_widget_add_accelerator( dxr3BCancel,"released",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
1976
1977 gtk_signal_connect( GTK_OBJECT( DXR3Config ),"destroy",GTK_SIGNAL_FUNC( dxr3Button ),(void *)2 );
1978 gtk_signal_connect( GTK_OBJECT( DXR3Config ),"show",GTK_SIGNAL_FUNC( dxr3Button ),(void *)3 );
1979 gtk_signal_connect( GTK_OBJECT( DXR3Config ),"hide",GTK_SIGNAL_FUNC( dxr3Button ),(void *)4 );
1980
1981 gtk_signal_connect( GTK_OBJECT( dxr3BOk ),"released",GTK_SIGNAL_FUNC( dxr3Button ),(void *)0 );
1982 gtk_signal_connect( GTK_OBJECT( dxr3BCancel ),"released",GTK_SIGNAL_FUNC( dxr3Button ),(void *)1 );
1983
1984 gtk_window_add_accel_group( GTK_WINDOW( DXR3Config ),accel_group );
1985
1986 return DXR3Config;
1987 }
1988
1989 #endif