annotate gui/ui/actions.c @ 37003:2d8157b3b386

Fix the index passed to PutImage() for item type itVPotmeter. Unlike the position for drawing the button (from bottom to top), the index for the phase image has to be in the usual range, i.e. 0 for 0% and numphases - 1 for 100%, so that the phase image can be designed straightforwardly. Fix the parameter although PutImage() currently doesn't work for item type itVPotmeter at all.
author ib
date Fri, 28 Mar 2014 12:21:07 +0000
parents 91f11a849d4d
children a5c95b14d0db
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
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
19 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
20 * @file
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
21 * @brief User interface actions
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
22 */
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
23
36772
0da6c7ff95d2 Revise code of listMgr() command PLAYLIST_ITEM_GET_POS.
ib
parents: 36762
diff changeset
24 #include <stdint.h>
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
25 #include <stdlib.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
26 #include <string.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
27
33556
520fb0f7544c Rename GUI directory 'mplayer' and some files in it.
ib
parents: 33555
diff changeset
28 #include "actions.h"
35528
ab07b17fddfb Rebuild GUI directory structure.
ib
parents: 35525
diff changeset
29 #include "ui.h"
36032
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35968
diff changeset
30 #include "gui/interface.h"
35525
e27855a45128 Rebuild GUI directory structure.
ib
parents: 35500
diff changeset
31 #include "gui/app/app.h"
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
32 #include "gui/app/cfg.h"
35525
e27855a45128 Rebuild GUI directory structure.
ib
parents: 35500
diff changeset
33 #include "gui/app/gui.h"
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
34 #include "gui/dialog/dialog.h"
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
35 #include "gui/skin/skin.h"
33742
e1539e14d60f Move purely list related parts of gtkSet() from interface.c to list.c.
ib
parents: 33740
diff changeset
36 #include "gui/util/list.h"
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents: 33737
diff changeset
37 #include "gui/util/mem.h"
33737
71c29e8ec68f Move string functions from interface.c to string.c.
ib
parents: 33731
diff changeset
38 #include "gui/util/string.h"
35435
578e049a78ae Add necessary and remove unnecessary #includes.
ib
parents: 35434
diff changeset
39 #include "gui/wm/ws.h"
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
40 #include "gui/wm/wsxdnd.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
41
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
42 #include "access_mpcontext.h"
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
43 #include "config.h"
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
44 #include "help_mp.h"
36032
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35968
diff changeset
45 #include "m_property.h"
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35968
diff changeset
46 #include "mixer.h"
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35968
diff changeset
47 #include "mp_core.h"
36894
669e2f7fb150 Directly call mplayer_put_key() instead of vo_x11_putkey().
ib
parents: 36772
diff changeset
48 #include "mp_fifo.h"
36032
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35968
diff changeset
49 #include "mp_msg.h"
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35968
diff changeset
50 #include "mpcommon.h"
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35968
diff changeset
51 #include "mplayer.h"
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
52 #include "input/input.h"
35431
20c90da2ba0d Use symbolic constants to set abs_seek_pos.
ib
parents: 35430
diff changeset
53 #include "libmpdemux/demuxer.h"
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
54 #include "libvo/video_out.h"
36894
669e2f7fb150 Directly call mplayer_put_key() instead of vo_x11_putkey().
ib
parents: 36772
diff changeset
55 #include "osdep/keycodes.h"
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
56 #include "osdep/timer.h"
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
57 #include "stream/stream.h"
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
58 #include "sub/sub.h"
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
59
35776
85d45ea7ba5d Add comments.
ib
parents: 35775
diff changeset
60 #define GUI_REDRAW_WAIT 375 // in milliseconds
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
61
35777
6d576acb772b Relocate uiLoadPlay.
ib
parents: 35776
diff changeset
62 int uiLoadPlay;
6d576acb772b Relocate uiLoadPlay.
ib
parents: 35776
diff changeset
63
35775
745d887d4975 Add missing type to variable declaration.
ib
parents: 35774
diff changeset
64 static unsigned int last_redraw_time;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
65
35776
85d45ea7ba5d Add comments.
ib
parents: 35775
diff changeset
66 /**
85d45ea7ba5d Add comments.
ib
parents: 35775
diff changeset
67 * @brief Clear information not used for this @a type of stream.
85d45ea7ba5d Add comments.
ib
parents: 35775
diff changeset
68 *
85d45ea7ba5d Add comments.
ib
parents: 35775
diff changeset
69 * @param type stream type
85d45ea7ba5d Add comments.
ib
parents: 35775
diff changeset
70 */
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
71 static void MediumPrepare(int type)
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
72 {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
73 switch (type) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
74 case STREAMTYPE_DVD:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
75 listMgr(PLAYLIST_DELETE, 0);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
76 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
77
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
78 case STREAMTYPE_CDDA:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
79 case STREAMTYPE_VCD:
36429
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
80 case STREAMTYPE_TV:
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
81 case STREAMTYPE_DVB:
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
82 listMgr(PLAYLIST_DELETE, 0);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
83 case STREAMTYPE_FILE:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
84 case STREAMTYPE_STREAM:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
85 case STREAMTYPE_PLAYLIST:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
86 guiInfo.AudioStreams = 0;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
87 guiInfo.Subtitles = 0;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
88 guiInfo.Chapters = 0;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
89 guiInfo.Angles = 0;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
90 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
91 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
92 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
93
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
94 void uiEvent(int ev, float param)
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
95 {
36935
c666dcd51d10 Use the new internal event to set volume.
ib
parents: 36933
diff changeset
96 int iparam = (int)param;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
97 mixer_t *mixer = mpctx_get_mixer(guiInfo.mpcontext);
36262
703a51ce08c8 Enable the change of the movie aspect ratio on the fly.
ib
parents: 36032
diff changeset
98 float aspect;
36274
ba5fa3e71247 Keep paused mode when changing the aspect ratio.
ib
parents: 36272
diff changeset
99 char cmd[40];
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
100
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
101 switch (ev) {
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
102 /* user events */
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
103 case evExit:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
104 mplayer(MPLAYER_EXIT_GUI, EXIT_QUIT, 0);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
105 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
106
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
107 case evLoadURL:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
108 gtkShow(evLoadURL, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
109 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
110
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
111 case ivSetAudio:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
112
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
113 if (!mpctx_get_demuxer(guiInfo.mpcontext) || audio_id == iparam)
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
114 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
115
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
116 mp_property_do("switch_audio", M_PROPERTY_SET, &iparam, guiInfo.mpcontext);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
117 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
118
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
119 case ivSetVideo:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
120
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
121 if (!mpctx_get_demuxer(guiInfo.mpcontext) || video_id == iparam)
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
122 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
123
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
124 mp_property_do("switch_video", M_PROPERTY_SET, &iparam, guiInfo.mpcontext);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
125 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
126
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
127 case ivSetSubtitle:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
128 mp_property_do("sub", M_PROPERTY_SET, &iparam, guiInfo.mpcontext);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
129 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
130
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
131 #ifdef CONFIG_CDDA
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
132 case ivSetCDTrack:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
133 guiInfo.Track = iparam;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
134
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
135 case evPlayCD:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
136 guiInfo.StreamType = STREAMTYPE_CDDA;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
137 goto play;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
138
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
139 #endif
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
140 #ifdef CONFIG_VCD
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
141 case ivSetVCDTrack:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
142 guiInfo.Track = iparam;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
143
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
144 case evPlayVCD:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
145 guiInfo.StreamType = STREAMTYPE_VCD;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
146 goto play;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
147
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
148 #endif
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
149 #ifdef CONFIG_DVDREAD
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
150 case ivSetDVDSubtitle:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
151 dvdsub_id = iparam;
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
152 uiEvent(ivPlayDVD, 0);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
153 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
154
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
155 case ivSetDVDAudio:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
156 audio_id = iparam;
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
157 uiEvent(ivPlayDVD, 0);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
158 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
159
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
160 case ivSetDVDChapter:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
161 guiInfo.Chapter = iparam;
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
162 uiEvent(ivPlayDVD, 0);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
163 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
164
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
165 case ivSetDVDTitle:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
166 guiInfo.Track = iparam;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
167 guiInfo.Chapter = 1;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
168 guiInfo.Angle = 1;
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
169 uiEvent(ivPlayDVD, 0);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
170 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
171
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
172 case evPlayDVD:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
173 guiInfo.Chapter = 1;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
174 guiInfo.Angle = 1;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
175
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
176 case ivPlayDVD:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
177 guiInfo.StreamType = STREAMTYPE_DVD;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
178 goto play;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
179
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
180 #endif
36429
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
181 #ifdef CONFIG_TV
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
182 case evPlayTV:
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
183 guiInfo.StreamType = guiTV[gui_tv_digital].StreamType;
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
184 goto play;
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
185
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
186 #endif
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
187 case evPlay:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
188 case evPlaySwitchToPause:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
189 play:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
190
35791
eda12497788f Fix bug with evPlay.
ib
parents: 35789
diff changeset
191 if (guiInfo.Playing != GUI_PAUSE) {
35792
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
192 MediumPrepare(guiInfo.StreamType);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
193
35792
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
194 switch (guiInfo.StreamType) {
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
195 case STREAMTYPE_FILE:
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
196 case STREAMTYPE_STREAM:
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
197 case STREAMTYPE_PLAYLIST:
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
198
35792
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
199 if (!guiInfo.Track)
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
200 guiInfo.Track = 1;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
201
36937
ad939f49bb28 Cosmetic: Rename guiInfo member NewPlay MediumChanged.
ib
parents: 36936
diff changeset
202 guiInfo.MediumChanged = GUI_MEDIUM_NEW;
36938
c53705079a9d Cosmetic: Adjust indent.
ib
parents: 36937
diff changeset
203 guiInfo.PlaylistNext = !guiInfo.Playing;
35791
eda12497788f Fix bug with evPlay.
ib
parents: 35789
diff changeset
204
35792
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
205 break;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
206
35792
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
207 case STREAMTYPE_CDDA:
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
208 case STREAMTYPE_VCD:
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
209 case STREAMTYPE_DVD:
36429
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
210 case STREAMTYPE_TV:
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
211 case STREAMTYPE_DVB:
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
212
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
213 if (!guiInfo.Track)
35793
c6ffe6a4c1e5 Compact code.
ib
parents: 35792
diff changeset
214 guiInfo.Track = (guiInfo.StreamType == STREAMTYPE_VCD ? 2 : 1);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
215
36937
ad939f49bb28 Cosmetic: Rename guiInfo member NewPlay MediumChanged.
ib
parents: 36936
diff changeset
216 guiInfo.MediumChanged = GUI_MEDIUM_SAME;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
217
35792
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
218 break;
97a4f5644b74 Cosmetic: Adjust indent.
ib
parents: 35791
diff changeset
219 }
35791
eda12497788f Fix bug with evPlay.
ib
parents: 35789
diff changeset
220 }
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
221
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
222 uiPlay();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
223 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
224
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
225 case evPause:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
226 case evPauseSwitchToPlay:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
227 uiPause();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
228 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
229
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
230 case evStop:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
231 guiInfo.Playing = GUI_STOP;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
232 uiState();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
233 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
234
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
235 case evLoadPlay:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
236 uiLoadPlay = True;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
237
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
238 // guiInfo.StreamType=STREAMTYPE_FILE;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
239 case evLoad:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
240 gtkShow(evLoad, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
241 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
242
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
243 case evLoadSubtitle:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
244 gtkShow(evLoadSubtitle, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
245 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
246
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
247 case evDropSubtitle:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
248 nfree(guiInfo.SubtitleFilename);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
249 mplayerLoadSubtitle(NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
250 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
251
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
252 case evLoadAudioFile:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
253 gtkShow(evLoadAudioFile, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
254 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
255
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
256 case evPrev:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
257 uiPrev();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
258 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
259
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
260 case evNext:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
261 uiNext();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
262 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
263
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
264 case evPlaylist:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
265 gtkShow(evPlaylist, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
266 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
267
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
268 case evSkinBrowser:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
269 gtkShow(evSkinBrowser, skinName);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
270 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
271
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
272 case evAbout:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
273 gtkShow(evAbout, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
274 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
275
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
276 case evPreferences:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
277 gtkShow(evPreferences, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
278 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
279
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
280 case evEqualizer:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
281 gtkShow(evEqualizer, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
282 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
283
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
284 case evForward10min:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
285 uiRelSeek(600);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
286 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
287
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
288 case evBackward10min:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
289 uiRelSeek(-600);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
290 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
291
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
292 case evForward1min:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
293 uiRelSeek(60);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
294 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
295
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
296 case evBackward1min:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
297 uiRelSeek(-60);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
298 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
299
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
300 case evForward10sec:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
301 uiRelSeek(10);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
302 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
303
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
304 case evBackward10sec:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
305 uiRelSeek(-10);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
306 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
307
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
308 case evSetMoviePosition:
36931
884277c93772 Set guiInfo.Position in SetMoviePosition event.
ib
parents: 36902
diff changeset
309 guiInfo.Position = param;
884277c93772 Set guiInfo.Position in SetMoviePosition event.
ib
parents: 36902
diff changeset
310 uiAbsSeek(guiInfo.Position);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
311 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
312
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
313 case evIncVolume:
36894
669e2f7fb150 Directly call mplayer_put_key() instead of vo_x11_putkey().
ib
parents: 36772
diff changeset
314 mplayer_put_key(KEY_VOLUME_UP);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
315 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
316
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
317 case evDecVolume:
36894
669e2f7fb150 Directly call mplayer_put_key() instead of vo_x11_putkey().
ib
parents: 36772
diff changeset
318 mplayer_put_key(KEY_VOLUME_DOWN);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
319 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
320
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
321 case evMute:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
322 mixer_mute(mixer);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
323 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
324
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
325 case evSetVolume:
36933
fec1a036882c Add an internal event to set volume.
ib
parents: 36931
diff changeset
326 case ivSetVolume:
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
327 guiInfo.Volume = param;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
328 {
36902
6f52d357f7a5 Remove pointless parentheses.
ib
parents: 36894
diff changeset
329 float l = guiInfo.Volume * (100.0 - guiInfo.Balance) / 50.0;
6f52d357f7a5 Remove pointless parentheses.
ib
parents: 36894
diff changeset
330 float r = guiInfo.Volume * guiInfo.Balance / 50.0;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
331 mixer_setvolume(mixer, FFMIN(l, guiInfo.Volume), FFMIN(r, guiInfo.Volume));
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
332 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
333
36956
7dacd58cd2bb Fix bug with ivSetVolume.
ib
parents: 36938
diff changeset
334 if (ev == ivSetVolume)
36933
fec1a036882c Add an internal event to set volume.
ib
parents: 36931
diff changeset
335 break;
fec1a036882c Add an internal event to set volume.
ib
parents: 36931
diff changeset
336
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
337 if (osd_level) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
338 osd_visible = (GetTimerMS() + 1000) | 1;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
339 vo_osd_progbar_type = OSD_VOLUME;
36902
6f52d357f7a5 Remove pointless parentheses.
ib
parents: 36894
diff changeset
340 vo_osd_progbar_value = guiInfo.Volume * 256.0 / 100.0;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
341 vo_osd_changed(OSDTYPE_PROGBAR);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
342 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
343
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
344 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
345
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
346 case evSetBalance:
36958
f11488e801a9 Add an internal event to set balance.
ib
parents: 36957
diff changeset
347 case ivSetBalance:
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
348 guiInfo.Balance = param;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
349 mixer_setbalance(mixer, (guiInfo.Balance - 50.0) / 50.0); // transform 0..100 to -1..1
36935
c666dcd51d10 Use the new internal event to set volume.
ib
parents: 36933
diff changeset
350 uiEvent(ivSetVolume, guiInfo.Volume);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
351
36958
f11488e801a9 Add an internal event to set balance.
ib
parents: 36957
diff changeset
352 if (ev == ivSetBalance)
f11488e801a9 Add an internal event to set balance.
ib
parents: 36957
diff changeset
353 break;
f11488e801a9 Add an internal event to set balance.
ib
parents: 36957
diff changeset
354
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
355 if (osd_level) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
356 osd_visible = (GetTimerMS() + 1000) | 1;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
357 vo_osd_progbar_type = OSD_BALANCE;
36902
6f52d357f7a5 Remove pointless parentheses.
ib
parents: 36894
diff changeset
358 vo_osd_progbar_value = guiInfo.Balance * 256.0 / 100.0;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
359 vo_osd_changed(OSDTYPE_PROGBAR);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
360 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
361
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
362 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
363
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
364 case evMenu:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
365 /*if (guiApp.menuIsPresent) NOTE TO MYSELF: Uncomment only after mouse
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
366 * { pointer and cursor keys work
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
367 * gtkShow( ivHidePopUpMenu,NULL ); with this menu from skin as
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
368 * uiMenuShow( 0,0 ); they do with normal menus.
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
369 * }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
370 * else*/gtkShow(ivShowPopUpMenu, NULL);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
371 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
372
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
373 case evIconify:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
374
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
375 switch (iparam) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
376 case 0:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
377 wsWindowIconify(&guiApp.mainWindow);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
378 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
379
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
380 case 1:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
381 wsWindowIconify(&guiApp.videoWindow);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
382 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
383 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
384
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
385 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
386
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
387 case evHalfSize:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
388
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
389 if (guiInfo.VideoWindow && guiInfo.Playing) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
390 if (guiApp.videoWindow.isFullScreen) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
391 uiFullScreen();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
392 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
393
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
394 wsWindowResize(&guiApp.videoWindow, guiInfo.VideoWidth / 2, guiInfo.VideoHeight / 2);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
395 btnSet(evFullScreen, btnReleased);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
396 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
397
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
398 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
399
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
400 case evDoubleSize:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
401
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
402 if (guiInfo.VideoWindow && guiInfo.Playing) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
403 if (guiApp.videoWindow.isFullScreen) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
404 uiFullScreen();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
405 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
406
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
407 wsWindowResize(&guiApp.videoWindow, guiInfo.VideoWidth * 2, guiInfo.VideoHeight * 2);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
408 wsWindowMoveWithin(&guiApp.videoWindow, False, guiApp.video.x, guiApp.video.y);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
409 btnSet(evFullScreen, btnReleased);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
410 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
411
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
412 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
413
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
414 case evNormalSize:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
415
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
416 if (guiInfo.VideoWindow && guiInfo.Playing) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
417 if (guiApp.videoWindow.isFullScreen) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
418 uiFullScreen();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
419 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
420
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
421 wsWindowResize(&guiApp.videoWindow, guiInfo.VideoWidth, guiInfo.VideoHeight);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
422 btnSet(evFullScreen, btnReleased);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
423 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
424 } else if (!guiApp.videoWindow.isFullScreen)
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
425 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
426
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
427 case evFullScreen:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
428
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
429 if (guiInfo.VideoWindow && (guiInfo.Playing || !iparam)) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
430 uiFullScreen();
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
431
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
432 if (!guiApp.videoWindow.isFullScreen)
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
433 wsWindowResize(&guiApp.videoWindow, iparam ? guiInfo.VideoWidth : guiApp.video.width, iparam ? guiInfo.VideoHeight : guiApp.video.height);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
434 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
435
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
436 if (guiApp.videoWindow.isFullScreen)
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
437 btnSet(evFullScreen, btnPressed);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
438 else
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
439 btnSet(evFullScreen, btnReleased);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
440
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
441 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
442
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
443 case evSetAspect:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
444
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
445 switch (iparam) {
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
446 case 2:
36262
703a51ce08c8 Enable the change of the movie aspect ratio on the fly.
ib
parents: 36032
diff changeset
447 aspect = 16.0f / 9.0f;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
448 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
449
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
450 case 3:
36262
703a51ce08c8 Enable the change of the movie aspect ratio on the fly.
ib
parents: 36032
diff changeset
451 aspect = 4.0f / 3.0f;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
452 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
453
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
454 case 4:
36276
f7ef757c95c0 Be more pedantic about type of the constant.
ib
parents: 36274
diff changeset
455 aspect = 2.35f;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
456 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
457
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
458 case 1:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
459 default:
36272
aa0011dfbfdc Use again special value -1 to set original aspect ratio.
ib
parents: 36264
diff changeset
460 aspect = -1;
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
461 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
462
36274
ba5fa3e71247 Keep paused mode when changing the aspect ratio.
ib
parents: 36272
diff changeset
463 snprintf(cmd, sizeof(cmd), "pausing_keep switch_ratio %f", aspect);
36262
703a51ce08c8 Enable the change of the movie aspect ratio on the fly.
ib
parents: 36032
diff changeset
464 mp_input_queue_cmd(mp_input_parse_cmd(cmd));
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
465
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
466 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
467
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
468 /* timer events */
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
469 case ivRedraw:
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
470 {
35775
745d887d4975 Add missing type to variable declaration.
ib
parents: 35774
diff changeset
471 unsigned int now = GetTimerMS();
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
472
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
473 if ((now > last_redraw_time) &&
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
474 (now < last_redraw_time + GUI_REDRAW_WAIT) &&
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
475 !uiPlaybarFade && (iparam == 0))
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
476 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
477
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
478 last_redraw_time = now;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
479 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
480 uiMainRender = True;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
481 wsWindowRedraw(&guiApp.mainWindow);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
482 wsWindowRedraw(&guiApp.playbarWindow);
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
483 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
484
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
485 /* system events */
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
486 case evNone:
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
487 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[actions] uiEvent: evNone\n");
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
488 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
489
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
490 default:
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
491 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[actions] uiEvent: unknown event %d, param %.2f\n", ev, param);
35771
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
492 break;
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
493 }
07057fd75c51 Relocate uiMainEvent().
ib
parents: 35768
diff changeset
494 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
495
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
496 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
497 * @brief Switch video window fullscreen mode.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
498 *
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
499 * Switch normal video to fullscreen and fullscreen video to normal.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
500 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
501 void uiFullScreen(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
502 {
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33957
diff changeset
503 if (!guiInfo.VideoWindow)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
504 return;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
505
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35658
diff changeset
506 wsWindowFullscreen(&guiApp.videoWindow);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
507
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34690
diff changeset
508 vo_fs = guiApp.videoWindow.isFullScreen;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
509
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35658
diff changeset
510 wsWindowLayer(wsDisplay, guiApp.mainWindow.WindowID, guiApp.videoWindow.isFullScreen);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
511
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
512 if (guiApp.menuIsPresent)
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35658
diff changeset
513 wsWindowLayer(wsDisplay, guiApp.menuWindow.WindowID, guiApp.videoWindow.isFullScreen);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
514 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
515
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
516 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
517 * @brief Switch to play mode.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
518 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
519 void uiPlay(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
520 {
34401
af8838c2b60b Allow uiPlay() without guiInfo.Filename for some stream types.
ib
parents: 34400
diff changeset
521 if (guiInfo.Playing == GUI_PLAY)
af8838c2b60b Allow uiPlay() without guiInfo.Filename for some stream types.
ib
parents: 34400
diff changeset
522 return;
af8838c2b60b Allow uiPlay() without guiInfo.Filename for some stream types.
ib
parents: 34400
diff changeset
523
af8838c2b60b Allow uiPlay() without guiInfo.Filename for some stream types.
ib
parents: 34400
diff changeset
524 if (guiInfo.StreamType != STREAMTYPE_CDDA &&
af8838c2b60b Allow uiPlay() without guiInfo.Filename for some stream types.
ib
parents: 34400
diff changeset
525 guiInfo.StreamType != STREAMTYPE_VCD &&
af8838c2b60b Allow uiPlay() without guiInfo.Filename for some stream types.
ib
parents: 34400
diff changeset
526 guiInfo.StreamType != STREAMTYPE_DVD &&
36429
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
527 guiInfo.StreamType != STREAMTYPE_TV &&
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
528 guiInfo.StreamType != STREAMTYPE_DVB &&
34401
af8838c2b60b Allow uiPlay() without guiInfo.Filename for some stream types.
ib
parents: 34400
diff changeset
529 (!guiInfo.Filename || (guiInfo.Filename[0] == 0)))
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
530 return;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
531
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
532 if (guiInfo.Playing == GUI_PAUSE) {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
533 uiPause();
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
534 return;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
535 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
536
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33725
diff changeset
537 gui(GUI_SET_STATE, (void *)GUI_PLAY);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
538 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
539
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
540 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
541 * @brief Switch to pause mode.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
542 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
543 void uiPause(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
544 {
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
545 if (!guiInfo.Playing)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
546 return;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
547
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
548 if (guiInfo.Playing == GUI_PLAY) {
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
549 mp_cmd_t *cmd = calloc(1, sizeof(*cmd));
35433
208bfdd26819 Cosmetic: Adjust indent and insert blank lines.
ib
parents: 35432
diff changeset
550
35432
a545e4994460 Check return value to avoid segmentation fault.
ib
parents: 35431
diff changeset
551 if (cmd) {
35433
208bfdd26819 Cosmetic: Adjust indent and insert blank lines.
ib
parents: 35432
diff changeset
552 cmd->id = MP_CMD_PAUSE;
208bfdd26819 Cosmetic: Adjust indent and insert blank lines.
ib
parents: 35432
diff changeset
553 cmd->name = strdup("pause");
208bfdd26819 Cosmetic: Adjust indent and insert blank lines.
ib
parents: 35432
diff changeset
554 mp_input_queue_cmd(cmd);
35432
a545e4994460 Check return value to avoid segmentation fault.
ib
parents: 35431
diff changeset
555 }
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
556 } else
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
557 guiInfo.Playing = GUI_PLAY;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
558 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
559
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
560 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
561 * @brief Adjust GUI items to reflect current state (i.e. current playing mode).
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
562 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
563 void uiState(void)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
564 {
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
565 if (guiInfo.Playing == GUI_STOP || guiInfo.Playing == GUI_PAUSE) {
33978
81aaa1420337 Replace some btnModify() calls by btnSet().
ib
parents: 33960
diff changeset
566 btnSet(evPlaySwitchToPause, btnReleased);
81aaa1420337 Replace some btnModify() calls by btnSet().
ib
parents: 33960
diff changeset
567 btnSet(evPauseSwitchToPlay, btnDisabled);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
568 } else {
35434
e589db40d32e Cosmetic: Switch two code lines.
ib
parents: 35433
diff changeset
569 btnSet(evPauseSwitchToPlay, btnReleased);
33978
81aaa1420337 Replace some btnModify() calls by btnSet().
ib
parents: 33960
diff changeset
570 btnSet(evPlaySwitchToPause, btnDisabled);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
571 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
572 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
573
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
574 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
575 * @brief Seek new playback position.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
576 *
35438
b3efe5e9f0bf Cosmetic: Correct indent.
ib
parents: 35437
diff changeset
577 * The new position is a relative one.
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
578 *
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
579 * @param sec seconds to seek (either forward (> 0) or backward (< 0))
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
580 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
581 void uiRelSeek(float sec)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
582 {
32971
dc905c693b7a Choose informative variable names.
ib
parents: 32970
diff changeset
583 rel_seek_secs = sec;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
584 abs_seek_pos = 0;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
585 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
586
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
587 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
588 * @brief Seek new playback position.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
589 *
35438
b3efe5e9f0bf Cosmetic: Correct indent.
ib
parents: 35437
diff changeset
590 * The new position is an absolute one.
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
591 *
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
592 * @param percent percentage of playback time to position to
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
593 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
594 void uiAbsSeek(float percent)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
595 {
32971
dc905c693b7a Choose informative variable names.
ib
parents: 32970
diff changeset
596 rel_seek_secs = percent / 100.0;
35431
20c90da2ba0d Use symbolic constants to set abs_seek_pos.
ib
parents: 35430
diff changeset
597 abs_seek_pos = SEEK_ABSOLUTE | SEEK_FACTOR;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
598 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
599
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
600 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
601 * @brief Change to a different skin.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
602 *
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
603 * @param name name of the skin to change to
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
604 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
605 void uiChangeSkin(char *name)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
606 {
35799
fa803d807b58 Cosmetic: Rename variables.
ib
parents: 35796
diff changeset
607 int was_menu, was_playbar;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
608
35799
fa803d807b58 Cosmetic: Rename variables.
ib
parents: 35796
diff changeset
609 was_menu = guiApp.menuIsPresent;
fa803d807b58 Cosmetic: Rename variables.
ib
parents: 35796
diff changeset
610 was_playbar = guiApp.playbarIsPresent;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
611
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35485
diff changeset
612 mainVisible = False;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
613
32893
c873777e957d Get rid of needless listItems variable and pointer.
ib
parents: 32882
diff changeset
614 if (skinRead(name) != 0) {
c873777e957d Get rid of needless listItems variable and pointer.
ib
parents: 32882
diff changeset
615 if (skinRead(skinName) != 0) {
36694
eed2fb870f43 Rename symbolic constants of GUI help message texts.
ib
parents: 36429
diff changeset
616 gmp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_GUI_MSG_SkinCfgError, skinName);
35801
98693cc5df48 Exit GUI if we can't return to the skin we started with.
ib
parents: 35800
diff changeset
617 mplayer(MPLAYER_EXIT_GUI, EXIT_ERROR, 0);
32893
c873777e957d Get rid of needless listItems variable and pointer.
ib
parents: 32882
diff changeset
618 }
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
619 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
620
35800
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
621 /* reload main window (must be first!) */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
622
35800
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
623 uiMainDone();
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
624 uiMainInit();
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
625
35800
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
626 wsWindowVisibility(&guiApp.mainWindow, wsShowWindow);
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
627 mainVisible = True;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
628
35805
5d163370a554 Restructure code for video window in uiChangeSkin().
ib
parents: 35804
diff changeset
629 /* adjust video window */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
630
35805
5d163370a554 Restructure code for video window in uiChangeSkin().
ib
parents: 35804
diff changeset
631 if (guiApp.video.Bitmap.Image) {
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35658
diff changeset
632 wsImageResize(&guiApp.videoWindow, guiApp.video.Bitmap.Width, guiApp.video.Bitmap.Height);
35805
5d163370a554 Restructure code for video window in uiChangeSkin().
ib
parents: 35804
diff changeset
633 wsImageRender(&guiApp.videoWindow, guiApp.video.Bitmap.Image);
5d163370a554 Restructure code for video window in uiChangeSkin().
ib
parents: 35804
diff changeset
634 }
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
635
35805
5d163370a554 Restructure code for video window in uiChangeSkin().
ib
parents: 35804
diff changeset
636 if (!guiInfo.Playing) {
5d163370a554 Restructure code for video window in uiChangeSkin().
ib
parents: 35804
diff changeset
637 if (!guiApp.videoWindow.isFullScreen) {
35806
ea15d7aebf13 Cosmetic: Adjust indent.
ib
parents: 35805
diff changeset
638 wsWindowResize(&guiApp.videoWindow, guiApp.video.width, guiApp.video.height);
ea15d7aebf13 Cosmetic: Adjust indent.
ib
parents: 35805
diff changeset
639 wsWindowMove(&guiApp.videoWindow, False, guiApp.video.x, guiApp.video.y);
ea15d7aebf13 Cosmetic: Adjust indent.
ib
parents: 35805
diff changeset
640 }
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
641
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35658
diff changeset
642 wsWindowRedraw(&guiApp.videoWindow);
35805
5d163370a554 Restructure code for video window in uiChangeSkin().
ib
parents: 35804
diff changeset
643 }
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
644
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34663
diff changeset
645 /* reload playbar */
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
646
35799
fa803d807b58 Cosmetic: Rename variables.
ib
parents: 35796
diff changeset
647 if (was_playbar)
35796
497a1c45a597 Add uiMainDone(), uiVideoDone(), uiPlaybarDone() and uiMenuDone().
ib
parents: 35795
diff changeset
648 uiPlaybarDone();
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
649
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
650 uiPlaybarInit();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
651
35800
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
652 /* reload menu window */
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
653
35804
25852c740093 Remove code almost identical to uiMenuDone() plus uiMenuInit().
ib
parents: 35801
diff changeset
654 if (was_menu)
25852c740093 Remove code almost identical to uiMenuDone() plus uiMenuInit().
ib
parents: 35801
diff changeset
655 uiMenuDone();
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
656
35804
25852c740093 Remove code almost identical to uiMenuDone() plus uiMenuInit().
ib
parents: 35801
diff changeset
657 uiMenuInit();
35800
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
658
6a7be705643b Change window reload order.
ib
parents: 35799
diff changeset
659 /* */
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
660
36973
79fe279d3bac Set state for buttons volume and balance on skin change.
ib
parents: 36967
diff changeset
661 if (guiInfo.AudioPassthrough)
79fe279d3bac Set state for buttons volume and balance on skin change.
ib
parents: 36967
diff changeset
662 btnSet(evSetVolume, btnDisabled);
79fe279d3bac Set state for buttons volume and balance on skin change.
ib
parents: 36967
diff changeset
663 if (guiInfo.AudioChannels < 2 || guiInfo.AudioPassthrough)
79fe279d3bac Set state for buttons volume and balance on skin change.
ib
parents: 36967
diff changeset
664 btnSet(evSetBalance, btnDisabled);
79fe279d3bac Set state for buttons volume and balance on skin change.
ib
parents: 36967
diff changeset
665
36975
91f11a849d4d Remove unnecessary, bothering parentheses.
ib
parents: 36973
diff changeset
666 btnSet(evFullScreen, guiApp.videoWindow.isFullScreen ? btnPressed : btnReleased);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
667
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35658
diff changeset
668 wsWindowLayer(wsDisplay, guiApp.mainWindow.WindowID, guiApp.videoWindow.isFullScreen);
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35658
diff changeset
669 wsWindowLayer(wsDisplay, guiApp.menuWindow.WindowID, guiApp.videoWindow.isFullScreen);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
670 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
671
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
672 /**
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35438
diff changeset
673 * @brief Set the file to be played.
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
674 *
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
675 * @param dir directory (optional, else NULL)
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
676 * @param name filename
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
677 * @param type stream type of the file
35483
8ac7761bcb7c Clear information associated with a file when setting a new one.
ib
parents: 35462
diff changeset
678 *
8ac7761bcb7c Clear information associated with a file when setting a new one.
ib
parents: 35462
diff changeset
679 * @note All #guiInfo members associated with the file will be cleared.
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
680 */
35968
9474726062ef Change parameter declaration to const.
ib
parents: 35806
diff changeset
681 void uiSetFile(const char *dir, const char *name, int type)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
682 {
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
683 if (!dir)
33740
2c02269701bd Remove macros guiSetFilename() and guiSetDF() from interface.h.
ib
parents: 33739
diff changeset
684 setdup(&guiInfo.Filename, name);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
685 else
33740
2c02269701bd Remove macros guiSetFilename() and guiSetDF() from interface.h.
ib
parents: 33739
diff changeset
686 setddup(&guiInfo.Filename, dir, name);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
687
34064
54becc464788 Set MPlayer filename in uiSetFileName().
ib
parents: 33993
diff changeset
688 filename = guiInfo.Filename;
34399
f2c03009068d Don't explicitly set stream type if the type doesn't change.
ib
parents: 34387
diff changeset
689
35483
8ac7761bcb7c Clear information associated with a file when setting a new one.
ib
parents: 35462
diff changeset
690 if (type != SAME_STREAMTYPE) {
34400
19b68f388735 Cosmetic: Adjust indent.
ib
parents: 34399
diff changeset
691 guiInfo.StreamType = type;
35568
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
692 uiUnsetMedia(False);
35483
8ac7761bcb7c Clear information associated with a file when setting a new one.
ib
parents: 35462
diff changeset
693 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
694 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
695
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
696 /**
35453
c8f3bba6250a Add an uiSetFile() counterpart.
ib
parents: 35452
diff changeset
697 * @brief Unset the file being played.
c8f3bba6250a Add an uiSetFile() counterpart.
ib
parents: 35452
diff changeset
698 */
c8f3bba6250a Add an uiSetFile() counterpart.
ib
parents: 35452
diff changeset
699 void uiUnsetFile(void)
c8f3bba6250a Add an uiSetFile() counterpart.
ib
parents: 35452
diff changeset
700 {
c8f3bba6250a Add an uiSetFile() counterpart.
ib
parents: 35452
diff changeset
701 uiSetFile(NULL, NULL, STREAMTYPE_DUMMY);
c8f3bba6250a Add an uiSetFile() counterpart.
ib
parents: 35452
diff changeset
702 }
c8f3bba6250a Add an uiSetFile() counterpart.
ib
parents: 35452
diff changeset
703
c8f3bba6250a Add an uiSetFile() counterpart.
ib
parents: 35452
diff changeset
704 /**
35562
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
705 * @brief Unset media information.
35568
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
706 *
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
707 * @param totals whether to unset number of chapters and angles (#True) or
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
708 * just track, chapter and angle (#False) as well
35562
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
709 */
35568
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
710 void uiUnsetMedia(int totals)
35562
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
711 {
36967
ed7aac796e22 Cosmetic: Adjust indent.
ib
parents: 36966
diff changeset
712 guiInfo.VideoWidth = 0;
ed7aac796e22 Cosmetic: Adjust indent.
ib
parents: 36966
diff changeset
713 guiInfo.VideoHeight = 0;
ed7aac796e22 Cosmetic: Adjust indent.
ib
parents: 36966
diff changeset
714 guiInfo.AudioChannels = 0;
36966
ef9dea4785bc Detect audio AC3/DTS pass-through S/PDIF.
ib
parents: 36958
diff changeset
715 guiInfo.AudioPassthrough = False;
36967
ed7aac796e22 Cosmetic: Adjust indent.
ib
parents: 36966
diff changeset
716 guiInfo.RunningTime = 0;
35568
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
717
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
718 if (totals) {
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
719 guiInfo.Chapters = 0;
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
720 guiInfo.Angles = 0;
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
721 } else {
35569
8381468bb46c Cosmetic: Adjust indent.
ib
parents: 35568
diff changeset
722 guiInfo.Track = 0;
8381468bb46c Cosmetic: Adjust indent.
ib
parents: 35568
diff changeset
723 guiInfo.Chapter = 0;
8381468bb46c Cosmetic: Adjust indent.
ib
parents: 35568
diff changeset
724 guiInfo.Angle = 0;
35568
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35562
diff changeset
725 }
35562
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
726
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
727 nfree(guiInfo.CodecName);
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
728 nfree(guiInfo.AudioFilename);
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
729 nfree(guiInfo.SubtitleFilename);
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
730 }
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
731
8b3791b648c6 Add a function to unset media information.
ib
parents: 35561
diff changeset
732 /**
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
733 * @brief Set file to be played to current playlist entry.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
734 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
735 void uiCurr(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
736 {
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
737 plItem *curr;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
738
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
739 if (guiInfo.Playing == GUI_PAUSE)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
740 return;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
741
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
742 switch (guiInfo.StreamType) {
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
743 case STREAMTYPE_CDDA:
34077
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
744 case STREAMTYPE_VCD:
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
745 case STREAMTYPE_DVD:
36429
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
746 case STREAMTYPE_TV:
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
747 case STREAMTYPE_DVB:
35433
208bfdd26819 Cosmetic: Adjust indent and insert blank lines.
ib
parents: 35432
diff changeset
748
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
749 break;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
750
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
751 default:
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
752
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34610
diff changeset
753 curr = listMgr(PLAYLIST_ITEM_GET_CURR, 0);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
754
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
755 if (curr) {
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35438
diff changeset
756 uiSetFile(curr->path, curr->name, STREAMTYPE_FILE);
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35485
diff changeset
757 guiInfo.PlaylistNext = False;
36772
0da6c7ff95d2 Revise code of listMgr() command PLAYLIST_ITEM_GET_POS.
ib
parents: 36762
diff changeset
758 guiInfo.Track = (uintptr_t)listMgr(PLAYLIST_ITEM_GET_POS, curr);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
759 break;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
760 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
761
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
762 return;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
763 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
764
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
765 if (guiInfo.Playing == GUI_PLAY)
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
766 uiEvent(evPlay, 0);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
767 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
768
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
769 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
770 * @brief Switch to previous playback track.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
771 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
772 void uiPrev(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
773 {
35571
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
774 int stop = False, unset = True;
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
775 plItem *prev = NULL;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
776
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
777 if (guiInfo.Playing == GUI_PAUSE)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
778 return;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
779
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
780 switch (guiInfo.StreamType) {
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
781 case STREAMTYPE_CDDA:
35426
fb3c60a47b2c Cosmetic: Prettify uiPrev().
ib
parents: 35425
diff changeset
782
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
783 if (--guiInfo.Track == 0) {
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
784 guiInfo.Track = 1;
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35485
diff changeset
785 stop = True;
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
786 }
35426
fb3c60a47b2c Cosmetic: Prettify uiPrev().
ib
parents: 35425
diff changeset
787
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
788 break;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
789
34077
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
790 case STREAMTYPE_VCD:
35426
fb3c60a47b2c Cosmetic: Prettify uiPrev().
ib
parents: 35425
diff changeset
791
34077
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
792 if (--guiInfo.Track == 1) {
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
793 guiInfo.Track = 2;
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35485
diff changeset
794 stop = True;
34077
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
795 }
35426
fb3c60a47b2c Cosmetic: Prettify uiPrev().
ib
parents: 35425
diff changeset
796
34077
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
797 break;
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
798
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
799 case STREAMTYPE_DVD:
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27370
diff changeset
800
33876
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
801 if (--guiInfo.Chapter == 0) {
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
802 guiInfo.Chapter = 1;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
803
35428
0833bccb3c7b Fix bug introduced in r35521.
ib
parents: 35427
diff changeset
804 if (--guiInfo.Track == 0) {
33876
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
805 guiInfo.Track = 1;
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35485
diff changeset
806 stop = True;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
807 }
35571
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
808 } else
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
809 unset = False;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
810
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
811 break;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
812
36429
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
813 case STREAMTYPE_TV:
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
814 case STREAMTYPE_DVB:
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
815
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
816 if (guiInfo.Playing == GUI_PLAY)
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
817 mp_input_queue_cmd(mp_input_parse_cmd("tv_step_channel -1"));
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
818
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
819 return;
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
820
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
821 default:
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
822
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34610
diff changeset
823 prev = listMgr(PLAYLIST_ITEM_GET_PREV, 0);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
824
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
825 if (prev) {
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35438
diff changeset
826 uiSetFile(prev->path, prev->name, STREAMTYPE_FILE);
35500
6422042d74d9 Simplify assignments.
ib
parents: 35497
diff changeset
827 guiInfo.PlaylistNext = !guiInfo.Playing;
36772
0da6c7ff95d2 Revise code of listMgr() command PLAYLIST_ITEM_GET_POS.
ib
parents: 36762
diff changeset
828 guiInfo.Track = (uintptr_t)listMgr(PLAYLIST_ITEM_GET_POS, prev);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
829 break;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
830 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
831
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
832 return;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
833 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
834
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
835 if (stop)
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
836 uiEvent(evStop, 0);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
837
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
838 if (guiInfo.Playing == GUI_PLAY)
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
839 uiEvent(evPlay, 0);
35571
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
840 else if (!stop && !prev && unset)
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
841 uiUnsetMedia(True);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
842 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
843
35437
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
844 /**
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
845 * @brief Switch to next playback track.
f812dd8ae52b Add doxygen comments to actions.c.
ib
parents: 35435
diff changeset
846 */
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
847 void uiNext(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
848 {
35571
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
849 int stop = False, unset = True;
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
850 plItem *next = NULL;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
851
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
852 if (guiInfo.Playing == GUI_PAUSE)
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
853 return;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
854
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
855 switch (guiInfo.StreamType) {
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
856 case STREAMTYPE_CDDA:
35425
e9f57004e925 Don't treat STREAMTYPE_VCD differently in uiNext().
ib
parents: 35379
diff changeset
857 case STREAMTYPE_VCD:
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
858
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
859 if (++guiInfo.Track > guiInfo.Tracks) {
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
860 guiInfo.Track = guiInfo.Tracks;
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35485
diff changeset
861 stop = True;
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
862 }
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
863
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
864 break;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34077
diff changeset
865
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
866 case STREAMTYPE_DVD:
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
867
35570
ca631388b039 Fix condition in uiNext().
ib
parents: 35569
diff changeset
868 if (guiInfo.Chapter++ >= guiInfo.Chapters) {
33876
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
869 guiInfo.Chapter = 1;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
870
33876
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
871 if (++guiInfo.Track > guiInfo.Tracks) {
35561
8889d320734f Cosmetic: Adjust indent.
ib
parents: 35560
diff changeset
872 guiInfo.Track = guiInfo.Tracks;
35560
1a2200a93ea8 Make DVD stop if manually advancing beyond last chapter of last track.
ib
parents: 35528
diff changeset
873 guiInfo.Chapter = guiInfo.Chapters;
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35485
diff changeset
874 stop = True;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
875 }
35571
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
876 } else
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
877 unset = False;
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
878
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
879 break;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
880
36429
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
881 case STREAMTYPE_TV:
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
882 case STREAMTYPE_DVB:
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
883
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
884 if (guiInfo.Playing == GUI_PLAY)
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
885 mp_input_queue_cmd(mp_input_parse_cmd("tv_step_channel 1"));
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
886
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
887 return;
28ea255e40ce Add support for TV/DVB to the GUI.
ib
parents: 36276
diff changeset
888
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
889 default:
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
890
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34610
diff changeset
891 next = listMgr(PLAYLIST_ITEM_GET_NEXT, 0);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
892
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
893 if (next) {
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35438
diff changeset
894 uiSetFile(next->path, next->name, STREAMTYPE_FILE);
35500
6422042d74d9 Simplify assignments.
ib
parents: 35497
diff changeset
895 guiInfo.PlaylistNext = !guiInfo.Playing;
36772
0da6c7ff95d2 Revise code of listMgr() command PLAYLIST_ITEM_GET_POS.
ib
parents: 36762
diff changeset
896 guiInfo.Track = (uintptr_t)listMgr(PLAYLIST_ITEM_GET_POS, next);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
897 break;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
898 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
899
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
900 return;
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
901 }
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
902
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
903 if (stop)
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
904 uiEvent(evStop, 0);
32881
dd3b365972a4 Cosmetic: Format to MPlayer coding style.
ib
parents: 32537
diff changeset
905
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
906 if (guiInfo.Playing == GUI_PLAY)
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35771
diff changeset
907 uiEvent(evPlay, 0);
35571
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
908 else if (!stop && !next && unset)
29761b2b8cb0 Reset media information while changing tracks in stop mode.
ib
parents: 35570
diff changeset
909 uiUnsetMedia(True);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
910 }