annotate Gui/mplayer/mw.c @ 22478:3501ae650b23

Add alternative way to create command.c to svn history, created by Rathann. Having this in the repository history probably won't have much more than symbolic value but shouldn't hurt either beyond bloating history size.
author uau
date Fri, 09 Mar 2007 12:30:14 +0000
parents a7e5b99ac083
children 8c2056711a2a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
1
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
2 // main window
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
3
8055
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
4 #include <stdlib.h>
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
5 #include <stdio.h>
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
6 #include <inttypes.h>
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
7 #include <sys/stat.h>
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
8 #include <unistd.h>
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
9
17144
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
10 #include "app.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
11 #include "skin/font.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
12 #include "skin/skin.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
13 #include "wm/ws.h"
8055
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
14
17144
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
15 #include "../config.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
16 #include "../help_mp.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
17 #include "../libvo/x11_common.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
18 #include "../libvo/fastmemcpy.h"
8055
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
19
19271
64d82a45a05d introduce new 'stream' directory for all stream layer related components and split them from libmpdemux
ben
parents: 19104
diff changeset
20 #include "../stream/stream.h"
17144
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
21 #include "../mixer.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
22 #include "../libvo/sub.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
23 #include "../mplayer.h"
22286
a7e5b99ac083 Fix GUI compilation
uau
parents: 21161
diff changeset
24 #include "../access_mpcontext.h"
2447
3248aabc6d1d add vcd,dvd,etcsymbol handling
pontscho
parents: 2045
diff changeset
25
17144
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
26 #include "../libmpdemux/demuxer.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
27 #include "../libmpdemux/stheader.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 17087
diff changeset
28 #include "../codec-cfg.h"
18185
34cc93e9848f simpler and better subtitles switching, patch by Stanislav Maslovski <stanislav P maslovski A gmail P com>
gpoirier
parents: 18118
diff changeset
29 #include "../m_option.h"
34cc93e9848f simpler and better subtitles switching, patch by Stanislav Maslovski <stanislav P maslovski A gmail P com>
gpoirier
parents: 18118
diff changeset
30 #include "../m_property.h"
8305
4c23944315d6 - add R¸«ädiger Kuhlmann's <mplayer-list-UGa6JdjLujS2@ruediger-kuhlmann.de> patch
pontscho
parents: 8302
diff changeset
31
13672
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
32 #define GUI_REDRAW_WAIT 375
8305
4c23944315d6 - add R¸«ädiger Kuhlmann's <mplayer-list-UGa6JdjLujS2@ruediger-kuhlmann.de> patch
pontscho
parents: 8302
diff changeset
33
8055
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
34 #include "play.h"
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
35 #include "widgets.h"
79ddb7291765 not needed
pontscho
parents: 8048
diff changeset
36
8043
e5dda05f9aab cleanup
pontscho
parents: 8039
diff changeset
37 extern unsigned int GetTimerMS( void );
e5dda05f9aab cleanup
pontscho
parents: 8039
diff changeset
38
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
39 unsigned char * mplDrawBuffer = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
40 int mplMainRender = 1;
2940
1902b7ff9cdc middle menu is working
pontscho
parents: 2902
diff changeset
41
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
42 int mplMainAutoPlay = 0;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
43 int mplMiddleMenu = 0;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
44
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
45 int mainVisible = 1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
46
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
47 int boxMoved = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
48 int sx = 0,sy = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
49 int i,pot = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
50
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
51 #include "common.h"
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
52
8058
9246adcf95f0 cosmetic
pontscho
parents: 8055
diff changeset
53 void mplMainDraw( void )
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
54 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
55
6043
421781c5b128 fix some small bug and -rootwin
pontscho
parents: 5919
diff changeset
56 if ( appMPlayer.mainWindow.State == wsWindowClosed ) exit_player( MSGTR_Exit_quit );
421781c5b128 fix some small bug and -rootwin
pontscho
parents: 5919
diff changeset
57
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
58 if ( appMPlayer.mainWindow.Visible == wsWindowNotVisible ||
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
59 !mainVisible ) return;
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
60 // !appMPlayer.mainWindow.Mapped ) return;
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
61
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
62 if ( mplMainRender && appMPlayer.mainWindow.State == wsWindowExpose )
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
63 {
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
64 btnModify( evSetMoviePosition,guiIntfStruct.Position );
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
65 btnModify( evSetVolume,guiIntfStruct.Volume );
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
66
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
67 memcpy( mplDrawBuffer,appMPlayer.main.Bitmap.Image,appMPlayer.main.Bitmap.ImageSize );
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
68 Render( &appMPlayer.mainWindow,appMPlayer.Items,appMPlayer.NumberOfItems,mplDrawBuffer,appMPlayer.main.Bitmap.ImageSize );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
69 mplMainRender=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
70 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
71 wsPutImage( &appMPlayer.mainWindow );
2854
fd44ecf77f8d move bug meg fileload bug fixed asszem.
pontscho
parents: 2851
diff changeset
72 // XFlush( wsDisplay );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
73 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
74
19104
2ec2301183cd marks several read-only string parameters which aren't modified inside the called function as const. Patch by Stefan Huehner, stefan AT huehner-org
reynaldo
parents: 18976
diff changeset
75 extern void exit_player(const char* how);
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
76 extern int vcd_track;
13672
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
77 static unsigned last_redraw_time = 0;
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
78
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
79 void mplEventHandling( int msg,float param )
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
80 {
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
81 int iparam = (int)param;
22286
a7e5b99ac083 Fix GUI compilation
uau
parents: 21161
diff changeset
82 mixer_t *mixer = mpctx_get_mixer(guiIntfStruct.mpcontext);
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
83
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
84 switch( msg )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
85 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
86 // --- user events
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
87 case evExit:
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
88 exit_player( "Exit" );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
89 break;
2994
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
90
6298
d42cb911d7f7 add network streaming support for gui
pontscho
parents: 6280
diff changeset
91 case evPlayNetwork:
9040
2a0619fd84f0 - add new entry's to hungarian skin howto (please Gabu translate)
pontscho
parents: 8975
diff changeset
92 gfree( (void **)&guiIntfStruct.Subtitlename );
2a0619fd84f0 - add new entry's to hungarian skin howto (please Gabu translate)
pontscho
parents: 8975
diff changeset
93 gfree( (void **)&guiIntfStruct.AudioFile );
6298
d42cb911d7f7 add network streaming support for gui
pontscho
parents: 6280
diff changeset
94 guiIntfStruct.StreamType=STREAMTYPE_STREAM;
d42cb911d7f7 add network streaming support for gui
pontscho
parents: 6280
diff changeset
95 goto play;
d42cb911d7f7 add network streaming support for gui
pontscho
parents: 6280
diff changeset
96 case evSetURL:
d42cb911d7f7 add network streaming support for gui
pontscho
parents: 6280
diff changeset
97 gtkShow( evPlayNetwork,NULL );
d42cb911d7f7 add network streaming support for gui
pontscho
parents: 6280
diff changeset
98 break;
8312
ef8c992672f4 - audio track handling in menu (idea from R¸«ädiger Kuhlmann)
pontscho
parents: 8305
diff changeset
99
ef8c992672f4 - audio track handling in menu (idea from R¸«ädiger Kuhlmann)
pontscho
parents: 8305
diff changeset
100 case evSetAudio:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
101 if ( !guiIntfStruct.demuxer || audio_id == iparam ) break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
102 audio_id=iparam;
8484
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8481
diff changeset
103 goto play;
8380
743fa83d9e2d need this
pontscho
parents: 8312
diff changeset
104
743fa83d9e2d need this
pontscho
parents: 8312
diff changeset
105 case evSetVideo:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
106 if ( !guiIntfStruct.demuxer || video_id == iparam ) break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
107 video_id=iparam;
8484
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8481
diff changeset
108 goto play;
8380
743fa83d9e2d need this
pontscho
parents: 8312
diff changeset
109
18118
f9a939c204ad Adds "cheap" subtitle switching for non-DVD playouts (for ex. OGG or MKV).
gpoirier
parents: 17254
diff changeset
110 case evSetSubtitle:
22286
a7e5b99ac083 Fix GUI compilation
uau
parents: 21161
diff changeset
111 mp_property_do("sub",M_PROPERTY_SET,&iparam,guiIntfStruct.mpcontext);
18185
34cc93e9848f simpler and better subtitles switching, patch by Stanislav Maslovski <stanislav P maslovski A gmail P com>
gpoirier
parents: 18118
diff changeset
112 break;
18118
f9a939c204ad Adds "cheap" subtitle switching for non-DVD playouts (for ex. OGG or MKV).
gpoirier
parents: 17254
diff changeset
113
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
114 #ifdef HAVE_VCD
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
115 case evSetVCDTrack:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
116 guiIntfStruct.Track=iparam;
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
117 case evPlayVCD:
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
118 gtkSet( gtkClearStruct,0,(void *)guiALL );
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
119 guiIntfStruct.StreamType=STREAMTYPE_VCD;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
120 goto play;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
121 #endif
3054
9507f90d8254 add half dvd support for gui
pontscho
parents: 2995
diff changeset
122 #ifdef USE_DVDREAD
2994
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
123 case evPlayDVD:
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5651
diff changeset
124 guiIntfStruct.DVD.current_title=1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5651
diff changeset
125 guiIntfStruct.DVD.current_chapter=1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5651
diff changeset
126 guiIntfStruct.DVD.current_angle=1;
3618
772729dd7b40 better dvd support
pontscho
parents: 3597
diff changeset
127 play_dvd_2:
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
128 gtkSet( gtkClearStruct,0,(void *)(guiALL - guiDVD) );
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
129 guiIntfStruct.StreamType=STREAMTYPE_DVD;
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
130 goto play;
3054
9507f90d8254 add half dvd support for gui
pontscho
parents: 2995
diff changeset
131 #endif
2994
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
132 case evPlay:
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
133 case evPlaySwitchToPause:
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
134 play:
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
135
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
136 if ( ( msg == evPlaySwitchToPause )&&( guiIntfStruct.Playing == 2 ) ) goto NoPause;
3618
772729dd7b40 better dvd support
pontscho
parents: 3597
diff changeset
137
6905
e32d3d0d8998 - fix playlist2dvd bug
pontscho
parents: 6903
diff changeset
138 if ( gtkSet( gtkGetCurrPlItem,0,NULL ) &&( guiIntfStruct.StreamType == STREAMTYPE_FILE ) )
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
139 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
140 plItem * next = gtkSet( gtkGetCurrPlItem,0,NULL );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
141 plLastPlayed=next;
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
142 mplSetFileName( next->path,next->name,STREAMTYPE_FILE );
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
143 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
144
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
145 switch ( guiIntfStruct.StreamType )
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
146 {
6298
d42cb911d7f7 add network streaming support for gui
pontscho
parents: 6280
diff changeset
147 case STREAMTYPE_STREAM:
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
148 case STREAMTYPE_FILE:
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
149 gtkSet( gtkClearStruct,0,(void *)(guiALL - guiFilenames) );
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
150 break;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
151 #ifdef HAVE_VCD
2995
f294650ae03b mondom fixed
pontscho
parents: 2994
diff changeset
152 case STREAMTYPE_VCD:
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
153 gtkSet( gtkClearStruct,0,(void *)(guiALL - guiVCD - guiFilenames) );
8933
bfe1b826cff1 add DVD and CDRom device entry's, and fix two 10l bug
pontscho
parents: 8883
diff changeset
154 if ( !cdrom_device ) cdrom_device=gstrdup( DEFAULT_CDROM_DEVICE );
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
155 mplSetFileName( NULL,cdrom_device,STREAMTYPE_VCD );
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
156 if ( guiIntfStruct.Playing != 2 )
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
157 {
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
158 if ( !guiIntfStruct.Track )
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
159 {
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
160 if ( guiIntfStruct.VCDTracks > 1 ) guiIntfStruct.Track=2;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
161 else guiIntfStruct.Track=1;
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
162 }
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
163 guiIntfStruct.DiskChanged=1;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
164 }
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
165 break;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
166 #endif
3054
9507f90d8254 add half dvd support for gui
pontscho
parents: 2995
diff changeset
167 #ifdef USE_DVDREAD
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
168 case STREAMTYPE_DVD:
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
169 gtkSet( gtkClearStruct,0,(void *)(guiALL - guiDVD - guiFilenames) );
8933
bfe1b826cff1 add DVD and CDRom device entry's, and fix two 10l bug
pontscho
parents: 8883
diff changeset
170 if ( !dvd_device ) dvd_device=gstrdup( DEFAULT_DVD_DEVICE );
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
171 mplSetFileName( NULL,dvd_device,STREAMTYPE_DVD );
5667
fd0a2f189e80 fix dvd pause. 10l
pontscho
parents: 5665
diff changeset
172 if ( guiIntfStruct.Playing != 2 )
fd0a2f189e80 fix dvd pause. 10l
pontscho
parents: 5665
diff changeset
173 {
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
174 guiIntfStruct.Title=guiIntfStruct.DVD.current_title;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
175 guiIntfStruct.Chapter=guiIntfStruct.DVD.current_chapter;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
176 guiIntfStruct.Angle=guiIntfStruct.DVD.current_angle;
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
177 guiIntfStruct.DiskChanged=1;
5667
fd0a2f189e80 fix dvd pause. 10l
pontscho
parents: 5665
diff changeset
178 }
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
179 break;
3054
9507f90d8254 add half dvd support for gui
pontscho
parents: 2995
diff changeset
180 #endif
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
181 }
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
182 guiIntfStruct.NewPlay=1;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
183 mplPlay();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
184 break;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
185 #ifdef USE_DVDREAD
3597
fe1283137353 init title change basz.
pontscho
parents: 3499
diff changeset
186 case evSetDVDSubtitle:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
187 dvdsub_id=iparam;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
188 goto play_dvd_2;
3597
fe1283137353 init title change basz.
pontscho
parents: 3499
diff changeset
189 break;
fe1283137353 init title change basz.
pontscho
parents: 3499
diff changeset
190 case evSetDVDAudio:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
191 audio_id=iparam;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
192 goto play_dvd_2;
3597
fe1283137353 init title change basz.
pontscho
parents: 3499
diff changeset
193 break;
fe1283137353 init title change basz.
pontscho
parents: 3499
diff changeset
194 case evSetDVDChapter:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
195 guiIntfStruct.DVD.current_chapter=iparam;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
196 goto play_dvd_2;
3597
fe1283137353 init title change basz.
pontscho
parents: 3499
diff changeset
197 break;
fe1283137353 init title change basz.
pontscho
parents: 3499
diff changeset
198 case evSetDVDTitle:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
199 guiIntfStruct.DVD.current_title=iparam;
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5651
diff changeset
200 guiIntfStruct.DVD.current_chapter=1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5651
diff changeset
201 guiIntfStruct.DVD.current_angle=1;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
202 goto play_dvd_2;
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
203 break;
3618
772729dd7b40 better dvd support
pontscho
parents: 3597
diff changeset
204 #endif
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
205
2994
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
206 case evPause:
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
207 case evPauseSwitchToPlay:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
208 NoPause:
4963
13262bd21965 small changes
pontscho
parents: 4950
diff changeset
209 mplPause();
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
210 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
211
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
212 case evStop:
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
213 guiIntfStruct.Playing=guiSetStop;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
214 mplState();
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
215 guiIntfStruct.NoWindow=False;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
216 break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
217
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
218 case evLoadPlay:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
219 mplMainAutoPlay=1;
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
220 // guiIntfStruct.StreamType=STREAMTYPE_FILE;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
221 case evLoad:
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
222 gtkSet( gtkDelPl,0,NULL );
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
223 gtkShow( evLoad,NULL );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
224 break;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
225 case evLoadSubtitle: gtkShow( evLoadSubtitle,NULL ); break;
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7150
diff changeset
226 case evDropSubtitle:
35bab6be713b add subtitle dropping support
pontscho
parents: 7150
diff changeset
227 gfree( (void **)&guiIntfStruct.Subtitlename );
35bab6be713b add subtitle dropping support
pontscho
parents: 7150
diff changeset
228 guiLoadSubtitle( NULL );
35bab6be713b add subtitle dropping support
pontscho
parents: 7150
diff changeset
229 break;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
230 case evLoadAudioFile: gtkShow( evLoadAudioFile,NULL ); break;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
231 case evPrev: mplPrev(); break;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
232 case evNext: mplNext(); break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
233
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
234 case evPlayList: gtkShow( evPlayList,NULL ); break;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
235 case evSkinBrowser: gtkShow( evSkinBrowser,skinName ); break;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
236 case evAbout: gtkShow( evAbout,NULL ); break;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
237 case evPreferences: gtkShow( evPreferences,NULL ); break;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
238 case evEqualizer: gtkShow( evEqualizer,NULL ); break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
239
8720
5546fe9dfa06 add fwd/bck 10 min
pontscho
parents: 8484
diff changeset
240 case evForward10min: mplRelSeek( 600 ); break;
5546fe9dfa06 add fwd/bck 10 min
pontscho
parents: 8484
diff changeset
241 case evBackward10min: mplRelSeek( -600 );break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
242 case evForward1min: mplRelSeek( 60 ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
243 case evBackward1min: mplRelSeek( -60 ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
244 case evForward10sec: mplRelSeek( 10 ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
245 case evBackward10sec: mplRelSeek( -10 ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
246 case evSetMoviePosition: mplAbsSeek( param ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
247
1860
c65abbc91c5c fix mwm bug's. faszom (C), and remove mixer.*
pontscho
parents: 1848
diff changeset
248 case evIncVolume: vo_x11_putkey( wsGrayMul ); break;
c65abbc91c5c fix mwm bug's. faszom (C), and remove mixer.*
pontscho
parents: 1848
diff changeset
249 case evDecVolume: vo_x11_putkey( wsGrayDiv ); break;
22286
a7e5b99ac083 Fix GUI compilation
uau
parents: 21161
diff changeset
250 case evMute: mixer_mute( mixer ); break;
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
251
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
252 case evSetVolume:
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
253 guiIntfStruct.Volume=param;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
254 goto set_volume;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
255 case evSetBalance:
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
256 guiIntfStruct.Balance=param;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
257 set_volume:
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
258 {
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
259 float l = guiIntfStruct.Volume * ( ( 100.0 - guiIntfStruct.Balance ) / 50.0 );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
260 float r = guiIntfStruct.Volume * ( ( guiIntfStruct.Balance ) / 50.0 );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
261 if ( l > guiIntfStruct.Volume ) l=guiIntfStruct.Volume;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
262 if ( r > guiIntfStruct.Volume ) r=guiIntfStruct.Volume;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
263 // printf( "!!! v: %.2f b: %.2f -> %.2f x %.2f\n",guiIntfStruct.Volume,guiIntfStruct.Balance,l,r );
22286
a7e5b99ac083 Fix GUI compilation
uau
parents: 21161
diff changeset
264 mixer_setvolume( mixer,l,r );
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
265 }
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
266 if ( osd_level )
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
267 {
18287
292337d09af2 Remove updating of vo_mouse_timer_const from the main loop and also
uau
parents: 18185
diff changeset
268 osd_visible=(GetTimerMS() + 1000) | 1;
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
269 vo_osd_progbar_type=OSD_VOLUME;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
270 vo_osd_progbar_value=( ( guiIntfStruct.Volume ) * 256.0 ) / 100.0;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
271 vo_osd_changed( OSDTYPE_PROGBAR );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
272 }
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
273 break;
1847
773ae4ba43f5 add voluechanged
pontscho
parents: 1845
diff changeset
274
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
275
2994
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
276 case evIconify:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
277 switch ( iparam )
2994
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
278 {
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
279 case 0: wsIconify( appMPlayer.mainWindow ); break;
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
280 case 1: wsIconify( appMPlayer.subWindow ); break;
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
281 }
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
282 break;
14589
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
283 case evHalfSize:
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
284 btnSet( evFullScreen,btnReleased );
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
285 if ( guiIntfStruct.Playing )
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
286 {
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
287 if ( appMPlayer.subWindow.isFullScreen )
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
288 {
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
289 mplFullScreen();
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
290 }
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
291 wsResizeWindow( &appMPlayer.subWindow, guiIntfStruct.MovieWidth / 2, guiIntfStruct.MovieHeight / 2 );
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
292 wsMoveWindow( &appMPlayer.subWindow, 0,
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
293 ( wsMaxX - guiIntfStruct.MovieWidth/2 )/2 + wsOrgX,
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
294 ( wsMaxY - guiIntfStruct.MovieHeight/2 )/2 + wsOrgY );
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
295 }
9635dcba8f29 Add half size entry to the GMPlayer menu.
diego
parents: 14156
diff changeset
296 break;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
297 case evDoubleSize:
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9040
diff changeset
298 btnSet( evFullScreen,btnReleased );
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
299 if ( guiIntfStruct.Playing )
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
300 {
14006
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
301 if ( appMPlayer.subWindow.isFullScreen )
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
302 {
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
303 mplFullScreen();
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
304 }
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
305 wsResizeWindow( &appMPlayer.subWindow, guiIntfStruct.MovieWidth * 2, guiIntfStruct.MovieHeight * 2 );
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
306 wsMoveWindow( &appMPlayer.subWindow, 0,
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
307 ( wsMaxX - guiIntfStruct.MovieWidth*2 )/2 + wsOrgX,
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
308 ( wsMaxY - guiIntfStruct.MovieHeight*2 )/2 + wsOrgY );
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
309 }
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
310 break;
6623
7bc4c6ba9485 add -audiofile support for gui
pontscho
parents: 6619
diff changeset
311 case evNormalSize:
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9040
diff changeset
312 btnSet( evFullScreen,btnReleased );
6623
7bc4c6ba9485 add -audiofile support for gui
pontscho
parents: 6619
diff changeset
313 if ( guiIntfStruct.Playing )
7bc4c6ba9485 add -audiofile support for gui
pontscho
parents: 6619
diff changeset
314 {
14006
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
315 if ( appMPlayer.subWindow.isFullScreen )
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
316 {
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
317 mplFullScreen();
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
318 }
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
319 wsResizeWindow( &appMPlayer.subWindow, guiIntfStruct.MovieWidth, guiIntfStruct.MovieHeight );
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
320 wsMoveWindow( &appMPlayer.subWindow, 0,
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
321 ( wsMaxX - guiIntfStruct.MovieWidth )/2 + wsOrgX,
62aeba62685c Restore normal/double size GUI functionality ( broken since EWMH fs support ).
al
parents: 13672
diff changeset
322 ( wsMaxY - guiIntfStruct.MovieHeight )/2 + wsOrgY );
6623
7bc4c6ba9485 add -audiofile support for gui
pontscho
parents: 6619
diff changeset
323 break;
7bc4c6ba9485 add -audiofile support for gui
pontscho
parents: 6619
diff changeset
324 } else if ( !appMPlayer.subWindow.isFullScreen ) break;
2994
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
325 case evFullScreen:
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9040
diff changeset
326 if ( !guiIntfStruct.Playing && !gtkShowVideoWindow ) break;
4981
bfc652fc7f43 rewrite fullscreen support in some libvo driver
pontscho
parents: 4979
diff changeset
327 mplFullScreen();
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9040
diff changeset
328 if ( appMPlayer.subWindow.isFullScreen ) btnSet( evFullScreen,btnPressed );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9040
diff changeset
329 else btnSet( evFullScreen,btnReleased );
2994
4e30e2c6dcb9 dvd playing bug fixed
pontscho
parents: 2940
diff changeset
330 break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
331
7541
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
332 case evSetAspect:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
333 switch ( iparam )
7541
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
334 {
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
335 case 2: movie_aspect=16.0f / 9.0f; break;
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
336 case 3: movie_aspect=4.0f / 3.0f; break;
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
337 case 4: movie_aspect=2.35; break;
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
338 case 1:
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
339 default: movie_aspect=-1;
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
340 }
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
341 wsClearWindow( appMPlayer.subWindow );
8039
pontscho
parents: 7751
diff changeset
342 #ifdef USE_DVDREAD
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
343 if ( guiIntfStruct.StreamType == STREAMTYPE_DVD || guiIntfStruct.StreamType == STREAMTYPE_VCD ) goto play_dvd_2;
8039
pontscho
parents: 7751
diff changeset
344 else
pontscho
parents: 7751
diff changeset
345 #endif
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8380
diff changeset
346 guiIntfStruct.NewPlay=1;
7541
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
347 break;
f51e76c3882e add aspect changing support
pontscho
parents: 7169
diff changeset
348
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
349 // --- timer events
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
350 case evRedraw:
13672
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
351 {
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
352 unsigned now = GetTimerMS();
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
353 extern int mplPBFade;
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
354 if ((now > last_redraw_time) &&
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
355 (now < last_redraw_time + GUI_REDRAW_WAIT) &&
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
356 !mplPBFade)
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
357 break;
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
358 last_redraw_time = now;
d80a81d6e2d8 Limit Gui redraw rate.
reimar
parents: 12691
diff changeset
359 }
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
360 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
361 wsPostRedisplay( &appMPlayer.mainWindow );
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
362 wsPostRedisplay( &appMPlayer.barWindow );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
363 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
364 // --- system events
6218
8cfddba867b4 fix text render chrash ...
pontscho
parents: 6183
diff changeset
365 #ifdef MP_DEBUG
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
366 case evNone:
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
367 mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[mw] event none received.\n" );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
368 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
369 default:
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
370 mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[mw] unknown event received ( %d,%.2f ).\n",msg,param );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
371 break;
6218
8cfddba867b4 fix text render chrash ...
pontscho
parents: 6183
diff changeset
372 #endif
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
373 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
374 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
375
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
376 #define itPLMButton (itNULL - 1)
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
377 #define itPRMButton (itNULL - 2)
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
378
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
379 void mplMainMouseHandle( int Button,int X,int Y,int RX,int RY )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
380 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
381 static int itemtype = 0;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
382 int i;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
383 wItem * item = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
384 float value = 0.0f;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
385
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
386 static int SelectedItem = -1;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
387 int currentselected = -1;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
388
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
389 for ( i=0;i < appMPlayer.NumberOfItems + 1;i++ )
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
390 if ( ( appMPlayer.Items[i].pressed != btnDisabled )&&
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
391 ( wgIsRect( X,Y,appMPlayer.Items[i].x,appMPlayer.Items[i].y,appMPlayer.Items[i].x+appMPlayer.Items[i].width,appMPlayer.Items[i].y+appMPlayer.Items[i].height ) ) )
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
392 { currentselected=i; break; }
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
393
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
394 switch ( Button )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
395 {
6651
8f49c75a2824 - add icon (nice, but very ugly hakk:)
pontscho
parents: 6627
diff changeset
396 case wsPMMouseButton:
6755
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6713
diff changeset
397 gtkShow( evHidePopUpMenu,NULL );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
398 mplShowMenu( RX,RY );
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
399 itemtype=itPRMButton;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
400 break;
6651
8f49c75a2824 - add icon (nice, but very ugly hakk:)
pontscho
parents: 6627
diff changeset
401 case wsRMMouseButton:
5919
60cf2bca993f some bug fix
pontscho
parents: 5689
diff changeset
402 mplHideMenu( RX,RY,0 );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
403 break;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
404
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
405 case wsPLMouseButton:
6755
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6713
diff changeset
406 gtkShow( evHidePopUpMenu,NULL );
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
407 sx=X; sy=Y; boxMoved=1; itemtype=itPLMButton;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
408 SelectedItem=currentselected;
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
409 if ( SelectedItem == -1 ) break;
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
410 boxMoved=0;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
411 item=&appMPlayer.Items[SelectedItem];
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
412 itemtype=item->type;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
413 item->pressed=btnPressed;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
414 switch( item->type )
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
415 {
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
416 case itButton:
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
417 if ( ( SelectedItem > -1 ) &&
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
418 ( ( ( item->msg == evPlaySwitchToPause && item->msg == evPauseSwitchToPlay ) ) ||
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
419 ( ( item->msg == evPauseSwitchToPlay && item->msg == evPlaySwitchToPause ) ) ) )
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
420 { item->pressed=btnDisabled; }
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
421 break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
422 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
423 break;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
424 case wsRLMouseButton:
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
425 boxMoved=0;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
426 item=&appMPlayer.Items[SelectedItem];
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
427 item->pressed=btnReleased;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
428 SelectedItem=-1;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
429 if ( currentselected == - 1 ) { itemtype=0; break; }
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
430 value=0;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
431 switch( itemtype )
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
432 {
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
433 case itPotmeter:
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
434 case itHPotmeter:
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
435 btnModify( item->msg,(float)( X - item->x ) / item->width * 100.0f );
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6546
diff changeset
436 mplEventHandling( item->msg,item->value );
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
437 value=item->value;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
438 break;
17254
0e152834911a vpotmeter fix, scroll in the correct direction
ods15
parents: 17144
diff changeset
439 case itVPotmeter:
0e152834911a vpotmeter fix, scroll in the correct direction
ods15
parents: 17144
diff changeset
440 btnModify( item->msg, ( 1. - (float)( Y - item->y ) / item->height) * 100.0f );
0e152834911a vpotmeter fix, scroll in the correct direction
ods15
parents: 17144
diff changeset
441 mplEventHandling( item->msg,item->value );
0e152834911a vpotmeter fix, scroll in the correct direction
ods15
parents: 17144
diff changeset
442 value=item->value;
0e152834911a vpotmeter fix, scroll in the correct direction
ods15
parents: 17144
diff changeset
443 break;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
444 }
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
445 mplEventHandling( item->msg,value );
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
446 itemtype=0;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
447 break;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
448
17087
4a56f15dee5f Fix popup menu problems: GTK cannot get a grab while the button is down,
reimar
parents: 14589
diff changeset
449 case wsRRMouseButton:
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
450 gtkShow( evShowPopUpMenu,NULL );
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
451 break;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
452
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
453 // --- rolled mouse ... de szar :)))
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
454 case wsP5MouseButton: value=-2.5f; goto rollerhandled;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
455 case wsP4MouseButton: value= 2.5f;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
456 rollerhandled:
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
457 item=&appMPlayer.Items[currentselected];
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
458 if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) )
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
459 {
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
460 item->value+=value;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
461 btnModify( item->msg,item->value );
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
462 mplEventHandling( item->msg,item->value );
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
463 }
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
464 break;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
465
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
466 // --- moving
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
467 case wsMoveMouse:
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
468 item=&appMPlayer.Items[SelectedItem];
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
469 switch ( itemtype )
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
470 {
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
471 case itPLMButton:
2854
fd44ecf77f8d move bug meg fileload bug fixed asszem.
pontscho
parents: 2851
diff changeset
472 wsMoveWindow( &appMPlayer.mainWindow,False,RX - abs( sx ),RY - abs( sy ) );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
473 mplMainRender=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
474 break;
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
475 case itPRMButton:
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
476 mplMenuMouseHandle( X,Y,RX,RY );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
477 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
478 case itPotmeter:
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
479 item->value=(float)( X - item->x ) / item->width * 100.0f;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
480 goto potihandled;
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
481 case itVPotmeter:
17254
0e152834911a vpotmeter fix, scroll in the correct direction
ods15
parents: 17144
diff changeset
482 item->value=(1. - (float)( Y - item->y ) / item->height) * 100.0f;
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
483 goto potihandled;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
484 case itHPotmeter:
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
485 item->value=(float)( X - item->x ) / item->width * 100.0f;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
486 potihandled:
2851
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
487 if ( item->value > 100.0f ) item->value=100.0f;
b64fa5d25142 add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents: 2447
diff changeset
488 if ( item->value < 0.0f ) item->value=0.0f;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4465
diff changeset
489 mplEventHandling( item->msg,item->value );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
490 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
491 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
492 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
493 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
494 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
495
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
496 int keyPressed = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
497
6183
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
498 void mplMainKeyHandle( int KeyCode,int Type,int Key )
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
499 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
500 int msg = evNone;
4950
307a94037c5c bazmeg a playtree - t
pontscho
parents: 4858
diff changeset
501
4409
61e53100353e add XF86 multimedia key cucc.
pontscho
parents: 4061
diff changeset
502 if ( Type != wsKeyPressed ) return;
6183
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
503
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
504 if ( !Key )
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
505 {
6183
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
506 switch ( KeyCode )
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
507 {
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
508 case wsXFMMPrev: msg=evPrev; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
509 case wsXFMMStop: msg=evStop; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
510 case wsXFMMPlay: msg=evPlaySwitchToPause; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
511 case wsXFMMNext: msg=evNext; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
512 case wsXFMMVolUp: msg=evIncVolume; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
513 case wsXFMMVolDown: msg=evDecVolume; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
514 case wsXFMMMute: msg=evMute; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
515 }
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
516 }
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
517 else
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
518 {
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
519 switch ( Key )
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
520 {
8302
c7fa49f1de0a no exit on fulscreen if you press esc
pontscho
parents: 8300
diff changeset
521 case wsEnter: msg=evPlay; break;
6183
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
522 case wsXF86LowerVolume: msg=evDecVolume; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
523 case wsXF86RaiseVolume: msg=evIncVolume; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
524 case wsXF86Mute: msg=evMute; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
525 case wsXF86Play: msg=evPlaySwitchToPause; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
526 case wsXF86Stop: msg=evStop; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
527 case wsXF86Prev: msg=evPrev; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
528 case wsXF86Next: msg=evNext; break;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
529 case wsXF86Media: msg=evLoad; break;
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
530 case wsEscape:
8302
c7fa49f1de0a no exit on fulscreen if you press esc
pontscho
parents: 8300
diff changeset
531 if ( appMPlayer.subWindow.isFullScreen )
c7fa49f1de0a no exit on fulscreen if you press esc
pontscho
parents: 8300
diff changeset
532 {
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
533 if ( guiIntfStruct.event_struct ) ((XEvent *)guiIntfStruct.event_struct)->type=None;
8302
c7fa49f1de0a no exit on fulscreen if you press esc
pontscho
parents: 8300
diff changeset
534 mplEventHandling( evNormalSize,0 );
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
535 return;
8302
c7fa49f1de0a no exit on fulscreen if you press esc
pontscho
parents: 8300
diff changeset
536 }
6183
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
537 default: vo_x11_putkey( Key ); return;
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
538 }
a4bbda72ce86 fix two small bug and add multimedia keyboard support ( i tested with Acer AirKey V only )
pontscho
parents: 6159
diff changeset
539 }
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4818
diff changeset
540 if ( msg != evNone ) mplEventHandling( msg,0 );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
541 }
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
542
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
543 /* this will be used to handle Drag&Drop files */
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7009
diff changeset
544 void mplDandDHandler(int num,char** files)
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
545 {
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
546 struct stat buf;
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
547 int f = 0;
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
548
8481
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
549 char* subtitles = NULL;
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
550 char* filename = NULL;
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
551
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
552 if (num <= 0)
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
553 return;
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
554
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
555
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
556 /* now fill it with new items */
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
557 for(f=0; f < num; f++){
6977
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
558 char* str = strdup( files[f] );
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
559 plItem* item;
6977
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
560
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6977
diff changeset
561 #ifdef USE_ICONV
6977
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
562 if ( strchr( str,'%' ) )
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
563 {
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6977
diff changeset
564 char * tmp=gconvert_uri_to_filename( str );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6977
diff changeset
565 free( str ); str=tmp;
6977
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
566 }
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6977
diff changeset
567 #endif
6977
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
568
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
569 if(stat(str,&buf) == 0 && S_ISDIR(buf.st_mode) == 0) {
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
570 /* this is not a directory so try to play it */
14156
c30e193ac112 printf --> mp_msg conversion, less verbosity
diego
parents: 14006
diff changeset
571 mp_msg( MSGT_GPLAYER,MSGL_V,"Received D&D %s\n",str );
8481
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
572
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
573 /* check if it is a subtitle file */
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
574 {
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
575 char* ext = strrchr(str,'.');
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
576 if (ext) {
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
577 static char supported[] = "utf/sub/srt/smi/rt//txt/ssa/aqt/";
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
578 char* type;
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
579 int len;
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
580 if((len=strlen(++ext)) && (type=strstr(supported,ext)) &&\
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
581 (type-supported)%4 == 0 && *(type+len) == '/'){
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
582 /* handle subtitle file */
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
583 gfree((void**)&subtitles);
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
584 subtitles = str;
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
585 continue;
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
586 }
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
587 }
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
588 }
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
589
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
590 /* clear playlist */
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
591 if (filename == NULL) {
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
592 filename = files[f];
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
593 gtkSet(gtkDelPl,0,NULL);
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
594 }
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
595
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
596 item = calloc(1,sizeof(plItem));
6977
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
597
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
598 /* FIXME: decompose file name ? */
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
599 /* yes -- Pontscho */
8481
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
600 if ( strrchr( str,'/' ) ) {
6977
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
601 char * s = strrchr( str,'/' ); *s=0; s++;
8481
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
602 item->name = gstrdup( s );
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
603 item->path = gstrdup( str );
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
604 } else {
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
605 item->name = strdup(str);
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
606 item->path = strdup("");
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
607 }
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
608 gtkSet(gtkAddPlItem,0,(void*)item);
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
609 } else {
14156
c30e193ac112 printf --> mp_msg conversion, less verbosity
diego
parents: 14006
diff changeset
610 mp_msg( MSGT_GPLAYER,MSGL_WARN,MSGTR_NotAFile,str );
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
611 }
6977
7242f1840f8d kde3 dnd fix from Gregory Kovriga and file name handling fix in dnd callback
pontscho
parents: 6967
diff changeset
612 free( str );
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
613 }
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
614
8481
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
615 if (filename) {
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
616 mplSetFileName( NULL,filename,STREAMTYPE_FILE );
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
617 if ( guiIntfStruct.Playing == 1 ) mplEventHandling( evStop,0 );
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
618 mplEventHandling( evPlay,0 );
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
619 }
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
620 if (subtitles) {
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
621 gfree((void**)&guiIntfStruct.Subtitlename);
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
622 guiIntfStruct.Subtitlename = subtitles;
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
623 guiLoadSubtitle(guiIntfStruct.Subtitlename);
e4736a12c898 applied Gregory's patch
pontscho
parents: 8423
diff changeset
624 }
6967
0fa27966ac47 add xdnd support (from Gregory Kovriga <gkovriga@techunix.technion.ac.il>) and fix -subdelay bug
pontscho
parents: 6905
diff changeset
625 }