📄 eq.c
字号:
A8000=AddVScaler( A8000adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A8000,8,9,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); A16000adj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-eqRange,eqRange,0.5,0,0 ) ); A16000=AddVScaler( A16000adj,NULL,-1 ); gtk_table_attach( GTK_TABLE( table1 ),A16000,9,10,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "31.25",NULL ), 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "62.50",NULL ), 1,2,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "125",NULL ), 2,3,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "250",NULL ), 3,4,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "500",NULL ), 4,5,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "1000",NULL ), 5,6,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "2000",NULL ), 6,7,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "4000",NULL ), 7,8,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "8000",NULL ), 8,9,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( "16000",NULL ), 9,10,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( Notebook ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( Notebook ),0 ), AddLabel( MSGTR_EQU_Audio,NULL ) ); table1=gtk_table_new( 4,2,FALSE ); gtk_widget_set_name( table1,"table1" ); gtk_widget_show( table1 ); gtk_container_add( GTK_CONTAINER( Notebook ),table1 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Contrast,NULL ), 0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Brightness,NULL ), 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Hue,NULL ), 0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Saturation,NULL ), 0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); VContrastadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); VContrast=AddHScaler( VContrastadj,NULL,1 ); gtk_table_attach( GTK_TABLE( table1 ),VContrast,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_widget_set_usize( VContrast,-1,45 ); VBrightnessadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); VBrightness=AddHScaler( VBrightnessadj,NULL,1 ); gtk_table_attach( GTK_TABLE( table1 ),VBrightness,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_widget_set_usize( VBrightness,-1,45 ); VHueadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); VHue=AddHScaler( VHueadj,NULL,1 ); gtk_table_attach( GTK_TABLE( table1 ),VHue,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_widget_set_usize( VHue,-1,45 ); VSaturationadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-100,100,1,0,0 ) ); VSaturation=AddHScaler( VSaturationadj,NULL,1 ); gtk_table_attach( GTK_TABLE( table1 ),VSaturation,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_widget_set_usize( VSaturation,-1,45 ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( Notebook ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( Notebook ),1 ), AddLabel( MSGTR_EQU_Video,NULL ) ); AddHSeparator( vbox1 ); hbuttonbox1=AddHButtonBox( vbox1 ); gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); Config=AddButton( MSGTR_Config,hbuttonbox1 ); Clear=AddButton( MSGTR_Clear,hbuttonbox1 ); Ok=AddButton( MSGTR_Ok,hbuttonbox1 ); gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); gtk_signal_connect( GTK_OBJECT( Equalizer ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Equalizer ); gtk_signal_connect( GTK_OBJECT( Equalizer ),"focus_in_event",GTK_SIGNAL_FUNC( eqFocus ),(void *)2 ); gtk_signal_connect( GTK_OBJECT( ChannelsList ),"select_row",GTK_SIGNAL_FUNC( eqSelectChannelsListRow ),NULL ); gtk_signal_connect( GTK_OBJECT( A3125 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)0 ); gtk_signal_connect( GTK_OBJECT( A6250 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)1 ); gtk_signal_connect( GTK_OBJECT( A125 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)2 ); gtk_signal_connect( GTK_OBJECT( A250 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)3 ); gtk_signal_connect( GTK_OBJECT( A500 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)4 ); gtk_signal_connect( GTK_OBJECT( A1000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)5 ); gtk_signal_connect( GTK_OBJECT( A2000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)6 ); gtk_signal_connect( GTK_OBJECT( A4000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)7 ); gtk_signal_connect( GTK_OBJECT( A8000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)8 ); gtk_signal_connect( GTK_OBJECT( A16000 ),"motion_notify_event",GTK_SIGNAL_FUNC( eqHScaleMotion ),(void*)9 ); gtk_signal_connect( GTK_OBJECT( VContrast ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)1 ); gtk_signal_connect( GTK_OBJECT( VBrightness ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)2 ); gtk_signal_connect( GTK_OBJECT( VHue ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void*)3 ); gtk_signal_connect( GTK_OBJECT( VSaturation ),"motion_notify_event",GTK_SIGNAL_FUNC( eqVScaleMotion ),(void *)4 ); gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)0 ); gtk_signal_connect( GTK_OBJECT( Clear ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)1 ); gtk_signal_connect( GTK_OBJECT( Config ),"clicked",GTK_SIGNAL_FUNC( eqButtonReleased ),(void *)2 ); gtk_signal_connect( GTK_OBJECT( Notebook ),"switch_page",GTK_SIGNAL_FUNC( eqNotebook ),NULL ); gtk_window_add_accel_group( GTK_WINDOW( Equalizer ),accel_group ); return Equalizer;}// --- equalizer config dialog boxstatic GtkWidget * CBChannel1;static GtkWidget * CEChannel1;static GtkWidget * CBChannel2;static GtkWidget * CEChannel2;static GtkWidget * CBChannel3;static GtkWidget * CEChannel3;static GtkWidget * CBChannel4;static GtkWidget * CEChannel4;static GtkWidget * CBChannel5;static GtkWidget * CEChannel5;static GtkWidget * CBChannel6;static GtkWidget * CEChannel6;static GtkWidget * ecOk;static GtkWidget * ecCancel;GtkWidget * create_EquConfig( void );void ShowEquConfig( void ){ GList * Items = NULL; if ( EquConfig ) gtkActive( EquConfig ); else EquConfig=create_EquConfig(); Items=g_list_append( Items,(gpointer)MSGTR_EQU_Front_Right ); Items=g_list_append( Items,(gpointer)MSGTR_EQU_Front_Left ); Items=g_list_append( Items,(gpointer)MSGTR_EQU_Back_Right ); Items=g_list_append( Items,(gpointer)MSGTR_EQU_Back_Left ); Items=g_list_append( Items,(gpointer)MSGTR_EQU_Center ); Items=g_list_append( Items,(gpointer)MSGTR_EQU_Bass ); gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel1 ),Items ); gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel2 ),Items ); gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel3 ),Items ); gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel4 ),Items ); gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel5 ),Items ); gtk_combo_set_popdown_strings( GTK_COMBO( CBChannel6 ),Items ); g_list_free( Items ); gtk_entry_set_text( GTK_ENTRY( CEChannel1 ),gtkEquChannel1 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel1 ),FALSE ); gtk_entry_set_text( GTK_ENTRY( CEChannel2 ),gtkEquChannel2 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel2 ),FALSE ); gtk_entry_set_text( GTK_ENTRY( CEChannel3 ),gtkEquChannel3 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel3 ),FALSE ); gtk_entry_set_text( GTK_ENTRY( CEChannel4 ),gtkEquChannel4 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel4 ),FALSE ); gtk_entry_set_text( GTK_ENTRY( CEChannel5 ),gtkEquChannel5 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel5 ),FALSE ); gtk_entry_set_text( GTK_ENTRY( CEChannel6 ),gtkEquChannel6 ); gtk_entry_set_editable( GTK_ENTRY( CEChannel6 ),FALSE ); gtk_widget_show( EquConfig ); gtkSetLayer( EquConfig );}void HideEquConfig( void ){ if ( !EquConfig ) return; gtk_widget_hide( EquConfig ); gtk_widget_destroy( EquConfig ); EquConfig=NULL;}static void ecButtonReleased( GtkButton * button,gpointer user_data ){ if ( (int)user_data ) { // if you pressed Ok gfree( (void **)>kEquChannel1 ); gtkEquChannel1=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel1 ) ) ); gfree( (void **)>kEquChannel2 ); gtkEquChannel2=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel2 ) ) ); gfree( (void **)>kEquChannel3 ); gtkEquChannel3=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel3 ) ) ); gfree( (void **)>kEquChannel4 ); gtkEquChannel4=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel4 ) ) ); gfree( (void **)>kEquChannel5 ); gtkEquChannel5=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel5 ) ) ); gfree( (void **)>kEquChannel6 ); gtkEquChannel6=gstrdup( gtk_entry_get_text( GTK_ENTRY( CEChannel6 ) ) ); eqSetChannelNames(); } HideEquConfig();}GtkWidget * create_EquConfig( void ){ GtkWidget * vbox1; GtkWidget * table1; GtkWidget * hbuttonbox1; GtkAccelGroup * accel_group; accel_group=gtk_accel_group_new(); EquConfig=gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_widget_set_name( EquConfig,"EquConfig" ); gtk_object_set_data( GTK_OBJECT( EquConfig ),"EquConfig",EquConfig ); gtk_widget_set_usize( EquConfig,350,260 ); GTK_WIDGET_SET_FLAGS( EquConfig,GTK_CAN_DEFAULT ); gtk_window_set_title( GTK_WINDOW( EquConfig ),MSGTR_ConfigureEqualizer ); gtk_window_set_position( GTK_WINDOW( EquConfig ),GTK_WIN_POS_CENTER );// gtk_window_set_modal( GTK_WINDOW( EquConfig ),TRUE ); gtk_window_set_policy( GTK_WINDOW( EquConfig ),FALSE,FALSE,FALSE ); gtk_window_set_wmclass( GTK_WINDOW( EquConfig ),"EquConfig","MPlayer" ); gtk_widget_realize( EquConfig ); gtkAddIcon( EquConfig ); vbox1=AddVBox( AddDialogFrame( EquConfig ),0 ); table1=gtk_table_new( 6,2,FALSE ); gtk_widget_set_name( table1,"table1" ); gtk_widget_show( table1 ); gtk_box_pack_start( GTK_BOX( vbox1 ),table1,TRUE,TRUE,0 ); gtk_table_set_row_spacings( GTK_TABLE( table1 ),4 ); gtk_table_set_col_spacings( GTK_TABLE( table1 ),4 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Channel1,NULL ), 0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Channel2,NULL ), 0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Channel3,NULL ), 0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Channel4,NULL ), 0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Channel5,NULL ), 0,1,4,5,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); gtk_table_attach( GTK_TABLE( table1 ), AddLabel( MSGTR_EQU_Channel6,NULL ), 0,1,5,6,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); CBChannel1=AddComboBox( NULL ); gtk_table_attach( GTK_TABLE( table1 ),CBChannel1,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); CEChannel1=GTK_COMBO( CBChannel1 )->entry; gtk_widget_set_name( CEChannel1,"CEChannel1" ); gtk_widget_show( CEChannel1 ); CBChannel2=AddComboBox( NULL ); gtk_table_attach( GTK_TABLE( table1 ),CBChannel2,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); CEChannel2=GTK_COMBO( CBChannel2 )->entry; gtk_widget_set_name( CEChannel2,"CEChannel2" ); gtk_widget_show( CEChannel2 ); CBChannel3=AddComboBox( NULL ); gtk_table_attach( GTK_TABLE( table1 ),CBChannel3,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); CEChannel3=GTK_COMBO( CBChannel3 )->entry; gtk_widget_set_name( CEChannel3,"CEChannel3" ); gtk_widget_show( CEChannel3 ); CBChannel4=AddComboBox( NULL ); gtk_table_attach( GTK_TABLE( table1 ),CBChannel4,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); CEChannel4=GTK_COMBO( CBChannel4 )->entry; gtk_widget_set_name( CEChannel4,"CEChannel4" ); gtk_widget_show( CEChannel4 ); CBChannel5=AddComboBox( NULL ); gtk_table_attach( GTK_TABLE( table1 ),CBChannel5,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); CEChannel5=GTK_COMBO( CBChannel5 )->entry; gtk_widget_set_name( CEChannel5,"CEChannel5" ); gtk_widget_show( CEChannel5 ); CBChannel6=AddComboBox( NULL ); gtk_table_attach( GTK_TABLE( table1 ),CBChannel6,1,2,5,6,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); CEChannel6=GTK_COMBO( CBChannel6 )->entry; gtk_widget_set_name( CEChannel6,"CEChannel6" ); gtk_widget_show( CEChannel6 ); AddHSeparator( vbox1 ); hbuttonbox1=AddHButtonBox( vbox1 ); gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); ecOk=AddButton( MSGTR_Ok,hbuttonbox1 ); ecCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); gtk_widget_add_accelerator( ecOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); gtk_widget_add_accelerator( ecCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); gtk_signal_connect( GTK_OBJECT( EquConfig ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&EquConfig ); gtk_signal_connect( GTK_OBJECT( ecOk ),"clicked",GTK_SIGNAL_FUNC( ecButtonReleased ),(void *)1 ); gtk_signal_connect( GTK_OBJECT( ecCancel ),"clicked",GTK_SIGNAL_FUNC( ecButtonReleased ),(void *)0 ); gtk_window_add_accel_group( GTK_WINDOW( EquConfig ),accel_group ); return EquConfig;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -