comparison gui/ui/gtk/menu.c @ 33657:c92f23eac7a4

Remove guiGetEvent type guiSetDemuxer. Directly retrieve the information from the mpcontext.
author ib
date Mon, 27 Jun 2011 19:14:45 +0000
parents cbb7cfeb8c71
children 998f94e62a61
comparison
equal deleted inserted replaced
33656:3c300c37766f 33657:c92f23eac7a4
409 GtkWidget * window1; 409 GtkWidget * window1;
410 GtkWidget * Menu = NULL; 410 GtkWidget * Menu = NULL;
411 GtkWidget * SubMenu = NULL; 411 GtkWidget * SubMenu = NULL;
412 GtkWidget * MenuItem = NULL; 412 GtkWidget * MenuItem = NULL;
413 GtkWidget * H, * N, * D, * F; 413 GtkWidget * H, * N, * D, * F;
414 demuxer_t *demuxer = mpctx_get_demuxer(guiInfo.mpcontext);
414 mixer_t *mixer = mpctx_get_mixer(guiInfo.mpcontext); 415 mixer_t *mixer = mpctx_get_mixer(guiInfo.mpcontext);
415 int global_sub_size = mpctx_get_global_sub_size(guiInfo.mpcontext); 416 int global_sub_size = mpctx_get_global_sub_size(guiInfo.mpcontext);
416 417
417 Menu=gtk_menu_new(); 418 Menu=gtk_menu_new();
418 gtk_widget_realize (Menu); 419 gtk_widget_realize (Menu);
508 gtk_widget_set_sensitive( MenuItem,FALSE ); 509 gtk_widget_set_sensitive( MenuItem,FALSE );
509 } 510 }
510 DVDAudioLanguageMenu=AddSubMenu( window1, (const char*)audiolang_xpm, DVDSubMenu,MSGTR_MENU_AudioLanguages ); 511 DVDAudioLanguageMenu=AddSubMenu( window1, (const char*)audiolang_xpm, DVDSubMenu,MSGTR_MENU_AudioLanguages );
511 if ( guiInfo.DVD.nr_of_audio_channels ) 512 if ( guiInfo.DVD.nr_of_audio_channels )
512 { 513 {
513 char tmp[64]; int i, id = guiInfo.demuxer ? ((demuxer_t *)guiInfo.demuxer)->audio->id : audio_id; 514 char tmp[64]; int i, id = demuxer ? demuxer->audio->id : audio_id;
514 for ( i=0;i < guiInfo.DVD.nr_of_audio_channels;i++ ) 515 for ( i=0;i < guiInfo.DVD.nr_of_audio_channels;i++ )
515 { 516 {
516 snprintf( tmp,64,"%s - %s %s",GetLanguage( guiInfo.DVD.audio_streams[i].language ), 517 snprintf( tmp,64,"%s - %s %s",GetLanguage( guiInfo.DVD.audio_streams[i].language ),
517 ChannelTypes[ guiInfo.DVD.audio_streams[i].type ], 518 ChannelTypes[ guiInfo.DVD.audio_streams[i].type ],
518 ChannelNumbers[ guiInfo.DVD.audio_streams[i].channels ] ); 519 ChannelNumbers[ guiInfo.DVD.audio_streams[i].channels ] );
554 AddMenuItem( window1, (const char*)aspect169_xpm, AspectMenu,"16:9",( 2 << 16 ) + evSetAspect ); 555 AddMenuItem( window1, (const char*)aspect169_xpm, AspectMenu,"16:9",( 2 << 16 ) + evSetAspect );
555 AddMenuItem( window1, (const char*)aspect43_xpm, AspectMenu,"4:3",( 3 << 16 ) + evSetAspect ); 556 AddMenuItem( window1, (const char*)aspect43_xpm, AspectMenu,"4:3",( 3 << 16 ) + evSetAspect );
556 AddMenuItem( window1, (const char*)aspect235_xpm, AspectMenu,"2.35",( 4 << 16 ) + evSetAspect ); 557 AddMenuItem( window1, (const char*)aspect235_xpm, AspectMenu,"2.35",( 4 << 16 ) + evSetAspect );
557 } 558 }
558 559
559 if ( guiInfo.Playing && guiInfo.demuxer && guiInfo.StreamType != STREAMTYPE_DVD ) 560 if ( guiInfo.Playing && demuxer && guiInfo.StreamType != STREAMTYPE_DVD )
560 { 561 {
561 int i,c = 0; 562 int i,c = 0;
562 563
563 for ( i=0;i < MAX_A_STREAMS;i++ ) 564 for ( i=0;i < MAX_A_STREAMS;i++ )
564 if ( ((demuxer_t *)guiInfo.demuxer)->a_streams[i] ) c++; 565 if ( demuxer->a_streams[i] ) c++;
565 566
566 if ( c > 1 ) 567 if ( c > 1 )
567 { 568 {
568 SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_AudioTrack ); 569 SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_AudioTrack );
569 for ( i=0;i < MAX_A_STREAMS;i++ ) 570 for ( i=0;i < MAX_A_STREAMS;i++ )
570 if ( ((demuxer_t *)guiInfo.demuxer)->a_streams[i] ) 571 if ( demuxer->a_streams[i] )
571 { 572 {
572 int aid = ((sh_audio_t *)((demuxer_t *)guiInfo.demuxer)->a_streams[i])->aid; 573 int aid = ((sh_audio_t *)demuxer->a_streams[i])->aid;
573 char tmp[32]; 574 char tmp[32];
574 snprintf( tmp,32,MSGTR_MENU_Track,aid ); 575 snprintf( tmp,32,MSGTR_MENU_Track,aid );
575 AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( aid << 16 ) + evSetAudio ); 576 AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( aid << 16 ) + evSetAudio );
576 } 577 }
577 } 578 }
578 579
579 for ( c=0,i=0;i < MAX_V_STREAMS;i++ ) 580 for ( c=0,i=0;i < MAX_V_STREAMS;i++ )
580 if ( ((demuxer_t *)guiInfo.demuxer)->v_streams[i] ) c++; 581 if ( demuxer->v_streams[i] ) c++;
581 582
582 if ( c > 1 ) 583 if ( c > 1 )
583 { 584 {
584 SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_VideoTrack ); 585 SubMenu=AddSubMenu( window1, (const char*)empty_xpm, Menu,MSGTR_MENU_VideoTrack );
585 for ( i=0;i < MAX_V_STREAMS;i++ ) 586 for ( i=0;i < MAX_V_STREAMS;i++ )
586 if ( ((demuxer_t *)guiInfo.demuxer)->v_streams[i] ) 587 if ( demuxer->v_streams[i] )
587 { 588 {
588 int vid = ((sh_video_t *)((demuxer_t *)guiInfo.demuxer)->v_streams[i])->vid; 589 int vid = ((sh_video_t *)demuxer->v_streams[i])->vid;
589 char tmp[32]; 590 char tmp[32];
590 snprintf( tmp,32,MSGTR_MENU_Track,vid ); 591 snprintf( tmp,32,MSGTR_MENU_Track,vid );
591 AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( vid << 16 ) + evSetVideo ); 592 AddMenuItem( window1, (const char*)empty_xpm, SubMenu,tmp,( vid << 16 ) + evSetVideo );
592 } 593 }
593 } 594 }