Mercurial > mplayer.hg
annotate Gui/interface.c @ 5665:3e7f39c4110c
fix dvd playing under gui
author | pontscho |
---|---|
date | Wed, 17 Apr 2002 21:12:12 +0000 |
parents | ce054c1eabdc |
children | 1f8b34f1e7c0 |
rev | line source |
---|---|
4798 | 1 |
4845 | 2 #include <inttypes.h> |
3 #include <stdlib.h> | |
4 #include <stdio.h> | |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
5 #include <string.h> |
4798 | 6 |
7 #include "ws.h" | |
8 #include "mplayer/play.h" | |
9 #include "interface.h" | |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
10 |
4798 | 11 #include "../mplayer.h" |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
12 #include "mplayer/widgets.h" |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
13 #include "mplayer/mplayer.h" |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
14 #include "app.h" |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
15 #include "../libvo/x11_common.h" |
4858 | 16 #include "../input/input.h" |
5665 | 17 #include "../libmpdemux/stream.h" |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
18 |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
19 guiInterface_t guiIntfStruct; |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
20 |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
21 void guiInit( int argc,char* argv[], char *envp[] ) |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
22 { |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
23 memset( &guiIntfStruct,0,sizeof( guiIntfStruct ) ); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
24 appInit( argc,argv,envp,(void*)mDisplay ); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
25 } |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
26 |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
27 void guiDone( void ) |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
28 { |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
29 mp_msg( MSGT_GPLAYER,MSGL_V,"[mplayer] exit.\n" ); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
30 mplStop(); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
31 gtkDone(); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
32 wsXDone(); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
33 } |
4798 | 34 |
4858 | 35 int guiCMDArray[] = |
36 { | |
37 evLoad, | |
38 evLoadSubtitle, | |
39 evAbout, | |
40 evPlay, | |
41 evStop, | |
42 evPlayList, | |
43 evPreferences, | |
44 evFullScreen, | |
45 evSkinBrowser | |
46 }; | |
47 | |
4798 | 48 void guiGetEvent( int type,char * arg ) |
49 { | |
5665 | 50 dvd_priv_t * dvdp = (dvd_priv_t *) arg; |
4798 | 51 switch ( type ) |
52 { | |
53 case guiXEvent: | |
54 wsEvents( wsDisplay,(XEvent *)arg,NULL ); | |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
55 gtkEventHandling(); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
56 break; |
4798 | 57 case guiCEvent: |
4963 | 58 switch ( (int)arg ) |
59 { | |
60 case guiSetPlay: guiIntfStruct.Playing=1; mplState(); break; | |
61 case guiSetStop: guiIntfStruct.Playing=0; mplState(); break; | |
62 case guiSetPause: guiIntfStruct.Playing=2; mplState(); break; | |
63 } | |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
64 break; |
5665 | 65 case guiSetState: |
66 mplState(); | |
67 break; | |
68 case guiSetFileName: | |
69 if ( arg ) guiSetFilename( guiIntfStruct.Filename,arg ); | |
70 break; | |
71 #ifdef USE_DVDREAD | |
72 case guiSetDVD: | |
73 guiIntfStruct.DVD.titles=dvdp->vmg_file->tt_srpt->nr_of_srpts; | |
74 guiIntfStruct.DVD.chapters=dvdp->vmg_file->tt_srpt->title[dvd_title].nr_of_ptts; | |
75 guiIntfStruct.DVD.angles=dvdp->vmg_file->tt_srpt->title[dvd_title].nr_of_angles; | |
76 guiIntfStruct.DVD.nr_of_audio_channels=dvdp->nr_of_channels; | |
77 memcpy( guiIntfStruct.DVD.audio_streams,dvdp->audio_streams,sizeof( dvdp->audio_streams ) ); | |
78 guiIntfStruct.DVD.nr_of_subtitles=dvdp->nr_of_subtitles; | |
79 memcpy( guiIntfStruct.DVD.subtitles,dvdp->subtitles,sizeof( dvdp->subtitles ) ); | |
80 guiIntfStruct.DVD.current_title=dvd_title + 1; | |
81 guiIntfStruct.DVD.current_chapter=dvd_chapter + 1; | |
82 guiIntfStruct.DVD.current_angle=dvd_angle + 1; | |
83 guiIntfStruct.Track=dvd_title + 1; | |
84 break; | |
85 #endif | |
5120 | 86 #ifdef HAVE_NEW_INPUT |
4858 | 87 case guiIEvent: |
88 printf( "cmd: %d\n",(int)arg ); | |
89 switch( (int)arg ) | |
90 { | |
91 case MP_CMD_QUIT: | |
92 mplEventHandling( evExit,0 ); | |
93 break; | |
94 case MP_CMD_VO_FULLSCREEN: | |
95 mplEventHandling( evFullScreen,0 ); | |
96 break; | |
97 default: | |
98 mplEventHandling( guiCMDArray[ (int)arg - MP_CMD_GUI_EVENTS - 1 ],0 ); | |
99 } | |
100 break; | |
5120 | 101 #endif |
4798 | 102 } |
103 } | |
104 | |
105 void guiEventHandling( void ) | |
106 { | |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
107 if ( use_gui && !guiIntfStruct.Playing ) wsHandleEvents(); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
108 gtkEventHandling(); |
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4798
diff
changeset
|
109 mplTimerHandler(); // handle GUI timer events |
4798 | 110 } |