annotate gui/ui/main.c @ 35570:ca631388b039

Fix condition in uiNext(). Chapters might be set temporarily to zero in stop mode if chapters information isn't yet available. This must not allow Chapter increasing.
author ib
date Tue, 11 Dec 2012 13:44:31 +0000
parents d83d2bd5f365
children 71f19d352561
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26458
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
1 /*
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
2 * This file is part of MPlayer.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
3 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
5 * it under the terms of the GNU General Public License as published by
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
7 * (at your option) any later version.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
8 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
12 * GNU General Public License for more details.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
13 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
14 * You should have received a copy of the GNU General Public License along
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
17 */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
18
34699
ed0e00db4306 Cosmetic: Move, change and add some comments on GUI windows.
ib
parents: 34697
diff changeset
19 /* main window */
ed0e00db4306 Cosmetic: Move, change and add some comments on GUI windows.
ib
parents: 34697
diff changeset
20
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
21 #include <stdlib.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
22 #include <stdio.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
23 #include <sys/stat.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24 #include <unistd.h>
23305
22d3d12c6dfb Include string.h for memcpy, fastmemcpy.h alone is not enough.
reimar
parents: 23154
diff changeset
25 #include <string.h>
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
26
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
27 #include "config.h"
35528
ab07b17fddfb Rebuild GUI directory structure.
ib
parents: 35525
diff changeset
28 #include "ui.h"
35525
e27855a45128 Rebuild GUI directory structure.
ib
parents: 35521
diff changeset
29 #include "gui/app/app.h"
e27855a45128 Rebuild GUI directory structure.
ib
parents: 35521
diff changeset
30 #include "gui/app/gui.h"
33738
998f94e62a61 Remove unnecessary #include "gui/interface.h".
ib
parents: 33737
diff changeset
31 #include "gui/interface.h"
26365
10dfbc523184 Add gui/ prefix to some #include paths so that compilation from the
diego
parents: 26203
diff changeset
32 #include "gui/skin/font.h"
10dfbc523184 Add gui/ prefix to some #include paths so that compilation from the
diego
parents: 26203
diff changeset
33 #include "gui/skin/skin.h"
33742
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33739
diff changeset
34 #include "gui/util/list.h"
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents: 33738
diff changeset
35 #include "gui/util/mem.h"
33737
71c29e8ec68f Move string functions from interface.c to string.c.
ib
parents: 33657
diff changeset
36 #include "gui/util/string.h"
26365
10dfbc523184 Add gui/ prefix to some #include paths so that compilation from the
diego
parents: 26203
diff changeset
37 #include "gui/wm/ws.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
38
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
39 #include "help_mp.h"
34174
a93891202051 Add missing mp_msg.h #includes, remove some unnecessary ones.
diego
parents: 34077
diff changeset
40 #include "mp_msg.h"
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
41 #include "libvo/x11_common.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
42 #include "libvo/fastmemcpy.h"
33531
84ce059fae34 Get non-multimedia X11 key definitions from libvo/wskeys.h.
ib
parents: 33525
diff changeset
43 #include "libvo/wskeys.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
44
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
45 #include "stream/stream.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
46 #include "stream/url.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
47 #include "mixer.h"
32467
fbe5c829c69b Move libvo/sub.[ch] from libvo to sub.
cigaes
parents: 32043
diff changeset
48 #include "sub/sub.h"
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
49 #include "access_mpcontext.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
50
30537
7bebe34b6ad2 Move movie_aspect extern declaration to libmpcodecs/vd.h.
diego
parents: 30516
diff changeset
51 #include "libmpcodecs/vd.h"
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
52 #include "libmpdemux/demuxer.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
53 #include "libmpdemux/stheader.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
54 #include "codec-cfg.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
55 #include "m_option.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
56 #include "m_property.h"
30516
f4e017b6921a Fix exit_player() usage throughout the codebase.
diego
parents: 29263
diff changeset
57 #include "mp_core.h"
32043
f6249bc89c38 Move extern declarations used by both mplayer.c and mencoder.c to mpcommon.h.
diego
parents: 32041
diff changeset
58 #include "mpcommon.h"
35545
d83d2bd5f365 Use FFMIN in evSetVolume.
ib
parents: 35544
diff changeset
59 #include "libavutil/common.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
60
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
61 #define GUI_REDRAW_WAIT 375
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
62
33556
520fb0f7544c Rename GUI directory 'mplayer' and some files in it.
ib
parents: 33555
diff changeset
63 #include "actions.h"
35529
8ad4d2fb46e8 Rebuild GUI directory structure.
ib
parents: 35528
diff changeset
64 #include "gui/dialog/dialog.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
65
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27370
diff changeset
66 unsigned int GetTimerMS( void );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
67
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
68 unsigned char * mainDrawBuffer = NULL;
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
69 int uiMainRender = True;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
70
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
71 int uiMainAutoPlay = False;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
72
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
73 int mainVisible = True;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
74
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
75 int boxMoved = False;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
76 int sx = 0,sy = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
77 int i,pot = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
78
33556
520fb0f7544c Rename GUI directory 'mplayer' and some files in it.
ib
parents: 33555
diff changeset
79 #include "render.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
80
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
81 void uiMainDraw( void )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
82 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
83
33768
cee9987bc81d Remove guiExit().
ib
parents: 33763
diff changeset
84 if ( guiApp.mainWindow.State == wsWindowClosed ) mplayer( MPLAYER_EXIT_GUI, EXIT_QUIT, 0 );
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
85
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
86 if ( guiApp.mainWindow.Visible == wsWindowNotVisible ||
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
87 !mainVisible ) return;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
88 // !guiApp.mainWindow.Mapped ) return;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
89
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
90 if ( uiMainRender && guiApp.mainWindow.State == wsWindowExpose )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
91 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
92 btnModify( evSetMoviePosition,guiInfo.Position );
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
93 btnModify( evSetVolume,guiInfo.Volume );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
94
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
95 fast_memcpy( mainDrawBuffer,guiApp.main.Bitmap.Image,guiApp.main.Bitmap.ImageSize );
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
96 RenderAll( &guiApp.mainWindow,guiApp.mainItems,guiApp.IndexOfMainItems,mainDrawBuffer );
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
97 uiMainRender=False;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
98 }
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
99 wsPutImage( &guiApp.mainWindow );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
100 // XFlush( wsDisplay );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
101 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
102
35490
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
103 static void MediumPrepare (int type)
33771
6e774a02d00c Remove gtkClearStruct code from mplayer() in interface.c.
ib
parents: 33768
diff changeset
104 {
35490
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
105 switch (type)
33771
6e774a02d00c Remove gtkClearStruct code from mplayer() in interface.c.
ib
parents: 33768
diff changeset
106 {
35490
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
107 case STREAMTYPE_DVD:
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
108 listMgr(PLAYLIST_DELETE, 0);
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
109 break;
33771
6e774a02d00c Remove gtkClearStruct code from mplayer() in interface.c.
ib
parents: 33768
diff changeset
110
35490
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
111 case STREAMTYPE_CDDA:
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
112 case STREAMTYPE_VCD:
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
113 listMgr(PLAYLIST_DELETE, 0);
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
114 case STREAMTYPE_FILE:
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
115 case STREAMTYPE_STREAM:
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
116 case STREAMTYPE_PLAYLIST:
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
117 guiInfo.AudioStreams = 0;
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
118 guiInfo.Subtitles = 0;
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
119 guiInfo.Chapters = 0;
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
120 guiInfo.Angles = 0;
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
121 break;
33876
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
122 }
33771
6e774a02d00c Remove gtkClearStruct code from mplayer() in interface.c.
ib
parents: 33768
diff changeset
123 }
6e774a02d00c Remove gtkClearStruct code from mplayer() in interface.c.
ib
parents: 33768
diff changeset
124
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
125 static unsigned last_redraw_time = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
126
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
127 void uiEventHandling( int msg,float param )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
128 {
35543
5289e495e70e Set volume in evSetBalance.
ib
parents: 35539
diff changeset
129 int iparam = (int)param, osd;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
130 mixer_t *mixer = mpctx_get_mixer(guiInfo.mpcontext);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
131
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
132 switch( msg )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
133 {
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
134 /* user events */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
135 case evExit:
33768
cee9987bc81d Remove guiExit().
ib
parents: 33763
diff changeset
136 mplayer( MPLAYER_EXIT_GUI, EXIT_QUIT, 0 );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
137 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
138
34324
58aaa0d8cc82 Replace evSetURL by evLoadURL for consistency.
ib
parents: 34321
diff changeset
139 case evLoadURL:
34329
d7c8a3cee15e Replace evPlayNetwork by evLoadURL.
ib
parents: 34324
diff changeset
140 gtkShow( evLoadURL,NULL );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
141 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
142
34333
e8e4e6f9b7ac Change prefix for internal events from ev to iv.
ib
parents: 34329
diff changeset
143 case ivSetAudio:
33657
c92f23eac7a4 Remove guiGetEvent type guiSetDemuxer.
ib
parents: 33655
diff changeset
144 if ( !mpctx_get_demuxer(guiInfo.mpcontext) || audio_id == iparam ) break;
34469
c3f95506f756 Fix bug with switching audio and video tracks.
ib
parents: 34458
diff changeset
145 mp_property_do("switch_audio",M_PROPERTY_SET,&iparam,guiInfo.mpcontext);
c3f95506f756 Fix bug with switching audio and video tracks.
ib
parents: 34458
diff changeset
146 break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
147
34333
e8e4e6f9b7ac Change prefix for internal events from ev to iv.
ib
parents: 34329
diff changeset
148 case ivSetVideo:
33657
c92f23eac7a4 Remove guiGetEvent type guiSetDemuxer.
ib
parents: 33655
diff changeset
149 if ( !mpctx_get_demuxer(guiInfo.mpcontext) || video_id == iparam ) break;
34469
c3f95506f756 Fix bug with switching audio and video tracks.
ib
parents: 34458
diff changeset
150 mp_property_do("switch_video",M_PROPERTY_SET,&iparam,guiInfo.mpcontext);
c3f95506f756 Fix bug with switching audio and video tracks.
ib
parents: 34458
diff changeset
151 break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
152
34333
e8e4e6f9b7ac Change prefix for internal events from ev to iv.
ib
parents: 34329
diff changeset
153 case ivSetSubtitle:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
154 mp_property_do("sub",M_PROPERTY_SET,&iparam,guiInfo.mpcontext);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
155 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
156
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
157 #ifdef CONFIG_CDDA
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
158 case ivSetCDTrack:
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
159 guiInfo.Track=iparam;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
160 case evPlayCD:
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
161 guiInfo.StreamType=STREAMTYPE_CDDA;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
162 goto play;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
163 #endif
27370
14c5017f40d2 Change a bunch of video/audio-output-specific preprocessor directives from
diego
parents: 27341
diff changeset
164 #ifdef CONFIG_VCD
34333
e8e4e6f9b7ac Change prefix for internal events from ev to iv.
ib
parents: 34329
diff changeset
165 case ivSetVCDTrack:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
166 guiInfo.Track=iparam;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
167 case evPlayVCD:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
168 guiInfo.StreamType=STREAMTYPE_VCD;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
169 goto play;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
170 #endif
27341
e7c989f7a7c9 Start unifying names of internal preprocessor directives.
diego
parents: 26458
diff changeset
171 #ifdef CONFIG_DVDREAD
34417
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
172 case ivSetDVDSubtitle:
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
173 dvdsub_id=iparam;
34455
00cf27b14c15 Replace goto label by an internal event case expression.
ib
parents: 34454
diff changeset
174 uiEventHandling( ivPlayDVD, 0 );
34417
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
175 break;
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
176 case ivSetDVDAudio:
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
177 audio_id=iparam;
34455
00cf27b14c15 Replace goto label by an internal event case expression.
ib
parents: 34454
diff changeset
178 uiEventHandling( ivPlayDVD, 0 );
34417
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
179 break;
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
180 case ivSetDVDChapter:
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
181 guiInfo.Chapter=iparam;
34455
00cf27b14c15 Replace goto label by an internal event case expression.
ib
parents: 34454
diff changeset
182 uiEventHandling( ivPlayDVD, 0 );
34417
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
183 break;
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
184 case ivSetDVDTitle:
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
185 guiInfo.Track=iparam;
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
186 guiInfo.Chapter=1;
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
187 guiInfo.Angle=1;
34455
00cf27b14c15 Replace goto label by an internal event case expression.
ib
parents: 34454
diff changeset
188 uiEventHandling( ivPlayDVD, 0 );
34417
1745c2a7a628 Move some DVD related events.
ib
parents: 34416
diff changeset
189 break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
190 case evPlayDVD:
33876
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
191 guiInfo.Chapter=1;
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
192 guiInfo.Angle=1;
34455
00cf27b14c15 Replace goto label by an internal event case expression.
ib
parents: 34454
diff changeset
193 case ivPlayDVD:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
194 guiInfo.StreamType=STREAMTYPE_DVD;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
195 goto play;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
196 #endif
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
197 case evPlay:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
198 case evPlaySwitchToPause:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
199 play:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
200
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
201 if ( ( msg == evPlaySwitchToPause )&&( guiInfo.Playing == GUI_PAUSE ) ) goto NoPause;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
202
35490
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
203 MediumPrepare( guiInfo.StreamType );
a5f5f61a7a35 Replace confusing guiInfoMediumClear() by MediumPrepare().
ib
parents: 35484
diff changeset
204
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
205 switch ( guiInfo.StreamType )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
206 {
34077
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34067
diff changeset
207 case STREAMTYPE_FILE:
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
208 case STREAMTYPE_STREAM:
34859
203d0d5cac1f Add playlist support to the GUI.
ib
parents: 34699
diff changeset
209 case STREAMTYPE_PLAYLIST:
33898
67790ce1185e Provide track information for playlists.
ib
parents: 33897
diff changeset
210 if ( !guiInfo.Track )
67790ce1185e Provide track information for playlists.
ib
parents: 33897
diff changeset
211 guiInfo.Track=1;
33890
c51e44dd38e2 Remove needless guiInfo member DiskChanged.
ib
parents: 33876
diff changeset
212 guiInfo.NewPlay=GUI_FILE_NEW;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
213 break;
34454
5a45efc630b8 Remove all unnecessary #ifdefs from GUI code.
ib
parents: 34417
diff changeset
214
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
215 case STREAMTYPE_CDDA:
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
216 if ( guiInfo.Playing != GUI_PAUSE )
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
217 {
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
218 if ( !guiInfo.Track )
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
219 guiInfo.Track=1;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
220 guiInfo.NewPlay=GUI_FILE_SAME;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
221 }
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34333
diff changeset
222 break;
34454
5a45efc630b8 Remove all unnecessary #ifdefs from GUI code.
ib
parents: 34417
diff changeset
223
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
224 case STREAMTYPE_VCD:
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
225 if ( guiInfo.Playing != GUI_PAUSE )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
226 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
227 if ( !guiInfo.Track )
33874
e1bec41397bb Don't let VCD track number and guiInfo.Track differ.
ib
parents: 33773
diff changeset
228 guiInfo.Track=2;
33890
c51e44dd38e2 Remove needless guiInfo member DiskChanged.
ib
parents: 33876
diff changeset
229 guiInfo.NewPlay=GUI_FILE_SAME;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
230 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
231 break;
34454
5a45efc630b8 Remove all unnecessary #ifdefs from GUI code.
ib
parents: 34417
diff changeset
232
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
233 case STREAMTYPE_DVD:
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
234 if ( guiInfo.Playing != GUI_PAUSE )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
235 {
35422
696a8a165952 Check and set track for DVDs just as for the other StreamTypes.
ib
parents: 35389
diff changeset
236 if ( !guiInfo.Track )
696a8a165952 Check and set track for DVDs just as for the other StreamTypes.
ib
parents: 35389
diff changeset
237 guiInfo.Track=1;
33890
c51e44dd38e2 Remove needless guiInfo member DiskChanged.
ib
parents: 33876
diff changeset
238 guiInfo.NewPlay=GUI_FILE_SAME;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
239 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
240 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
241 }
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
242 uiPlay();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
243 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
244
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
245 case evPause:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
246 case evPauseSwitchToPlay:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
247 NoPause:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
248 uiPause();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
249 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
250
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
251 case evStop:
33614
79743a5cf4f0 Rename the symbolic playback state constants.
ib
parents: 33556
diff changeset
252 guiInfo.Playing=GUI_STOP;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
253 uiState();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
254 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
255
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
256 case evLoadPlay:
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
257 uiMainAutoPlay=True;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
258 // guiInfo.StreamType=STREAMTYPE_FILE;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
259 case evLoad:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
260 gtkShow( evLoad,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
261 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
262 case evLoadSubtitle: gtkShow( evLoadSubtitle,NULL ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
263 case evDropSubtitle:
33897
e0d211c62cf7 Cosmetic: Rename some guiInfo members.
ib
parents: 33890
diff changeset
264 nfree( guiInfo.SubtitleFilename );
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33743
diff changeset
265 mplayerLoadSubtitle( NULL );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
266 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
267 case evLoadAudioFile: gtkShow( evLoadAudioFile,NULL ); break;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
268 case evPrev: uiPrev(); break;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
269 case evNext: uiNext(); break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
270
34321
daebf766dea6 Cosmetic: Synchronize evPlaylist event and message names.
ib
parents: 34174
diff changeset
271 case evPlaylist: gtkShow( evPlaylist,NULL ); break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
272 case evSkinBrowser: gtkShow( evSkinBrowser,skinName ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
273 case evAbout: gtkShow( evAbout,NULL ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
274 case evPreferences: gtkShow( evPreferences,NULL ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
275 case evEqualizer: gtkShow( evEqualizer,NULL ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
276
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
277 case evForward10min: uiRelSeek( 600 ); break;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
278 case evBackward10min: uiRelSeek( -600 );break;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
279 case evForward1min: uiRelSeek( 60 ); break;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
280 case evBackward1min: uiRelSeek( -60 ); break;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
281 case evForward10sec: uiRelSeek( 10 ); break;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
282 case evBackward10sec: uiRelSeek( -10 ); break;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
283 case evSetMoviePosition: uiAbsSeek( param ); break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
284
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
285 case evIncVolume: vo_x11_putkey( wsGrayMul ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
286 case evDecVolume: vo_x11_putkey( wsGrayDiv ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
287 case evMute: mixer_mute( mixer ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
288
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
289 case evSetVolume:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
290 guiInfo.Volume=param;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
291 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
292 float l = guiInfo.Volume * ( ( 100.0 - guiInfo.Balance ) / 50.0 );
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
293 float r = guiInfo.Volume * ( ( guiInfo.Balance ) / 50.0 );
35545
d83d2bd5f365 Use FFMIN in evSetVolume.
ib
parents: 35544
diff changeset
294 mixer_setvolume( mixer,FFMIN(l,guiInfo.Volume),FFMIN(r,guiInfo.Volume) );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
295 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
296 if ( osd_level )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
297 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
298 osd_visible=(GetTimerMS() + 1000) | 1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
299 vo_osd_progbar_type=OSD_VOLUME;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
300 vo_osd_progbar_value=( ( guiInfo.Volume ) * 256.0 ) / 100.0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
301 vo_osd_changed( OSDTYPE_PROGBAR );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
302 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
303 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
304
35539
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
305 case evSetBalance:
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
306 guiInfo.Balance=param;
35544
fd7a5b62326d Add comment.
ib
parents: 35543
diff changeset
307 mixer_setbalance( mixer,(guiInfo.Balance - 50.0 ) / 50.0 ); // transform 0..100 to -1..1
35543
5289e495e70e Set volume in evSetBalance.
ib
parents: 35539
diff changeset
308 osd = osd_level;
5289e495e70e Set volume in evSetBalance.
ib
parents: 35539
diff changeset
309 osd_level = 0;
5289e495e70e Set volume in evSetBalance.
ib
parents: 35539
diff changeset
310 uiEventHandling(evSetVolume, guiInfo.Volume);
5289e495e70e Set volume in evSetBalance.
ib
parents: 35539
diff changeset
311 osd_level = osd;
35539
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
312 if ( osd_level )
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
313 {
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
314 osd_visible=(GetTimerMS() + 1000) | 1;
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
315 vo_osd_progbar_type=OSD_BALANCE;
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
316 vo_osd_progbar_value=( ( guiInfo.Balance ) * 256.0 ) / 100.0;
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
317 vo_osd_changed( OSDTYPE_PROGBAR );
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
318 }
9bc02a829c48 Fix bug with evSetBalance.
ib
parents: 35529
diff changeset
319 break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
320
34458
1e84148527ab Add user event evMenu.
ib
parents: 34456
diff changeset
321 case evMenu:
34473
2f88fa3b9e5e Cosmetic: Revise comment.
ib
parents: 34472
diff changeset
322 /*if (guiApp.menuIsPresent) NOTE TO MYSELF: Uncomment only after mouse
2f88fa3b9e5e Cosmetic: Revise comment.
ib
parents: 34472
diff changeset
323 { pointer and cursor keys work
2f88fa3b9e5e Cosmetic: Revise comment.
ib
parents: 34472
diff changeset
324 gtkShow( ivHidePopUpMenu,NULL ); with this menu from skin as
2f88fa3b9e5e Cosmetic: Revise comment.
ib
parents: 34472
diff changeset
325 uiShowMenu( 0,0 ); they do with normal menus.
34458
1e84148527ab Add user event evMenu.
ib
parents: 34456
diff changeset
326 }
1e84148527ab Add user event evMenu.
ib
parents: 34456
diff changeset
327 else*/ gtkShow( ivShowPopUpMenu,NULL );
1e84148527ab Add user event evMenu.
ib
parents: 34456
diff changeset
328 break;
1e84148527ab Add user event evMenu.
ib
parents: 34456
diff changeset
329
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
330 case evIconify:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
331 switch ( iparam )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
332 {
35355
c8478a499a17 Pass big parameter by reference rather than by value.
ib
parents: 35352
diff changeset
333 case 0: wsIconify( &guiApp.mainWindow ); break;
c8478a499a17 Pass big parameter by reference rather than by value.
ib
parents: 35352
diff changeset
334 case 1: wsIconify( &guiApp.videoWindow ); break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
335 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
336 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
337 case evHalfSize:
33947
3867c67b35a3 Modify video window size change behavior.
ib
parents: 33945
diff changeset
338 if ( guiInfo.VideoWindow && guiInfo.Playing )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
339 {
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
340 if ( guiApp.videoWindow.isFullScreen )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
341 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
342 uiFullScreen();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
343 }
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
344 wsResizeWindow( &guiApp.videoWindow, guiInfo.VideoWidth / 2, guiInfo.VideoHeight / 2 );
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
345 wsMoveWindow( &guiApp.videoWindow, False, guiApp.video.x, guiApp.video.y );
33950
bb35e74851cd Cosmetic: Adjust indent.
ib
parents: 33949
diff changeset
346 btnSet( evFullScreen,btnReleased );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
347 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
348 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
349 case evDoubleSize:
33947
3867c67b35a3 Modify video window size change behavior.
ib
parents: 33945
diff changeset
350 if ( guiInfo.VideoWindow && guiInfo.Playing )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
351 {
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
352 if ( guiApp.videoWindow.isFullScreen )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
353 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
354 uiFullScreen();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
355 }
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
356 wsResizeWindow( &guiApp.videoWindow, guiInfo.VideoWidth * 2, guiInfo.VideoHeight * 2 );
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
357 wsMoveWindowWithin( &guiApp.videoWindow, False, guiApp.video.x, guiApp.video.y );
33950
bb35e74851cd Cosmetic: Adjust indent.
ib
parents: 33949
diff changeset
358 btnSet( evFullScreen,btnReleased );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
359 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
360 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
361 case evNormalSize:
33947
3867c67b35a3 Modify video window size change behavior.
ib
parents: 33945
diff changeset
362 if ( guiInfo.VideoWindow && guiInfo.Playing )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
363 {
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
364 if ( guiApp.videoWindow.isFullScreen )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
365 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
366 uiFullScreen();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
367 }
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
368 wsResizeWindow( &guiApp.videoWindow, guiInfo.VideoWidth, guiInfo.VideoHeight );
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
369 wsMoveWindow( &guiApp.videoWindow, False, guiApp.video.x, guiApp.video.y );
33947
3867c67b35a3 Modify video window size change behavior.
ib
parents: 33945
diff changeset
370 btnSet( evFullScreen,btnReleased );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
371 break;
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
372 } else if ( !guiApp.videoWindow.isFullScreen ) break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
373 case evFullScreen:
33947
3867c67b35a3 Modify video window size change behavior.
ib
parents: 33945
diff changeset
374 if ( guiInfo.VideoWindow && guiInfo.Playing )
3867c67b35a3 Modify video window size change behavior.
ib
parents: 33945
diff changeset
375 {
33950
bb35e74851cd Cosmetic: Adjust indent.
ib
parents: 33949
diff changeset
376 uiFullScreen();
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
377 if ( !guiApp.videoWindow.isFullScreen )
33950
bb35e74851cd Cosmetic: Adjust indent.
ib
parents: 33949
diff changeset
378 {
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
379 wsResizeWindow( &guiApp.videoWindow, guiInfo.VideoWidth, guiInfo.VideoHeight );
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
380 wsMoveWindow( &guiApp.videoWindow, False, guiApp.video.x, guiApp.video.y );
33950
bb35e74851cd Cosmetic: Adjust indent.
ib
parents: 33949
diff changeset
381 }
33947
3867c67b35a3 Modify video window size change behavior.
ib
parents: 33945
diff changeset
382 }
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
383 if ( guiApp.videoWindow.isFullScreen ) btnSet( evFullScreen,btnPressed );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
384 else btnSet( evFullScreen,btnReleased );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
385 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
386
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
387 case evSetAspect:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
388 switch ( iparam )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
389 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
390 case 2: movie_aspect=16.0f / 9.0f; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
391 case 3: movie_aspect=4.0f / 3.0f; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
392 case 4: movie_aspect=2.35; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
393 case 1:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
394 default: movie_aspect=-1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
395 }
35357
80fe9ad7f318 Pass guiApp's wsTWindow parameters always by reference (if possible).
ib
parents: 35355
diff changeset
396 wsClearWindow( &guiApp.videoWindow );
34456
d04da1858866 Fix bug with VCD stream calling DVD code.
ib
parents: 34455
diff changeset
397 if ( guiInfo.StreamType == STREAMTYPE_VCD ) uiEventHandling( evPlayVCD, 0 );
d04da1858866 Fix bug with VCD stream calling DVD code.
ib
parents: 34455
diff changeset
398 else if ( guiInfo.StreamType == STREAMTYPE_DVD ) uiEventHandling( ivPlayDVD, 0 );
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
399 else
33890
c51e44dd38e2 Remove needless guiInfo member DiskChanged.
ib
parents: 33876
diff changeset
400 guiInfo.NewPlay=GUI_FILE_NEW;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
401 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
402
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
403 /* timer events */
34333
e8e4e6f9b7ac Change prefix for internal events from ev to iv.
ib
parents: 34329
diff changeset
404 case ivRedraw:
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
405 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
406 unsigned now = GetTimerMS();
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
407 if ((now > last_redraw_time) &&
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
408 (now < last_redraw_time + GUI_REDRAW_WAIT) &&
34035
5daa51a194ed Force redraw of main window after playback has ended.
ib
parents: 33998
diff changeset
409 !uiPlaybarFade && (iparam == 0))
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
410 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
411 last_redraw_time = now;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
412 }
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
413 uiMainRender=True;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
414 wsPostRedisplay( &guiApp.mainWindow );
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
415 wsPostRedisplay( &guiApp.playbarWindow );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
416 break;
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
417 /* system events */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
418 case evNone:
34416
b3837500181a Remove #ifdef MP_DEBUG.
ib
parents: 34403
diff changeset
419 mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[main] uiEventHandling: evNone\n" );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
420 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
421 default:
34416
b3837500181a Remove #ifdef MP_DEBUG.
ib
parents: 34403
diff changeset
422 mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[main] uiEventHandling: unknown event %d, param %.2f\n", msg, param );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
423 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
424 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
425 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
426
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
427 void uiMainMouseHandle( int Button,int X,int Y,int RX,int RY )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
428 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
429 static int itemtype = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
430 int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
431 wItem * item = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
432 float value = 0.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
433
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
434 static int SelectedItem = -1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
435 int currentselected = -1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
436
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
437 for ( i=0;i <= guiApp.IndexOfMainItems;i++ )
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
438 if ( ( guiApp.mainItems[i].pressed != btnDisabled )&&
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
439 ( wgIsRect( X,Y,guiApp.mainItems[i].x,guiApp.mainItems[i].y,guiApp.mainItems[i].x+guiApp.mainItems[i].width,guiApp.mainItems[i].y+guiApp.mainItems[i].height ) ) )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
440 { currentselected=i; break; }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
441
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
442 switch ( Button )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
443 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
444 case wsPMMouseButton:
34333
e8e4e6f9b7ac Change prefix for internal events from ev to iv.
ib
parents: 34329
diff changeset
445 gtkShow( ivHidePopUpMenu,NULL );
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
446 uiShowMenu( RX,RY );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
447 itemtype=itPRMButton;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
448 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
449 case wsRMMouseButton:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
450 uiHideMenu( RX,RY,0 );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
451 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
452
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
453 case wsPLMouseButton:
34333
e8e4e6f9b7ac Change prefix for internal events from ev to iv.
ib
parents: 34329
diff changeset
454 gtkShow( ivHidePopUpMenu,NULL );
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
455 sx=X; sy=Y; boxMoved=True; itemtype=itPLMButton;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
456 SelectedItem=currentselected;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
457 if ( SelectedItem == -1 ) break;
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
458 boxMoved=False;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
459 item=&guiApp.mainItems[SelectedItem];
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
460 itemtype=item->type;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
461 item->pressed=btnPressed;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
462 switch( item->type )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
463 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
464 case itButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
465 if ( ( SelectedItem > -1 ) &&
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32896
diff changeset
466 ( ( ( item->message == evPlaySwitchToPause && item->message == evPauseSwitchToPlay ) ) ||
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32896
diff changeset
467 ( ( item->message == evPauseSwitchToPlay && item->message == evPlaySwitchToPause ) ) ) )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
468 { item->pressed=btnDisabled; }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
469 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
470 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
471 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
472 case wsRLMouseButton:
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
473 boxMoved=False;
33107
eda3df3e4a9d Prevent an out-of-bounds array access.
ib
parents: 33002
diff changeset
474 if ( SelectedItem != -1 ) // NOTE TO MYSELF: only if itButton, itHPotmeter or itVPotmeter
eda3df3e4a9d Prevent an out-of-bounds array access.
ib
parents: 33002
diff changeset
475 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
476 item=&guiApp.mainItems[SelectedItem];
33108
5450a92ac4bd Cosmetic: Adjust indent.
ib
parents: 33107
diff changeset
477 item->pressed=btnReleased;
33107
eda3df3e4a9d Prevent an out-of-bounds array access.
ib
parents: 33002
diff changeset
478 }
35351
92f6fc87ddc8 Fix segmentation fault with mouse button release.
ib
parents: 35349
diff changeset
479 if ( currentselected == - 1 || SelectedItem == -1 ) { itemtype=0; break; }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
480 SelectedItem=-1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
481 value=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
482 switch( itemtype )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
483 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
484 case itPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
485 case itHPotmeter:
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32896
diff changeset
486 btnModify( item->message,(float)( X - item->x ) / item->width * 100.0f );
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
487 uiEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
488 value=item->value;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
489 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
490 case itVPotmeter:
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32896
diff changeset
491 btnModify( item->message, ( 1. - (float)( Y - item->y ) / item->height) * 100.0f );
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
492 uiEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
493 value=item->value;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
494 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
495 }
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
496 uiEventHandling( item->message,value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
497 itemtype=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
498 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
499
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
500 case wsRRMouseButton:
34333
e8e4e6f9b7ac Change prefix for internal events from ev to iv.
ib
parents: 34329
diff changeset
501 gtkShow( ivShowPopUpMenu,NULL );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
502 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
503
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
504 /* rolled mouse ... de szar :))) */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
505 case wsP5MouseButton: value=-2.5f; goto rollerhandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
506 case wsP4MouseButton: value= 2.5f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
507 rollerhandled:
35365
fb054f36c3a9 Prevent negative array index read.
ib
parents: 35357
diff changeset
508 if (currentselected != - 1)
fb054f36c3a9 Prevent negative array index read.
ib
parents: 35357
diff changeset
509 {
35366
92cafcf6f6b2 Cosmetic: Adjust indent.
ib
parents: 35365
diff changeset
510 item=&guiApp.mainItems[currentselected];
92cafcf6f6b2 Cosmetic: Adjust indent.
ib
parents: 35365
diff changeset
511 if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) )
92cafcf6f6b2 Cosmetic: Adjust indent.
ib
parents: 35365
diff changeset
512 {
92cafcf6f6b2 Cosmetic: Adjust indent.
ib
parents: 35365
diff changeset
513 item->value+=value;
92cafcf6f6b2 Cosmetic: Adjust indent.
ib
parents: 35365
diff changeset
514 btnModify( item->message,item->value );
92cafcf6f6b2 Cosmetic: Adjust indent.
ib
parents: 35365
diff changeset
515 uiEventHandling( item->message,item->value );
92cafcf6f6b2 Cosmetic: Adjust indent.
ib
parents: 35365
diff changeset
516 }
35365
fb054f36c3a9 Prevent negative array index read.
ib
parents: 35357
diff changeset
517 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
518 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
519
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
520 /* moving */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
521 case wsMoveMouse:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
522 item=&guiApp.mainItems[SelectedItem];
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
523 switch ( itemtype )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
524 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
525 case itPLMButton:
33993
57d711d3dcca Change parameter b of wsMoveWindow().
ib
parents: 33950
diff changeset
526 wsMoveWindow( &guiApp.mainWindow,True,RX - abs( sx ),RY - abs( sy ) );
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35490
diff changeset
527 uiMainRender=False;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
528 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
529 case itPRMButton:
34472
f866092d51cd Remove unused parameter from uiMenuMouseHandle().
ib
parents: 34469
diff changeset
530 uiMenuMouseHandle( RX,RY );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
531 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
532 case itPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
533 item->value=(float)( X - item->x ) / item->width * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
534 goto potihandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
535 case itVPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
536 item->value=(1. - (float)( Y - item->y ) / item->height) * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
537 goto potihandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
538 case itHPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
539 item->value=(float)( X - item->x ) / item->width * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
540 potihandled:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
541 if ( item->value > 100.0f ) item->value=100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
542 if ( item->value < 0.0f ) item->value=0.0f;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
543 uiEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
544 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
545 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
546 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
547 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
548 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
549
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
550 void uiMainKeyHandle( int KeyCode,int Type,int Key )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
551 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
552 int msg = evNone;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
553
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
554 if ( Type != wsKeyPressed ) return;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
555
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
556 if ( !Key )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
557 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
558 switch ( KeyCode )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
559 {
33524
7d5fd12b86e7 Add note on wsXFMM key definitions.
ib
parents: 33263
diff changeset
560 // NOTE TO MYSELF: This is only for the Acer AirKey V keyboard.
33536
fc1402410163 Remove support for Acer AirKey V keyboard multimedia keys.
ib
parents: 33535
diff changeset
561 /*case wsXFMMPrev: msg=evPrev; break;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
562 case wsXFMMStop: msg=evStop; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
563 case wsXFMMPlay: msg=evPlaySwitchToPause; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
564 case wsXFMMNext: msg=evNext; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
565 case wsXFMMVolUp: msg=evIncVolume; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
566 case wsXFMMVolDown: msg=evDecVolume; break;
33536
fc1402410163 Remove support for Acer AirKey V keyboard multimedia keys.
ib
parents: 33535
diff changeset
567 case wsXFMMMute: msg=evMute; break;*/
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
568 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
569 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
570 else
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
571 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
572 switch ( Key )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
573 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
574 case wsEnter: msg=evPlay; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
575 case wsXF86LowerVolume: msg=evDecVolume; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
576 case wsXF86RaiseVolume: msg=evIncVolume; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
577 case wsXF86Mute: msg=evMute; break;
33525
b32fcc18c9b4 Add support for multimedia pause key.
ib
parents: 33524
diff changeset
578 case wsXF86Pause:
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
579 case wsXF86Play: msg=evPlaySwitchToPause; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
580 case wsXF86Stop: msg=evStop; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
581 case wsXF86Prev: msg=evPrev; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
582 case wsXF86Next: msg=evNext; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
583 case wsXF86Media: msg=evLoad; break;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
584 case wsEscape:
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
585 if ( guiInfo.VideoWindow && guiInfo.Playing && guiApp.videoWindow.isFullScreen )
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
586 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
587 uiEventHandling( evNormalSize,0 );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
588 return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
589 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
590 default: vo_x11_putkey( Key ); return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
591 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
592 }
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
593 if ( msg != evNone ) uiEventHandling( msg,0 );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
594 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
595
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
596 /* this will be used to handle Drag&Drop files */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
597 void uiDandDHandler(int num,char** files)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
598 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
599 struct stat buf;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
600 int f = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
601
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
602 char* subtitles = NULL;
35521
baf53d200292 Avoid using local variables named filename.
ib
parents: 35496
diff changeset
603 char* file = NULL;
35384
9c7bba653bfb Avoid a duplicate strrchr() call.
ib
parents: 35377
diff changeset
604 char* s;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
605
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
606 if (num <= 0)
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
607 return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
608
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
609
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
610 /* now fill it with new items */
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
611 for(f=0; f < num; f++){
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
612 char* str = strdup( files[f] );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
613 plItem* item;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
614
24086
f5b32d12b691 remove gconvert_uri_to_filename() and use url_unescape_string() instead.
iive
parents: 23457
diff changeset
615 url_unescape_string(str, files[f]);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
616
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
617 if(stat(str,&buf) == 0 && S_ISDIR(buf.st_mode) == 0) {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
618 /* this is not a directory so try to play it */
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
619 mp_msg( MSGT_GPLAYER,MSGL_V,"Received D&D %s\n",str );
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
620
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
621 /* check if it is a subtitle file */
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
622 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
623 char* ext = strrchr(str,'.');
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
624 if (ext) {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
625 static char supported[] = "utf/sub/srt/smi/rt//txt/ssa/aqt/";
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
626 char* type;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
627 int len;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
628 if((len=strlen(++ext)) && (type=strstr(supported,ext)) &&\
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
629 (type-supported)%4 == 0 && *(type+len) == '/'){
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
630 /* handle subtitle file */
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents: 33738
diff changeset
631 nfree(subtitles);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
632 subtitles = str;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
633 continue;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
634 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
635 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
636 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
637
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
638 /* clear playlist */
35521
baf53d200292 Avoid using local variables named filename.
ib
parents: 35496
diff changeset
639 if (file == NULL) {
baf53d200292 Avoid using local variables named filename.
ib
parents: 35496
diff changeset
640 file = files[f];
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34610
diff changeset
641 listMgr(PLAYLIST_DELETE,0);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
642 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
643
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
644 item = calloc(1,sizeof(plItem));
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
645
35384
9c7bba653bfb Avoid a duplicate strrchr() call.
ib
parents: 35377
diff changeset
646 s = strrchr( str,'/' );
9c7bba653bfb Avoid a duplicate strrchr() call.
ib
parents: 35377
diff changeset
647
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
648 /* FIXME: decompose file name ? */
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
649 /* yes -- Pontscho */
35384
9c7bba653bfb Avoid a duplicate strrchr() call.
ib
parents: 35377
diff changeset
650 if ( s ) {
9c7bba653bfb Avoid a duplicate strrchr() call.
ib
parents: 35377
diff changeset
651 *s=0; s++;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
652 item->name = gstrdup( s );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
653 item->path = gstrdup( str );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
654 } else {
35385
8b8534de8b83 A non-existing path shouldn't be an empty string.
ib
parents: 35384
diff changeset
655 // NOTE TO MYSELF: this shouldn't happen, make sure we have a full path
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
656 item->name = strdup(str);
35385
8b8534de8b83 A non-existing path shouldn't be an empty string.
ib
parents: 35384
diff changeset
657 item->path = strdup(".");
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
658 }
34681
42fa91951bd2 Rename PLAYLIST_ITEM_ADD PLAYLIST_ITEM_APPEND.
ib
parents: 34669
diff changeset
659 listMgr(PLAYLIST_ITEM_APPEND,item);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
660 } else {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
661 mp_msg( MSGT_GPLAYER,MSGL_WARN,MSGTR_NotAFile,str );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
662 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
663 free( str );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
664 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
665
35521
baf53d200292 Avoid using local variables named filename.
ib
parents: 35496
diff changeset
666 if (file) {
baf53d200292 Avoid using local variables named filename.
ib
parents: 35496
diff changeset
667 uiSetFile( NULL,file,STREAMTYPE_FILE );
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
668 if ( guiInfo.Playing == GUI_PLAY ) uiEventHandling( evStop,0 );
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
669 uiEventHandling( evPlay,0 );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
670 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
671 if (subtitles) {
33897
e0d211c62cf7 Cosmetic: Rename some guiInfo members.
ib
parents: 33890
diff changeset
672 nfree(guiInfo.SubtitleFilename);
e0d211c62cf7 Cosmetic: Rename some guiInfo members.
ib
parents: 33890
diff changeset
673 guiInfo.SubtitleFilename = subtitles;
e0d211c62cf7 Cosmetic: Rename some guiInfo members.
ib
parents: 33890
diff changeset
674 mplayerLoadSubtitle(guiInfo.SubtitleFilename);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
675 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
676 }