annotate Gui/mplayer/mw.c @ 18715:30d7ddf08889

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