diff options
author | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-19 16:55:32 +0000 |
---|---|---|
committer | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-19 16:55:32 +0000 |
commit | 44d4752274c6b19492c0556207a8f8a1014d953d (patch) | |
tree | 9be0d7b592644790ff386592dbf9f3cf8c3f8233 /Gui | |
parent | 4854fe36aed765bcabaed844575cb7cbbd21c08c (diff) | |
download | mpv-44d4752274c6b19492c0556207a8f8a1014d953d.tar.bz2 mpv-44d4752274c6b19492c0556207a8f8a1014d953d.tar.xz |
better dvd support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3619 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui')
-rw-r--r-- | Gui/mplayer/gtk/menu.c | 2 | ||||
-rw-r--r-- | Gui/mplayer/mw.h | 50 | ||||
-rw-r--r-- | Gui/mplayer/play.h | 1 |
3 files changed, 37 insertions, 16 deletions
diff --git a/Gui/mplayer/gtk/menu.c b/Gui/mplayer/gtk/menu.c index 97308a9a47..82688d0013 100644 --- a/Gui/mplayer/gtk/menu.c +++ b/Gui/mplayer/gtk/menu.c @@ -13,7 +13,7 @@ void ActivateMenuItem( int Item ) { -// fprintf( stderr,"[menu] item: %d\n",Item ); +// fprintf( stderr,"[menu] item: %d.%d\n",Item&0xffff,Item>>16 ); gtkShMem->popupmenu=Item & 0x0000ffff; gtkShMem->popupmenuparam=Item >> 16; gtkShMem->visiblepopupmenu=0; diff --git a/Gui/mplayer/mw.h b/Gui/mplayer/mw.h index 28d33506ee..f161b40bd7 100644 --- a/Gui/mplayer/mw.h +++ b/Gui/mplayer/mw.h @@ -197,6 +197,8 @@ drawrenderedtext: #define IZE(x) printf("@@@ " x " @@@\n"); extern void exit_player(char* how); +extern int audio_id; +extern int dvdsub_id; void mplMsgHandle( int msg,float param ) { @@ -212,16 +214,19 @@ void mplMsgHandle( int msg,float param ) #ifdef USE_DVDREAD case evPlayDVD: + dvd_title=1; + dvd_chapter=1; + dvd_angle=1; +play_dvd_2: mplShMem->StreamType=STREAMTYPE_DVD; #endif - case evPlay: case evPlaySwitchToPause: btnModify( evPlaySwitchToPause,btnDisabled ); btnModify( evPauseSwitchToPlay,btnReleased ); if ( ( msg == evPlaySwitchToPause )&( mplShMem->Playing == 1 ) ) goto NoPause; mplMainRender=1; - + switch ( mplShMem->StreamType ) { case STREAMTYPE_STREAM: @@ -231,9 +236,6 @@ void mplMsgHandle( int msg,float param ) break; #ifdef USE_DVDREAD case STREAMTYPE_DVD: - dvd_title=1; - dvd_chapter=1; - dvd_angle=1; strcpy( mplShMem->Filename,"/dev/dvd" ); break; #endif @@ -241,30 +243,48 @@ void mplMsgHandle( int msg,float param ) mplPlay(); break; case evSetDVDSubtitle: +#ifdef USE_DVDREAD + dvdsub_id=(int)param; + dvd_title=mplShMem->DVD.current_title; + dvd_angle=mplShMem->DVD.current_angle; + dvd_chapter=mplShMem->DVD.current_chapter; + mplShMem->DVDChanged=1; + goto play_dvd_2; +#endif break; case evSetDVDAudio: +#ifdef USE_DVDREAD + audio_id=(int)param; + dvd_title=mplShMem->DVD.current_title; + dvd_angle=mplShMem->DVD.current_angle; + dvd_chapter=mplShMem->DVD.current_chapter; + mplShMem->DVDChanged=1; + goto play_dvd_2; +#endif break; case evSetDVDChapter: - mplStop(); - dvd_title=mplShMem->DVD.current_title - 1; - dvd_angle=mplShMem->DVD.current_angle - 1; +#ifdef USE_DVDREAD + dvd_title=mplShMem->DVD.current_title; + dvd_angle=mplShMem->DVD.current_angle; dvd_chapter=(int)param; - strcpy( mplShMem->Filename,"/dev/dvd" ); - mplPlay(); + mplShMem->DVDChanged=1; + goto play_dvd_2; +#endif break; case evSetDVDTitle: - mplStop(); +#ifdef USE_DVDREAD dvd_title=(int)param; dvd_chapter=1; dvd_angle=1; - strcpy( mplShMem->Filename,"/dev/dvd" ); - mplPlay(); + mplShMem->DVDChanged=1; + goto play_dvd_2; +#endif break; case evPause: case evPauseSwitchToPlay: - btnModify( evPlaySwitchToPause,btnReleased ); - btnModify( evPauseSwitchToPlay,btnDisabled ); +// btnModify( evPlaySwitchToPause,btnReleased ); +// btnModify( evPauseSwitchToPlay,btnDisabled ); NoPause: mplMainRender=1; mplPause(); diff --git a/Gui/mplayer/play.h b/Gui/mplayer/play.h index b882eee526..07e72019a2 100644 --- a/Gui/mplayer/play.h +++ b/Gui/mplayer/play.h @@ -58,6 +58,7 @@ typedef struct mplUnknowErrorStruct error; #ifdef USE_DVDREAD mplDVDStruct DVD; + int DVDChanged; #endif int Playing; |