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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
1
4845
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
2 #include <inttypes.h>
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
3 #include <stdlib.h>
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
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
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
6
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
7 #include "ws.h"
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
8 #include "mplayer/play.h"
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
9 #include "interface.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
10
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
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
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
16 #include "../input/input.h"
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
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
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
34
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
35 int guiCMDArray[] =
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
36 {
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
37 evLoad,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
38 evLoadSubtitle,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
39 evAbout,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
40 evPlay,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
41 evStop,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
42 evPlayList,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
43 evPreferences,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
44 evFullScreen,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
45 evSkinBrowser
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
46 };
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
47
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
48 void guiGetEvent( int type,char * arg )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
49 {
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
50 dvd_priv_t * dvdp = (dvd_priv_t *) arg;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
51 switch ( type )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
52 {
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
53 case guiXEvent:
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
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
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
57 case guiCEvent:
4963
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
58 switch ( (int)arg )
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
59 {
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
60 case guiSetPlay: guiIntfStruct.Playing=1; mplState(); break;
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
61 case guiSetStop: guiIntfStruct.Playing=0; mplState(); break;
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
62 case guiSetPause: guiIntfStruct.Playing=2; mplState(); break;
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
63 }
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
64 break;
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
65 case guiSetState:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
66 mplState();
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
67 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
68 case guiSetFileName:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
69 if ( arg ) guiSetFilename( guiIntfStruct.Filename,arg );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
70 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
71 #ifdef USE_DVDREAD
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
72 case guiSetDVD:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
73 guiIntfStruct.DVD.titles=dvdp->vmg_file->tt_srpt->nr_of_srpts;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
74 guiIntfStruct.DVD.chapters=dvdp->vmg_file->tt_srpt->title[dvd_title].nr_of_ptts;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
75 guiIntfStruct.DVD.angles=dvdp->vmg_file->tt_srpt->title[dvd_title].nr_of_angles;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
76 guiIntfStruct.DVD.nr_of_audio_channels=dvdp->nr_of_channels;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
77 memcpy( guiIntfStruct.DVD.audio_streams,dvdp->audio_streams,sizeof( dvdp->audio_streams ) );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
78 guiIntfStruct.DVD.nr_of_subtitles=dvdp->nr_of_subtitles;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
79 memcpy( guiIntfStruct.DVD.subtitles,dvdp->subtitles,sizeof( dvdp->subtitles ) );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
80 guiIntfStruct.DVD.current_title=dvd_title + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
81 guiIntfStruct.DVD.current_chapter=dvd_chapter + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
82 guiIntfStruct.DVD.current_angle=dvd_angle + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
83 guiIntfStruct.Track=dvd_title + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
84 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
85 #endif
5120
ce054c1eabdc workaround to compile without new-input support
alex
parents: 4965
diff changeset
86 #ifdef HAVE_NEW_INPUT
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
87 case guiIEvent:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
88 printf( "cmd: %d\n",(int)arg );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
89 switch( (int)arg )
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
90 {
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
91 case MP_CMD_QUIT:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
92 mplEventHandling( evExit,0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
93 break;
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
94 case MP_CMD_VO_FULLSCREEN:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
95 mplEventHandling( evFullScreen,0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
96 break;
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
97 default:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
98 mplEventHandling( guiCMDArray[ (int)arg - MP_CMD_GUI_EVENTS - 1 ],0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
99 }
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
100 break;
5120
ce054c1eabdc workaround to compile without new-input support
alex
parents: 4965
diff changeset
101 #endif
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
102 }
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
103 }
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
104
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
105 void guiEventHandling( void )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
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
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
110 }