annotate gui/interface.c @ 36199:25e1fb36262e

mcdeint: avoid uninited data read Do not read padding or out-of-buffer values when computing the output value for a pixel close to the image buffer edge. This avoids non visible artifacts which affected the output checksum. Patch by Stefano Sabatini, stefasab gmail
author cehoyos
date Sat, 01 Jun 2013 23:07:27 +0000
parents 6c3dc8fec01f
children 703a51ce08c8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26458
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
1 /*
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
2 * This file is part of MPlayer.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
3 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
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: 25851
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
7 * (at your option) any later version.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
8 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
12 * GNU General Public License for more details.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
13 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
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: 25851
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 25851
diff changeset
17 */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
18
33754
1909e4015a3c Add missing #includes <stdarg.h> and <stdio.h>.
ib
parents: 33752
diff changeset
19 #include <stdarg.h>
1909e4015a3c Add missing #includes <stdarg.h> and <stdio.h>.
ib
parents: 33752
diff changeset
20 #include <stdio.h>
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
21 #include <stdlib.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
22 #include <string.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
23
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
24 #include "interface.h"
35525
e27855a45128 Rebuild GUI directory structure.
ib
parents: 35524
diff changeset
25 #include "app/app.h"
e27855a45128 Rebuild GUI directory structure.
ib
parents: 35524
diff changeset
26 #include "app/gui.h"
35529
8ad4d2fb46e8 Rebuild GUI directory structure.
ib
parents: 35528
diff changeset
27 #include "dialog/dialog.h"
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
28 #include "skin/skin.h"
35772
3fec1d4b2736 Relocate uiMainEvent() prototype.
ib
parents: 35768
diff changeset
29 #include "ui/actions.h"
35528
ab07b17fddfb Rebuild GUI directory structure.
ib
parents: 35525
diff changeset
30 #include "ui/ui.h"
33741
962dc701989d Create new file list.c for list related functions.
ib
parents: 33740
diff changeset
31 #include "util/list.h"
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents: 33737
diff changeset
32 #include "util/mem.h"
33737
71c29e8ec68f Move string functions from interface.c to string.c.
ib
parents: 33734
diff changeset
33 #include "util/string.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
34 #include "wm/ws.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
35 #include "wm/wsxdnd.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
36
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
37 #include "access_mpcontext.h"
35462
e671bb33230f Add video codec name to guiInfo structure.
ib
parents: 35458
diff changeset
38 #include "codec-cfg.h"
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
39 #include "config.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
40 #include "help_mp.h"
36032
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35796
diff changeset
41 #include "mixer.h"
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35796
diff changeset
42 #include "mp_msg.h"
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35796
diff changeset
43 #include "mpcommon.h"
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35796
diff changeset
44 #include "mplayer.h"
c667e34fb941 Cosmetic: Rearrange #includes.
ib
parents: 35796
diff changeset
45 #include "path.h"
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
46 #include "input/input.h"
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
47 #include "libaf/equalizer.h"
33689
8d0290220239 Replace numeric constants for gtkEquChannels array size.
ib
parents: 33688
diff changeset
48 #include "libavutil/common.h"
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
49 #include "libmpcodecs/dec_audio.h"
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
50 #include "libmpcodecs/dec_video.h"
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
51 #include "libmpcodecs/vd.h"
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
52 #include "libmpcodecs/vf.h"
33398
3feb6b8799a1 Revert r33482.
ib
parents: 33395
diff changeset
53 #include "libvo/video_out.h"
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
54 #include "libvo/x11_common.h"
27341
e7c989f7a7c9 Start unifying names of internal preprocessor directives.
diego
parents: 26458
diff changeset
55 #ifdef CONFIG_DVDREAD
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
56 #include "stream/stream_dvd.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
57 #endif
35523
1857fa5cbfcb Rearrange #includes and add missing one.
ib
parents: 35519
diff changeset
58 #include "sub/font_load.h"
1857fa5cbfcb Rearrange #includes and add missing one.
ib
parents: 35519
diff changeset
59 #include "sub/sub.h"
1857fa5cbfcb Rearrange #includes and add missing one.
ib
parents: 35519
diff changeset
60 #include "sub/subreader.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
61
35524
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
62 /**
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
63 * @brief Initialize interface data.
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
64 */
33662
03117468ae0e Remove needless memset initialization of guiInfo.
ib
parents: 33661
diff changeset
65 guiInterface_t guiInfo = {
35430
2d55540614a9 Move uiProcessNextInPlaylist to the guiInfo structure.
ib
parents: 35429
diff changeset
66 .StreamType = STREAMTYPE_DUMMY,
2d55540614a9 Move uiProcessNextInPlaylist to the guiInfo structure.
ib
parents: 35429
diff changeset
67 .Balance = 50.0f,
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35489
diff changeset
68 .PlaylistNext = True
33662
03117468ae0e Remove needless memset initialization of guiInfo.
ib
parents: 33661
diff changeset
69 };
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
70
36049
31f6a88593b3 Cosmetic: Rename static variables.
ib
parents: 36043
diff changeset
71 static int guiInitialized;
33265
62c0471bcf8c Free config.
ib
parents: 33263
diff changeset
72
33745
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
73 /* MPlayer -> GUI */
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
74
35524
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
75 /**
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
76 * @brief Initialize and start the GUI.
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
77 */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
78 void guiInit(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
79 {
35794
153a4c76e291 Cosmetic: Rename variable.
ib
parents: 35790
diff changeset
80 int ret;
34664
4df4d842d5fb Remove global variable pointing to current playlist item.
ib
parents: 34663
diff changeset
81 plItem *playlist;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
82
33530
7ced3616af42 Revise some messages.
ib
parents: 33529
diff changeset
83 mp_msg(MSGT_GPLAYER, MSGL_V, "GUI init.\n");
7ced3616af42 Revise some messages.
ib
parents: 33529
diff changeset
84
35627
51358e7bde85 Cosmetic: Add and adjust comments.
ib
parents: 35626
diff changeset
85 /* check options */
51358e7bde85 Cosmetic: Add and adjust comments.
ib
parents: 35626
diff changeset
86
34403
bca629bb50cf Initialize device options in guiInit().
ib
parents: 34399
diff changeset
87 if (!cdrom_device)
bca629bb50cf Initialize device options in guiInit().
ib
parents: 34399
diff changeset
88 cdrom_device = strdup(DEFAULT_CDROM_DEVICE);
bca629bb50cf Initialize device options in guiInit().
ib
parents: 34399
diff changeset
89 if (!dvd_device)
bca629bb50cf Initialize device options in guiInit().
ib
parents: 34399
diff changeset
90 dvd_device = strdup(DEFAULT_DVD_DEVICE);
35625
4188b70dc3ff Don't unconditionally set gtkDXR3Device.
ib
parents: 35605
diff changeset
91 #ifdef CONFIG_DXR3
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
92 if (!gtkDXR3Device)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
93 gtkDXR3Device = strdup("/dev/em8300-0");
35625
4188b70dc3ff Don't unconditionally set gtkDXR3Device.
ib
parents: 35605
diff changeset
94 #endif
32927
edb972e22021 Fix memory leak in appInitStruct().
ib
parents: 32900
diff changeset
95
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
96 if (stream_cache_size > 0) {
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35489
diff changeset
97 gtkCacheOn = True;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
98 gtkCacheSize = stream_cache_size;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
99 } else if (stream_cache_size == 0)
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35489
diff changeset
100 gtkCacheOn = False;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
101
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
102 if (autosync && (autosync != gtkAutoSync)) {
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35489
diff changeset
103 gtkAutoSyncOn = True;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
104 gtkAutoSync = autosync;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
105 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27393
diff changeset
106
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
107 gtkASS.enabled = ass_enabled;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
108 gtkASS.use_margins = ass_use_margins;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
109 gtkASS.top_margin = ass_top_margin;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
110 gtkASS.bottom_margin = ass_bottom_margin;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
111
35627
51358e7bde85 Cosmetic: Add and adjust comments.
ib
parents: 35626
diff changeset
112 /* initialize graphical user interfaces */
51358e7bde85 Cosmetic: Add and adjust comments.
ib
parents: 35626
diff changeset
113
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
114 wsInit(mDisplay);
35629
365dc9336f0d Pass parameter instead of using global variable.
ib
parents: 35627
diff changeset
115 gtkInit(mDisplayName);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
116
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
117 /* load skin */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
118
36043
40c13df3d953 Cosmetic: Rename variables (consistently).
ib
parents: 36036
diff changeset
119 skinDirInHome = get_path("skins");
40c13df3d953 Cosmetic: Rename variables (consistently).
ib
parents: 36036
diff changeset
120 skinDirInData = MPLAYER_DATADIR "/skins";
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
121
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33978
diff changeset
122 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[interface] skin directory #1: %s\n", skinDirInHome);
36043
40c13df3d953 Cosmetic: Rename variables (consistently).
ib
parents: 36036
diff changeset
123 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[interface] skin directory #2: %s\n", skinDirInData);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
124
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
125 if (!skinName)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
126 skinName = strdup("default");
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
127
35794
153a4c76e291 Cosmetic: Rename variable.
ib
parents: 35790
diff changeset
128 ret = skinRead(skinName);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
129
35794
153a4c76e291 Cosmetic: Rename variable.
ib
parents: 35790
diff changeset
130 if (ret == -1 && strcmp(skinName, "default") != 0) {
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
131 mp_msg(MSGT_GPLAYER, MSGL_WARN, MSGTR_SKIN_SKINCFG_SelectedSkinNotFound, skinName);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
132
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
133 skinName = strdup("default");
35794
153a4c76e291 Cosmetic: Rename variable.
ib
parents: 35790
diff changeset
134 ret = skinRead(skinName);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
135 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
136
35794
153a4c76e291 Cosmetic: Rename variable.
ib
parents: 35790
diff changeset
137 switch (ret) {
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
138 case -1:
33024
21e0de9c355f Show GUI message when GUI must exit.
ib
parents: 33023
diff changeset
139 gmp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_SKIN_SKINCFG_SkinNotFound, skinName);
33768
cee9987bc81d Remove guiExit().
ib
parents: 33766
diff changeset
140 mplayer(MPLAYER_EXIT_GUI, EXIT_ERROR, 0);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
141
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
142 case -2:
33025
7f06781043d9 Revise some GUI error message texts.
ib
parents: 33024
diff changeset
143 gmp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_SKIN_SKINCFG_SkinCfgError, skinName);
33768
cee9987bc81d Remove guiExit().
ib
parents: 33766
diff changeset
144 mplayer(MPLAYER_EXIT_GUI, EXIT_ERROR, 0);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
145 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
146
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
147 /* initialize windows */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
148
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
149 if (gui_save_pos) {
33218
f0c2a62e3e89 Position windows initially at coordinates given in skin file.
ib
parents: 33053
diff changeset
150 if (gui_main_pos_x != -3)
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
151 guiApp.main.x = gui_main_pos_x;
33218
f0c2a62e3e89 Position windows initially at coordinates given in skin file.
ib
parents: 33053
diff changeset
152 if (gui_main_pos_y != -3)
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
153 guiApp.main.y = gui_main_pos_y;
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
154 if (gui_video_pos_x != -3)
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
155 guiApp.video.x = gui_video_pos_x;
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
156 if (gui_video_pos_y != -3)
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
157 guiApp.video.y = gui_video_pos_y;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
158 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27393
diff changeset
159
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
160 if (WinID > 0) {
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
161 guiApp.videoWindow.Parent = WinID;
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
162 guiApp.video.x = 0;
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
163 guiApp.video.y = 0;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
164 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
165
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
166 if (guiWinID >= 0)
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
167 guiApp.mainWindow.Parent = guiWinID;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
168
35780
4073fff5efc7 Add new functions uiMainInit() and uiVideoInit().
ib
parents: 35773
diff changeset
169 uiMainInit(); // main window must be first!
35781
454b0d784d95 Add comment on order of window initialization.
ib
parents: 35780
diff changeset
170 uiVideoInit(); // video window must be second!
35780
4073fff5efc7 Add new functions uiMainInit() and uiVideoInit().
ib
parents: 35773
diff changeset
171 uiPlaybarInit();
4073fff5efc7 Add new functions uiMainInit() and uiVideoInit().
ib
parents: 35773
diff changeset
172 uiMenuInit();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
173
35788
e3dcd5854344 Move video window initialization code to uiVideoInit().
ib
parents: 35781
diff changeset
174 WinID = guiApp.videoWindow.WindowID;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
175
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
176 btnModify(evSetVolume, guiInfo.Volume);
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
177 btnModify(evSetBalance, guiInfo.Balance);
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
178 btnModify(evSetMoviePosition, guiInfo.Position);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
179
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
180 wsWindowVisibility(&guiApp.mainWindow, wsShowWindow);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
181
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
182 if (gtkShowVideoWindow) {
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
183 wsWindowVisibility(&guiApp.videoWindow, wsShowWindow);
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
184
35654
4d7f8eba65ee Cosmetic: Adjust indent.
ib
parents: 35653
diff changeset
185 guiInfo.VideoWindow = True;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
186
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
187 if (gtkLoadFullscreen)
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
188 uiFullScreen();
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
189 } else
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
190 wsWindowBackground(&guiApp.videoWindow, 0, 0, 0);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
191
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
192 if (gtkLoadFullscreen)
33978
81aaa1420337 Replace some btnModify() calls by btnSet().
ib
parents: 33961
diff changeset
193 btnSet(evFullScreen, btnPressed);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
194
33615
1f9a31d4f114 Replace all playback integer constants by their symbolic constants.
ib
parents: 33614
diff changeset
195 guiInfo.Playing = GUI_STOP;
33609
beec78d9146f Enable fullscreen with inactive video window.
ib
parents: 33595
diff changeset
196
34664
4df4d842d5fb Remove global variable pointing to current playlist item.
ib
parents: 34663
diff changeset
197 playlist = listMgr(PLAYLIST_ITEM_GET_CURR, 0);
4df4d842d5fb Remove global variable pointing to current playlist item.
ib
parents: 34663
diff changeset
198
4df4d842d5fb Remove global variable pointing to current playlist item.
ib
parents: 34663
diff changeset
199 if (playlist && !filename) {
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35430
diff changeset
200 uiSetFile(playlist->path, playlist->name, STREAMTYPE_FILE);
35488
9ef9131adfe5 Provide a number of tracks information for files in playlists.
ib
parents: 35484
diff changeset
201 guiInfo.Tracks = (int)listMgr(PLAYLIST_ITEM_GET_POS, 0);
35489
214c3f971eb0 Cosmetic: Adjust indent.
ib
parents: 35488
diff changeset
202 guiInfo.Track = 1;
214c3f971eb0 Cosmetic: Adjust indent.
ib
parents: 35488
diff changeset
203 filename = NULL; // don't start playing
34064
54becc464788 Set MPlayer filename in uiSetFileName().
ib
parents: 34058
diff changeset
204 }
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
205
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
206 if (subdata)
33897
e0d211c62cf7 Cosmetic: Rename some guiInfo members.
ib
parents: 33895
diff changeset
207 setdup(&guiInfo.SubtitleFilename, subdata->filename);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
208
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
209 mplayerLoadFont();
33265
62c0471bcf8c Free config.
ib
parents: 33263
diff changeset
210
36049
31f6a88593b3 Cosmetic: Rename static variables.
ib
parents: 36043
diff changeset
211 guiInitialized = True;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
212 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
213
35524
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
214 /**
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
215 * @brief Stop and finalize the GUI.
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
216 */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
217 void guiDone(void)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
218 {
36049
31f6a88593b3 Cosmetic: Rename static variables.
ib
parents: 36043
diff changeset
219 if (guiInitialized) {
33308
0c2f2368a031 Cosmetic: Adjust indent.
ib
parents: 33307
diff changeset
220 if (gui_save_pos) {
34698
456784c6c904 Cosmetic: Adjust indent.
ib
parents: 34697
diff changeset
221 gui_main_pos_x = guiApp.mainWindow.X;
456784c6c904 Cosmetic: Adjust indent.
ib
parents: 34697
diff changeset
222 gui_main_pos_y = guiApp.mainWindow.Y;
35664
9162585304d0 Save the correct video window position.
ib
parents: 35663
diff changeset
223 gui_video_pos_x = guiApp.videoWindow.X;
9162585304d0 Save the correct video window position.
ib
parents: 35663
diff changeset
224 gui_video_pos_y = guiApp.videoWindow.Y;
33308
0c2f2368a031 Cosmetic: Adjust indent.
ib
parents: 33307
diff changeset
225 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27393
diff changeset
226
33308
0c2f2368a031 Cosmetic: Adjust indent.
ib
parents: 33307
diff changeset
227 ass_enabled = gtkASS.enabled;
0c2f2368a031 Cosmetic: Adjust indent.
ib
parents: 33307
diff changeset
228 ass_use_margins = gtkASS.use_margins;
0c2f2368a031 Cosmetic: Adjust indent.
ib
parents: 33307
diff changeset
229 ass_top_margin = gtkASS.top_margin;
0c2f2368a031 Cosmetic: Adjust indent.
ib
parents: 33307
diff changeset
230 ass_bottom_margin = gtkASS.bottom_margin;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
231
33308
0c2f2368a031 Cosmetic: Adjust indent.
ib
parents: 33307
diff changeset
232 cfg_write();
35746
e745b22750f6 Add some notes for later checking and fixing.
ib
parents: 35744
diff changeset
233
35796
497a1c45a597 Add uiMainDone(), uiVideoDone(), uiPlaybarDone() and uiMenuDone().
ib
parents: 35794
diff changeset
234 if (guiApp.menuIsPresent)
497a1c45a597 Add uiMainDone(), uiVideoDone(), uiPlaybarDone() and uiMenuDone().
ib
parents: 35794
diff changeset
235 uiMenuDone();
497a1c45a597 Add uiMainDone(), uiVideoDone(), uiPlaybarDone() and uiMenuDone().
ib
parents: 35794
diff changeset
236 if (guiApp.playbarIsPresent)
497a1c45a597 Add uiMainDone(), uiVideoDone(), uiPlaybarDone() and uiMenuDone().
ib
parents: 35794
diff changeset
237 uiPlaybarDone();
497a1c45a597 Add uiMainDone(), uiVideoDone(), uiPlaybarDone() and uiMenuDone().
ib
parents: 35794
diff changeset
238
497a1c45a597 Add uiMainDone(), uiVideoDone(), uiPlaybarDone() and uiMenuDone().
ib
parents: 35794
diff changeset
239 uiVideoDone();
497a1c45a597 Add uiMainDone(), uiVideoDone(), uiPlaybarDone() and uiMenuDone().
ib
parents: 35794
diff changeset
240 uiMainDone();
35746
e745b22750f6 Add some notes for later checking and fixing.
ib
parents: 35744
diff changeset
241
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
242 wsDone();
33307
552f1f7731c8 Set GUI initialization flag earlier.
ib
parents: 33289
diff changeset
243 }
33263
5f527a9a9521 Add an exit function.
ib
parents: 33244
diff changeset
244
35549
463d8e512c38 Free guiInfo when GUI ends.
ib
parents: 35547
diff changeset
245 uiUnsetFile();
34663
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34625
diff changeset
246 listMgr(PLAYLIST_DELETE, 0);
73a5ecb53ee2 Replace symbolic constants by enums.
ib
parents: 34625
diff changeset
247 listMgr(URLLIST_DELETE, 0);
35550
d31d6a5c1e94 Deallocate in reverse order of allocation.
ib
parents: 35549
diff changeset
248 appFreeStruct();
33542
107084241b00 Add support for _NET_WM_ICON
ib
parents: 33541
diff changeset
249 free(guiIcon.collection);
33307
552f1f7731c8 Set GUI initialization flag earlier.
ib
parents: 33289
diff changeset
250
552f1f7731c8 Set GUI initialization flag earlier.
ib
parents: 33289
diff changeset
251 if (gui_conf) {
552f1f7731c8 Set GUI initialization flag earlier.
ib
parents: 33289
diff changeset
252 m_config_free(gui_conf);
552f1f7731c8 Set GUI initialization flag earlier.
ib
parents: 33289
diff changeset
253 gui_conf = NULL;
552f1f7731c8 Set GUI initialization flag earlier.
ib
parents: 33289
diff changeset
254 }
33530
7ced3616af42 Revise some messages.
ib
parents: 33529
diff changeset
255
7ced3616af42 Revise some messages.
ib
parents: 33529
diff changeset
256 mp_msg(MSGT_GPLAYER, MSGL_V, "GUI done.\n");
33263
5f527a9a9521 Add an exit function.
ib
parents: 33244
diff changeset
257 }
5f527a9a9521 Add an exit function.
ib
parents: 33244
diff changeset
258
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
259 static void add_vf(char *str)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
260 {
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
261 void *p;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
262
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
263 if (vf_settings) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
264 int i = 0;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
265
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
266 while (vf_settings[i].name) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
267 if (!gstrcmp(vf_settings[i++].name, str)) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
268 i = -1;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
269 break;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
270 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
271 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
272
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
273 if (i != -1) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
274 p = realloc(vf_settings, (i + 2) * sizeof(m_obj_settings_t));
32712
6ff3cc81d602 Fix resource leaks and check for realloc failures
ib
parents: 32543
diff changeset
275
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
276 if (!p)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
277 return;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
278
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
279 vf_settings = p;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
280 vf_settings[i].name = strdup(str);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
281 vf_settings[i].attribs = NULL;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
282 vf_settings[i + 1].name = NULL;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
283 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
284 } else {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
285 vf_settings = malloc(2 * sizeof(m_obj_settings_t));
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
286 vf_settings[0].name = strdup(str);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
287 vf_settings[0].attribs = NULL;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
288 vf_settings[1].name = NULL;
32712
6ff3cc81d602 Fix resource leaks and check for realloc failures
ib
parents: 32543
diff changeset
289 }
6ff3cc81d602 Fix resource leaks and check for realloc failures
ib
parents: 32543
diff changeset
290
33530
7ced3616af42 Revise some messages.
ib
parents: 33529
diff changeset
291 mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_AddingVideoFilter, str);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
292 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
293
35524
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
294 /**
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
295 * @brief Issue a command to the GUI.
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
296 *
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
297 * @note The GUI is controlled by giving it commands.
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
298 *
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
299 * @param what command to be performed
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
300 * @param data pointer to data needed for the command
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
301 *
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
302 * @return #True (ok) or #False (error)
dd7de6052739 Add doxygen comments.
ib
parents: 35523
diff changeset
303 */
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
304 int gui(int what, void *data)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
305 {
33685
ca6c9a80a062 Make assignments to variables in guiGetEvent() only if needed.
ib
parents: 33683
diff changeset
306 stream_t *stream;
27341
e7c989f7a7c9 Start unifying names of internal preprocessor directives.
diego
parents: 26458
diff changeset
307 #ifdef CONFIG_DVDREAD
33687
f23d139ded5b Cosmetic: Rename variable dvdp dvd.
ib
parents: 33686
diff changeset
308 dvd_priv_t *dvd;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27393
diff changeset
309 #endif
34339
f05c75392897 Enable gui slave commands.
ib
parents: 34333
diff changeset
310 int msg, state;
35540
8b1322c63eeb Cosmetic: Relocate variable definition.
ib
parents: 35538
diff changeset
311 mixer_t *mixer = NULL;
8b1322c63eeb Cosmetic: Relocate variable definition.
ib
parents: 35538
diff changeset
312 plItem *next = NULL;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
313
33726
a800f30c40d1 Cosmetic: Rename gui() parameter.
ib
parents: 33725
diff changeset
314 switch (what) {
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
315 case GUI_SET_CONTEXT:
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
316
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
317 guiInfo.mpcontext = data;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
318 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
319
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
320 case GUI_SET_STATE:
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
321
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
322 switch ((int)data) {
33631
3f6782208075 Simplify code for guiGetEvent type guiSetState.
ib
parents: 33630
diff changeset
323 case GUI_STOP:
33614
79743a5cf4f0 Rename the symbolic playback state constants.
ib
parents: 33611
diff changeset
324 case GUI_PLAY:
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
325 // if ( !gtkShowVideoWindow ) wsWindowVisibility( &guiApp.videoWindow,wsHideWindow );
33614
79743a5cf4f0 Rename the symbolic playback state constants.
ib
parents: 33611
diff changeset
326 case GUI_PAUSE:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
327 guiInfo.Playing = (int)data;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
328 break;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
329 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
330
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
331 uiState();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
332 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
333
33732
90c992ac5011 Make guiEventHandling() a gui() call.
ib
parents: 33731
diff changeset
334 case GUI_HANDLE_EVENTS:
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
335
33901
d4f80f889106 Cosmetic: Rename guiInfo members.
ib
parents: 33899
diff changeset
336 if (!guiInfo.Playing || !guiInfo.VideoWindow)
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
337 wsEvents();
36068
5fb59898a798 Add comment.
ib
parents: 36049
diff changeset
338 /* else it's handled by the vo driver calling GUI_HANDLE_X_EVENT */
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
339
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
340 wsMouseAutohide();
36070
6c3dc8fec01f Rename gtkEventHandling() gtkEvents().
ib
parents: 36069
diff changeset
341 gtkEvents();
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
342
33732
90c992ac5011 Make guiEventHandling() a gui() call.
ib
parents: 33731
diff changeset
343 break;
90c992ac5011 Make guiEventHandling() a gui() call.
ib
parents: 33731
diff changeset
344
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
345 case GUI_RUN_COMMAND:
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
346
33985
d99f341d8442 Replace all mp_dbg() calls by mp_msg().
ib
parents: 33978
diff changeset
347 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[interface] GUI_RUN_COMMAND: %d\n", (int)data);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
348
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
349 switch ((int)data) {
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
350 case MP_CMD_VO_FULLSCREEN:
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
351 uiEvent(evFullScreen, True);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
352 break;
33696
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
353
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
354 case MP_CMD_PLAY_TREE_STEP:
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
355 uiEvent(evNext, 0);
33696
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
356 break;
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
357
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
358 case -MP_CMD_PLAY_TREE_STEP:
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
359 uiEvent(evPrev, 0);
33696
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
360 break;
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
361
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
362 case MP_CMD_STOP:
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
363 uiEvent(evStop, 0);
33696
24d919fb6778 Don't let MPlayer directly call user interface functions.
ib
parents: 33695
diff changeset
364 break;
33697
7c93ed3e80cd Cosmetic: Move command MP_CMD_QUIT to the end.
ib
parents: 33696
diff changeset
365
7c93ed3e80cd Cosmetic: Move command MP_CMD_QUIT to the end.
ib
parents: 33696
diff changeset
366 case MP_CMD_QUIT:
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
367 uiEvent(evExit, 0);
33697
7c93ed3e80cd Cosmetic: Move command MP_CMD_QUIT to the end.
ib
parents: 33696
diff changeset
368 break;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
369 }
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
370
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
371 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
372
34339
f05c75392897 Enable gui slave commands.
ib
parents: 34333
diff changeset
373 case GUI_RUN_MESSAGE:
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
374
34339
f05c75392897 Enable gui slave commands.
ib
parents: 34333
diff changeset
375 mp_msg(MSGT_GPLAYER, MSGL_DBG2, "[interface] GUI_RUN_MESSAGE: %s\n", (const char *)data);
f05c75392897 Enable gui slave commands.
ib
parents: 34333
diff changeset
376 msg = appFindMessage((const char *)data);
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
377
34458
1e84148527ab Add user event evMenu.
ib
parents: 34454
diff changeset
378 if ((msg == evMenu) || appFindItem(msg))
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
379 uiEvent(msg, 0);
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
380
34339
f05c75392897 Enable gui slave commands.
ib
parents: 34333
diff changeset
381 break;
f05c75392897 Enable gui slave commands.
ib
parents: 34333
diff changeset
382
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
383 case GUI_PREPARE:
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
384
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
385 wsMouseVisibility(&guiApp.videoWindow, wsHideMouseCursor);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
386
34052
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
387 if (guiInfo.NewPlay == GUI_FILE_NEW) {
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
388 audio_id = -1;
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
389 video_id = -1;
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
390 dvdsub_id = -1;
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
391 vobsub_id = -1;
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
392
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
393 stream_cache_size = -1;
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
394 autosync = 0;
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
395 force_fps = 0;
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
396 }
34032
afb361a00e1f Hide cursor during playback in GUI.
ib
parents: 33993
diff changeset
397
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
398 switch (guiInfo.StreamType) {
34073
ac52c68c17f5 Remove check for STREAMTYPE_PLAYLIST.
ib
parents: 34070
diff changeset
399 case STREAMTYPE_FILE:
ac52c68c17f5 Remove check for STREAMTYPE_PLAYLIST.
ib
parents: 34070
diff changeset
400 case STREAMTYPE_STREAM:
35484
9dceffa5d9b2 Set filename for MPlayer in GUI_PREPARE.
ib
parents: 35481
diff changeset
401 filename = guiInfo.Filename;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
402 break;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
403
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
404 case STREAMTYPE_CDDA:
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
405 {
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
406 char tmp[512];
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
407
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
408 sprintf(tmp, "cdda://%d", guiInfo.Track);
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35430
diff changeset
409 uiSetFile(NULL, tmp, SAME_STREAMTYPE);
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
410 }
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
411 break;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
412
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
413 case STREAMTYPE_VCD:
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
414 {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
415 char tmp[512];
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
416
33874
e1bec41397bb Don't let VCD track number and guiInfo.Track differ.
ib
parents: 33791
diff changeset
417 sprintf(tmp, "vcd://%d", guiInfo.Track);
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35430
diff changeset
418 uiSetFile(NULL, tmp, SAME_STREAMTYPE);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
419 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
420 break;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
421
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
422 case STREAMTYPE_DVD:
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
423 {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
424 char tmp[512];
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
425
33876
4789b8eed97e Get rid of a bunch of needless or redundant guiInfo members.
ib
parents: 33874
diff changeset
426 sprintf(tmp, "dvd://%d", guiInfo.Track);
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35430
diff changeset
427 uiSetFile(NULL, tmp, SAME_STREAMTYPE);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
428 }
35168
627bdd8915ca Fix building GUI without DVD support.
ib
parents: 35159
diff changeset
429 #ifdef CONFIG_DVDREAD
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
430 dvd_chapter = guiInfo.Chapter;
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
431 dvd_angle = guiInfo.Angle;
35168
627bdd8915ca Fix building GUI without DVD support.
ib
parents: 35159
diff changeset
432 #endif
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
433 break;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
434 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
435
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
436 /* video opts */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
437
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
438 if (!video_driver_list) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
439 int i = 0;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27393
diff changeset
440
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
441 while (video_out_drivers[i++]) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
442 if (video_out_drivers[i - 1]->control(VOCTRL_GUISUPPORT, NULL) == VO_TRUE) {
34610
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34600
diff changeset
443 listSet(&video_driver_list, (char *)video_out_drivers[i - 1]->info->short_name);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
444 break;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
445 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
446 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
447 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
448
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
449 if (!video_driver_list && !video_driver_list[0]) {
33024
21e0de9c355f Show GUI message when GUI must exit.
ib
parents: 33023
diff changeset
450 gmp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_IDFGCVD);
33768
cee9987bc81d Remove guiExit().
ib
parents: 33766
diff changeset
451 mplayer(MPLAYER_EXIT_GUI, EXIT_ERROR, 0);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
452 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
453
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
454 {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
455 int i = 0;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
456
33901
d4f80f889106 Cosmetic: Rename guiInfo members.
ib
parents: 33899
diff changeset
457 guiInfo.VideoWindow = True;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
458
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
459 while (video_out_drivers[i++]) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
460 if (video_out_drivers[i - 1]->control(VOCTRL_GUISUPPORT, NULL) == VO_TRUE) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
461 if ((video_driver_list && !gstrcmp(video_driver_list[0], (char *)video_out_drivers[i - 1]->info->short_name)) && (video_out_drivers[i - 1]->control(VOCTRL_GUI_NOWINDOW, NULL) == VO_TRUE)) {
33901
d4f80f889106 Cosmetic: Rename guiInfo members.
ib
parents: 33899
diff changeset
462 guiInfo.VideoWindow = False;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
463 break;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
464 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
465 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
466 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
467 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
468
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
469 if (video_driver_list && !gstrcmp(video_driver_list[0], "dxr3"))
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
470 if (guiInfo.StreamType != STREAMTYPE_DVD && guiInfo.StreamType != STREAMTYPE_VCD)
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
471 if (gtkVfLAVC)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
472 add_vf("lavc");
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
473
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
474 if (gtkVfPP)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
475 add_vf("pp");
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
476
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
477 /* audio opts */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
478
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
479 // if ( ao_plugin_cfg.plugin_list ) { free( ao_plugin_cfg.plugin_list ); ao_plugin_cfg.plugin_list=NULL; }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
480 if (gtkAONorm)
34610
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34600
diff changeset
481 listRepl(&af_cfg.list, "volnorm", "volnorm");
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
482
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
483 if (gtkEnableAudioEqualizer)
34610
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34600
diff changeset
484 listRepl(&af_cfg.list, "equalizer", "equalizer");
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
485
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
486 if (gtkAOExtraStereo) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
487 char *name;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
488
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
489 name = malloc(12 + 20 + 1);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
490 snprintf(name, 12 + 20, "extrastereo=%f", gtkAOExtraStereoMul);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
491 name[12 + 20] = 0;
34610
4ff933a89818 Cosmetic: Rename functions in list.c.
ib
parents: 34600
diff changeset
492 listRepl(&af_cfg.list, "extrastereo", name);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
493 free(name);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
494 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
495
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
496 if (audio_driver_list && !gstrncmp(audio_driver_list[0], "oss", 3)) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
497 mixer_device = gtkAOOSSMixer;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
498 mixer_channel = gtkAOOSSMixerChannel;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
499
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
500 if (gtkAOOSSDevice) {
34625
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
501 char *tmp;
34624
5d6367c875c2 Don't unnecessarily destroy audio_driver_list.
ib
parents: 34610
diff changeset
502
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
503 tmp = calloc(1, strlen(gtkAOOSSDevice) + 7);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
504 sprintf(tmp, "oss:%s", gtkAOOSSDevice);
34625
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
505 listSet(&audio_driver_list, tmp);
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
506 free(tmp);
34624
5d6367c875c2 Don't unnecessarily destroy audio_driver_list.
ib
parents: 34610
diff changeset
507 }
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
508 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
509
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
510 if (audio_driver_list && !gstrncmp(audio_driver_list[0], "alsa", 4)) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
511 mixer_device = gtkAOALSAMixer;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
512 mixer_channel = gtkAOALSAMixerChannel;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
513
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
514 if (gtkAOALSADevice) {
34625
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
515 char *tmp;
34624
5d6367c875c2 Don't unnecessarily destroy audio_driver_list.
ib
parents: 34610
diff changeset
516
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
517 tmp = calloc(1, strlen(gtkAOALSADevice) + 14);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
518 sprintf(tmp, "alsa:device=%s", gtkAOALSADevice);
34625
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
519 listSet(&audio_driver_list, tmp);
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
520 free(tmp);
34624
5d6367c875c2 Don't unnecessarily destroy audio_driver_list.
ib
parents: 34610
diff changeset
521 }
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
522 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
523
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
524 if (audio_driver_list && !gstrncmp(audio_driver_list[0], "sdl", 3)) {
34624
5d6367c875c2 Don't unnecessarily destroy audio_driver_list.
ib
parents: 34610
diff changeset
525 if (gtkAOSDLDriver) {
34625
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
526 char *tmp;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
527
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
528 tmp = calloc(1, strlen(gtkAOSDLDriver) + 10);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
529 sprintf(tmp, "sdl:%s", gtkAOSDLDriver);
34625
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
530 listSet(&audio_driver_list, tmp);
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
531 free(tmp);
34624
5d6367c875c2 Don't unnecessarily destroy audio_driver_list.
ib
parents: 34610
diff changeset
532 }
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
533 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
534
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
535 if (audio_driver_list && !gstrncmp(audio_driver_list[0], "esd", 3)) {
34624
5d6367c875c2 Don't unnecessarily destroy audio_driver_list.
ib
parents: 34610
diff changeset
536 if (gtkAOESDDevice) {
34625
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
537 char *tmp;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
538
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
539 tmp = calloc(1, strlen(gtkAOESDDevice) + 10);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
540 sprintf(tmp, "esd:%s", gtkAOESDDevice);
34625
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
541 listSet(&audio_driver_list, tmp);
82d1cef6bcee Cosmetic: Adjust indent.
ib
parents: 34624
diff changeset
542 free(tmp);
34624
5d6367c875c2 Don't unnecessarily destroy audio_driver_list.
ib
parents: 34610
diff changeset
543 }
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
544 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
545
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
546 /* subtitle */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
547
33897
e0d211c62cf7 Cosmetic: Rename some guiInfo members.
ib
parents: 33895
diff changeset
548 // subdata->filename=gstrdup( guiInfo.SubtitleFilename );
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
549 stream_dump_type = 0;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
550
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
551 if (gtkSubDumpMPSub)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
552 stream_dump_type = 4;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
553
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
554 if (gtkSubDumpSrt)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
555 stream_dump_type = 6;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
556
35493
411875efca3f Introduce boolean symbolic constants.
ib
parents: 35489
diff changeset
557 gtkSubDumpMPSub = gtkSubDumpSrt = False;
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
558 mplayerLoadFont();
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
559
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
560 /* misc */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
561
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
562 if (gtkCacheOn)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
563 stream_cache_size = gtkCacheSize;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
564
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
565 if (gtkAutoSyncOn)
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
566 autosync = gtkAutoSync;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
567
33897
e0d211c62cf7 Cosmetic: Rename some guiInfo members.
ib
parents: 33895
diff changeset
568 if (guiInfo.AudioFilename)
e0d211c62cf7 Cosmetic: Rename some guiInfo members.
ib
parents: 33895
diff changeset
569 audio_stream = gstrdup(guiInfo.AudioFilename);
33894
b2e63fe7fe17 Remove needless guiInfo member FilenameChanged.
ib
parents: 33890
diff changeset
570 else if (guiInfo.NewPlay == GUI_FILE_NEW)
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents: 33737
diff changeset
571 nfree(audio_stream);
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27393
diff changeset
572
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
573 // audio_stream = NULL;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
574
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
575 guiInfo.NewPlay = 0;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
576
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
577 ass_enabled = gtkASS.enabled;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
578 ass_use_margins = gtkASS.use_margins;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
579 ass_top_margin = gtkASS.top_margin;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
580 ass_bottom_margin = gtkASS.bottom_margin;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
581
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
582 break;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
583
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
584 case GUI_SET_STREAM:
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
585
34859
203d0d5cac1f Add playlist support to the GUI.
ib
parents: 34698
diff changeset
586 if (guiInfo.StreamType == STREAMTYPE_PLAYLIST)
203d0d5cac1f Add playlist support to the GUI.
ib
parents: 34698
diff changeset
587 guiInfo.mpcontext->file_format = DEMUXER_TYPE_PLAYLIST;
203d0d5cac1f Add playlist support to the GUI.
ib
parents: 34698
diff changeset
588
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
589 stream = data;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
590 guiInfo.StreamType = stream->type;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
591
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
592 switch (guiInfo.StreamType) {
34424
7f04823f744c Explicitly enumerate all stream types.
ib
parents: 34403
diff changeset
593 case STREAMTYPE_FILE:
7f04823f744c Explicitly enumerate all stream types.
ib
parents: 34403
diff changeset
594 case STREAMTYPE_STREAM:
35488
9ef9131adfe5 Provide a number of tracks information for files in playlists.
ib
parents: 35484
diff changeset
595 guiInfo.Tracks = (int)listMgr(PLAYLIST_ITEM_GET_POS, 0);
34424
7f04823f744c Explicitly enumerate all stream types.
ib
parents: 34403
diff changeset
596 break;
7f04823f744c Explicitly enumerate all stream types.
ib
parents: 34403
diff changeset
597
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
598 case STREAMTYPE_CDDA:
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
599 guiInfo.Tracks = 0;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
600 stream_control(stream, STREAM_CTRL_GET_NUM_TITLES, &guiInfo.Tracks);
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
601 break;
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
602
34077
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
603 case STREAMTYPE_VCD:
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
604 guiInfo.Tracks = 0;
34388
9ee95c78e85f Replace VCD's STREAM_CTRL_GET_NUM_CHAPTERS by STREAM_CTRL_GET_NUM_TITLES.
ib
parents: 34387
diff changeset
605 stream_control(stream, STREAM_CTRL_GET_NUM_TITLES, &guiInfo.Tracks);
34077
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
606 break;
deff81b57903 Cosmetic: Order STREAMTYPE related code.
ib
parents: 34074
diff changeset
607
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
608 case STREAMTYPE_DVD:
34389
b2d661762e90 Retrieve DVD's titles, chapters and angles by stream control commands.
ib
parents: 34388
diff changeset
609 guiInfo.Tracks = 0;
b2d661762e90 Retrieve DVD's titles, chapters and angles by stream control commands.
ib
parents: 34388
diff changeset
610 stream_control(stream, STREAM_CTRL_GET_NUM_TITLES, &guiInfo.Tracks);
b2d661762e90 Retrieve DVD's titles, chapters and angles by stream control commands.
ib
parents: 34388
diff changeset
611 guiInfo.Chapters = 0;
b2d661762e90 Retrieve DVD's titles, chapters and angles by stream control commands.
ib
parents: 34388
diff changeset
612 stream_control(stream, STREAM_CTRL_GET_NUM_CHAPTERS, &guiInfo.Chapters);
b2d661762e90 Retrieve DVD's titles, chapters and angles by stream control commands.
ib
parents: 34388
diff changeset
613 guiInfo.Angles = 0;
b2d661762e90 Retrieve DVD's titles, chapters and angles by stream control commands.
ib
parents: 34388
diff changeset
614 stream_control(stream, STREAM_CTRL_GET_NUM_ANGLES, &guiInfo.Angles);
35170
6f214e8ae780 Set guiInfo.Track after the stream is open.
ib
parents: 35168
diff changeset
615 guiInfo.Track = 0;
6f214e8ae780 Set guiInfo.Track after the stream is open.
ib
parents: 35168
diff changeset
616 stream_control(stream, STREAM_CTRL_GET_CURRENT_TITLE, &guiInfo.Track);
6f214e8ae780 Set guiInfo.Track after the stream is open.
ib
parents: 35168
diff changeset
617 guiInfo.Track++;
35168
627bdd8915ca Fix building GUI without DVD support.
ib
parents: 35159
diff changeset
618 // guiInfo.Chapter will be set by mplayer
627bdd8915ca Fix building GUI without DVD support.
ib
parents: 35159
diff changeset
619 guiInfo.Angle = 1;
627bdd8915ca Fix building GUI without DVD support.
ib
parents: 35159
diff changeset
620 stream_control(stream, STREAM_CTRL_GET_ANGLE, &guiInfo.Angle);
34454
5a45efc630b8 Remove all unnecessary #ifdefs from GUI code.
ib
parents: 34424
diff changeset
621 #ifdef CONFIG_DVDREAD
33730
b4c64f168b29 Remove gui() GMP_SET_DVD.
ib
parents: 33726
diff changeset
622 dvd = stream->priv;
33902
dd0e5dc6ebbf Add guiDVDStruct members to guiInfo.
ib
parents: 33901
diff changeset
623 guiInfo.AudioStreams = dvd->nr_of_channels;
dd0e5dc6ebbf Add guiDVDStruct members to guiInfo.
ib
parents: 33901
diff changeset
624 memcpy(guiInfo.AudioStream, dvd->audio_streams, sizeof(dvd->audio_streams));
dd0e5dc6ebbf Add guiDVDStruct members to guiInfo.
ib
parents: 33901
diff changeset
625 guiInfo.Subtitles = dvd->nr_of_subtitles;
dd0e5dc6ebbf Add guiDVDStruct members to guiInfo.
ib
parents: 33901
diff changeset
626 memcpy(guiInfo.Subtitle, dvd->subtitles, sizeof(dvd->subtitles));
34454
5a45efc630b8 Remove all unnecessary #ifdefs from GUI code.
ib
parents: 34424
diff changeset
627 #endif
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
628 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
629 }
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
630
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
631 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
632
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
633 case GUI_SET_AFILTER:
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
634
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
635 guiInfo.afilter = data;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
636 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
637
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
638 case GUI_SET_VIDEO:
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
639
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
640 /* video */
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
641
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
642 guiInfo.sh_video = data;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
643
35462
e671bb33230f Add video codec name to guiInfo structure.
ib
parents: 35458
diff changeset
644 nfree(guiInfo.CodecName);
e671bb33230f Add video codec name to guiInfo structure.
ib
parents: 35458
diff changeset
645
e671bb33230f Add video codec name to guiInfo structure.
ib
parents: 35458
diff changeset
646 if (guiInfo.sh_video)
e671bb33230f Add video codec name to guiInfo structure.
ib
parents: 35458
diff changeset
647 guiInfo.CodecName = strdup(guiInfo.sh_video->codec->name);
e671bb33230f Add video codec name to guiInfo structure.
ib
parents: 35458
diff changeset
648
34074
360ed500a6e9 Set all buttons related to seek operations according to stream type.
ib
parents: 34073
diff changeset
649 state = (guiInfo.StreamType == STREAMTYPE_STREAM ? btnDisabled : btnReleased);
360ed500a6e9 Set all buttons related to seek operations according to stream type.
ib
parents: 34073
diff changeset
650 btnSet(evForward10sec, state);
360ed500a6e9 Set all buttons related to seek operations according to stream type.
ib
parents: 34073
diff changeset
651 btnSet(evBackward10sec, state);
360ed500a6e9 Set all buttons related to seek operations according to stream type.
ib
parents: 34073
diff changeset
652 btnSet(evForward1min, state);
360ed500a6e9 Set all buttons related to seek operations according to stream type.
ib
parents: 34073
diff changeset
653 btnSet(evBackward1min, state);
360ed500a6e9 Set all buttons related to seek operations according to stream type.
ib
parents: 34073
diff changeset
654 btnSet(evForward10min, state);
360ed500a6e9 Set all buttons related to seek operations according to stream type.
ib
parents: 34073
diff changeset
655 btnSet(evBackward10min, state);
360ed500a6e9 Set all buttons related to seek operations according to stream type.
ib
parents: 34073
diff changeset
656 btnSet(evSetMoviePosition, state);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
657
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
658 if (video_driver_list && !gstrcmp(video_driver_list[0], "dxr3") && (((demuxer_t *)mpctx_get_demuxer(guiInfo.mpcontext))->file_format != DEMUXER_TYPE_MPEG_PS) && !gtkVfLAVC) {
36036
2421356e2a03 Make #defines enums.
ib
parents: 36032
diff changeset
659 gtkMessageBox(MSGBOX_FATAL, MSGTR_NEEDLAVC);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
660 return False;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
661 }
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
662
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
663 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
664
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
665 case GUI_SET_AUDIO:
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
666
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
667 guiInfo.AudioChannels = data ? ((sh_audio_t *)data)->channels : 0;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
668
35454
adee37856514 Fix wrong display of video width and height.
ib
parents: 35453
diff changeset
669 if (data && !guiInfo.sh_video) {
33901
d4f80f889106 Cosmetic: Rename guiInfo members.
ib
parents: 33899
diff changeset
670 guiInfo.VideoWindow = False;
35454
adee37856514 Fix wrong display of video width and height.
ib
parents: 35453
diff changeset
671 guiInfo.VideoWidth = 0;
adee37856514 Fix wrong display of video width and height.
ib
parents: 35453
diff changeset
672 guiInfo.VideoHeight = 0;
adee37856514 Fix wrong display of video width and height.
ib
parents: 35453
diff changeset
673 }
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
674
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
675 gui(GUI_SET_MIXER, 0);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
676
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
677 if (gtkEnableAudioEqualizer) {
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
678 equalizer_t eq;
33693
006a2db8bd55 Use unsigned index variable for comparison with array size.
ib
parents: 33692
diff changeset
679 unsigned int i, j;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
680
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
681 for (i = 0; i < FF_ARRAY_ELEMS(gtkEquChannels); i++) {
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
682 for (j = 0; j < FF_ARRAY_ELEMS(*gtkEquChannels); j++) {
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
683 eq.channel = i;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
684 eq.band = j;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
685 eq.gain = gtkEquChannels[i][j];
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
686 mplayer(MPLAYER_SET_EQUALIZER, 0, &eq);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
687 }
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
688 }
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
689 }
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
690
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
691 // These must be done here (in the last call from MPlayer before
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
692 // playback starts) and not in GUI_SETUP_VIDEO_WINDOW, because...
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
693
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
694 // ...without video there will be no call to GUI_SETUP_VIDEO_WINDOW
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
695 if (!guiInfo.VideoWindow) {
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
696 wsWindowVisibility(&guiApp.videoWindow, wsHideWindow);
33978
81aaa1420337 Replace some btnModify() calls by btnSet().
ib
parents: 33961
diff changeset
697 btnSet(evFullScreen, (gtkLoadFullscreen ? btnPressed : btnReleased));
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
698 }
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
699
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
700 // ...option variable fullscreen determines whether MPlayer will handle
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
701 // the window given by WinID as fullscreen window (and will do aspect
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
702 // scaling then) or not - quite rubbish
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
703 fullscreen = gtkLoadFullscreen;
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
704
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
705 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
706
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
707 case GUI_SET_MIXER:
35535
dad7efd97bbb Relocate mixer assignment.
ib
parents: 35529
diff changeset
708
dad7efd97bbb Relocate mixer assignment.
ib
parents: 35529
diff changeset
709 if (guiInfo.mpcontext)
dad7efd97bbb Relocate mixer assignment.
ib
parents: 35529
diff changeset
710 mixer = mpctx_get_mixer(guiInfo.mpcontext);
dad7efd97bbb Relocate mixer assignment.
ib
parents: 35529
diff changeset
711
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
712 if (mixer) {
35537
82f34397ebdb Fix bug with wrong balance calculation.
ib
parents: 35535
diff changeset
713 float l, r, b;
35542
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
714 static float last_balance = 50.0f;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
715
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
716 mixer_getvolume(mixer, &l, &r);
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
717 guiInfo.Volume = FFMAX(l, r);
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
718 btnModify(evSetVolume, guiInfo.Volume);
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
719
35537
82f34397ebdb Fix bug with wrong balance calculation.
ib
parents: 35535
diff changeset
720 mixer_getbalance(mixer, &b);
35544
fd7a5b62326d Add comment.
ib
parents: 35542
diff changeset
721 guiInfo.Balance = (b + 1.0) * 50.0; // transform -1..1 to 0..100
35542
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
722
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
723 if (guiInfo.Balance != last_balance) {
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
724 l = guiInfo.Volume * (100.0 - guiInfo.Balance) / 50.0;
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
725 r = guiInfo.Volume * guiInfo.Balance / 50.0;
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
726 mixer_setvolume(mixer, FFMIN(l, guiInfo.Volume), FFMIN(r, guiInfo.Volume));
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
727 btnModify(evSetBalance, guiInfo.Balance);
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
728 last_balance = guiInfo.Balance;
fdaab02e7118 Set volume in GUI_SET_MIXER.
ib
parents: 35541
diff changeset
729 }
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
730 }
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
731
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
732 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
733
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
734 case GUI_REDRAW:
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
735
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
736 uiEvent(ivRedraw, 0);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
737 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
738
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
739 case GUI_SETUP_VIDEO_WINDOW:
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
740
33901
d4f80f889106 Cosmetic: Rename guiInfo members.
ib
parents: 33899
diff changeset
741 guiInfo.VideoWidth = vo_dwidth;
d4f80f889106 Cosmetic: Rename guiInfo members.
ib
parents: 33899
diff changeset
742 guiInfo.VideoHeight = vo_dheight;
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
743
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
744 if (!guiApp.videoWindow.isFullScreen || !guiApp.videoWindow.Mapped) {
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
745 if (!guiApp.videoWindow.isFullScreen)
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
746 wsWindowResize(&guiApp.videoWindow, guiInfo.VideoWidth, guiInfo.VideoHeight);
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
747 if (!guiApp.videoWindow.Mapped)
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
748 wsWindowVisibility(&guiApp.videoWindow, wsShowWindow);
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
749 }
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
750
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
751 if (gtkLoadFullscreen ^ guiApp.videoWindow.isFullScreen)
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
752 uiEvent(evFullScreen, True);
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
753
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
754 if (guiWinID >= 0)
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
755 wsWindowMove(&guiApp.mainWindow, True, 0, guiInfo.VideoHeight);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
756
35755
589cf8a5f165 Realize a smooth and flicker-free video when resizing during playback.
ib
parents: 35748
diff changeset
757 wsWindowBackground(&guiApp.videoWindow, -1, -1, -1);
589cf8a5f165 Realize a smooth and flicker-free video when resizing during playback.
ib
parents: 35748
diff changeset
758
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
759 break;
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
760
33733
7458d793b38b Cosmetic: Rename GUI_X_EVENT GUI_HANDLE_X_EVENT.
ib
parents: 33732
diff changeset
761 case GUI_HANDLE_X_EVENT:
35541
ded4a8c2aa70 Cosmetic: Add some blank lines.
ib
parents: 35540
diff changeset
762
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
763 wsEvent(data);
33692
0e9a5c0194ed Cosmetic: Arrange guiGetEvent() types in the sequence they are called.
ib
parents: 33691
diff changeset
764 break;
33694
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
765
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
766 case GUI_END_FILE:
33694
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
767
35330
5fbd422b355e Fix segmentation fault after end of file playback.
ib
parents: 35170
diff changeset
768 guiInfo.sh_video = NULL;
34035
5daa51a194ed Force redraw of main window after playback has ended.
ib
parents: 34032
diff changeset
769
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
770 uiEvent(ivRedraw, True);
34052
9f19a87d2062 Remove gui() instruction GUI_SET_FILE.
ib
parents: 34035
diff changeset
771
35565
5f7a983fc838 Embrace several individual "if (guiInfo.Playing)" conditions.
ib
parents: 35564
diff changeset
772 if (guiInfo.Playing) {
35566
5053be8dbab2 Cosmetic: Adjust indent.
ib
parents: 35565
diff changeset
773 if (!guiInfo.PlaylistNext) {
5053be8dbab2 Cosmetic: Adjust indent.
ib
parents: 35565
diff changeset
774 guiInfo.PlaylistNext = True;
5053be8dbab2 Cosmetic: Adjust indent.
ib
parents: 35565
diff changeset
775 break;
5053be8dbab2 Cosmetic: Adjust indent.
ib
parents: 35565
diff changeset
776 }
33694
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
777
35566
5053be8dbab2 Cosmetic: Adjust indent.
ib
parents: 35565
diff changeset
778 if (guiInfo.StreamType == STREAMTYPE_CDDA && guiInfo.Track < guiInfo.Tracks) {
5053be8dbab2 Cosmetic: Adjust indent.
ib
parents: 35565
diff changeset
779 uiNext();
5053be8dbab2 Cosmetic: Adjust indent.
ib
parents: 35565
diff changeset
780 break;
5053be8dbab2 Cosmetic: Adjust indent.
ib
parents: 35565
diff changeset
781 }
34387
0ba85cad4c7e Add audio CD playback support to the X11/GTK GUI.
ib
parents: 34339
diff changeset
782
35468
047fc4746236 Cosmetic: Adjust indent and move guiInfo member CodecName in structure.
ib
parents: 35467
diff changeset
783 next = listMgr(PLAYLIST_ITEM_GET_NEXT, 0);
35565
5f7a983fc838 Embrace several individual "if (guiInfo.Playing)" conditions.
ib
parents: 35564
diff changeset
784 }
34669
697aaedfe59e Remove global variable pointing to playlist item last played.
ib
parents: 34667
diff changeset
785
35565
5f7a983fc838 Embrace several individual "if (guiInfo.Playing)" conditions.
ib
parents: 35564
diff changeset
786 if (next) {
35452
f42cc2361ee4 Cosmetic: Rename uiSetFileName().
ib
parents: 35430
diff changeset
787 uiSetFile(next->path, next->name, STREAMTYPE_FILE);
34066
1b60a54bbfb8 Cosmetic: Adjust indent.
ib
parents: 34065
diff changeset
788 guiInfo.NewPlay = GUI_FILE_NEW;
35458
2a6113c08e20 Add listMgr command PLAYLIST_ITEM_GET_CURR_POS.
ib
parents: 35454
diff changeset
789 guiInfo.Track = (int)listMgr(PLAYLIST_ITEM_GET_POS, next);
33694
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
790 } else {
33894
b2e63fe7fe17 Remove needless guiInfo member FilenameChanged.
ib
parents: 33890
diff changeset
791 if (guiInfo.NewPlay == GUI_FILE_NEW)
33694
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
792 break;
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
793
34113
b3e209516ae0 Allow GUI to use filename related config.
ib
parents: 34083
diff changeset
794 filename = NULL;
b3e209516ae0 Allow GUI to use filename related config.
ib
parents: 34083
diff changeset
795
35546
cd2c85083fdd Reset playlist to first item after playback has stopped.
ib
parents: 35544
diff changeset
796 if (isPlaylistStreamtype) {
35555
069de6f47ec1 Simplify code.
ib
parents: 35553
diff changeset
797 plItem *curr = listMgr(PLAYLIST_ITEM_GET_CURR, 0);
069de6f47ec1 Simplify code.
ib
parents: 35553
diff changeset
798
069de6f47ec1 Simplify code.
ib
parents: 35553
diff changeset
799 if (!curr)
35547
fb9968ad466e Cosmetic: Adjust indent and add a blank line.
ib
parents: 35546
diff changeset
800 uiUnsetFile();
35558
59361080b09e Limit playlist reset to first item after playback.
ib
parents: 35557
diff changeset
801 else if ((curr != listMgr(PLAYLIST_GET, 0)) && guiInfo.Playing) {
35555
069de6f47ec1 Simplify code.
ib
parents: 35553
diff changeset
802 curr = listMgr(PLAYLIST_ITEM_SET_CURR, listMgr(PLAYLIST_GET, 0));
35546
cd2c85083fdd Reset playlist to first item after playback has stopped.
ib
parents: 35544
diff changeset
803 uiSetFile(curr->path, curr->name, STREAMTYPE_FILE);
35551
99a11b051705 Set track number after resetting playlist to first item.
ib
parents: 35550
diff changeset
804 guiInfo.Track = 1;
35546
cd2c85083fdd Reset playlist to first item after playback has stopped.
ib
parents: 35544
diff changeset
805 }
35559
14e36699a6e7 Relocate code to set Track, Chapter and Angle start values.
ib
parents: 35558
diff changeset
806 } else if (guiInfo.Playing) {
35563
d4a84f674401 Reset media information for CD/VCD/DVD after playback.
ib
parents: 35559
diff changeset
807 int first = (guiInfo.StreamType == STREAMTYPE_VCD ? 2 : 1);
35559
14e36699a6e7 Relocate code to set Track, Chapter and Angle start values.
ib
parents: 35558
diff changeset
808
35563
d4a84f674401 Reset media information for CD/VCD/DVD after playback.
ib
parents: 35559
diff changeset
809 if (guiInfo.Track != first) {
35568
9f58ee705989 Add a parameter to uiUnsetMedia().
ib
parents: 35566
diff changeset
810 uiUnsetMedia(True);
35563
d4a84f674401 Reset media information for CD/VCD/DVD after playback.
ib
parents: 35559
diff changeset
811 guiInfo.Track = first;
d4a84f674401 Reset media information for CD/VCD/DVD after playback.
ib
parents: 35559
diff changeset
812 }
35564
8d4a7387d592 Relocate and change code to set Chapter and Angle start values.
ib
parents: 35563
diff changeset
813
8d4a7387d592 Relocate and change code to set Chapter and Angle start values.
ib
parents: 35563
diff changeset
814 if (guiInfo.StreamType == STREAMTYPE_DVD) {
8d4a7387d592 Relocate and change code to set Chapter and Angle start values.
ib
parents: 35563
diff changeset
815 guiInfo.Chapter = 1;
8d4a7387d592 Relocate and change code to set Chapter and Angle start values.
ib
parents: 35563
diff changeset
816 guiInfo.Angle = 1;
8d4a7387d592 Relocate and change code to set Chapter and Angle start values.
ib
parents: 35563
diff changeset
817 }
35546
cd2c85083fdd Reset playlist to first item after playback has stopped.
ib
parents: 35544
diff changeset
818 }
35381
746e2e0577b2 Without current playlist item, reset guiInfo's Filename and StreamType.
ib
parents: 35376
diff changeset
819
35413
b092553a25c1 Cosmetic: Adjust indent.
ib
parents: 35412
diff changeset
820 guiInfo.ElapsedTime = 0;
b092553a25c1 Cosmetic: Adjust indent.
ib
parents: 35412
diff changeset
821 guiInfo.Position = 0;
33694
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
822
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
823 if (gtkShowVideoWindow) {
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
824 guiInfo.VideoWindow = True;
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
825
35663
d1f84b219340 Don't unnecessarily and annoyingly move the video window.
ib
parents: 35658
diff changeset
826 if (!guiApp.videoWindow.isFullScreen)
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
827 wsWindowResize(&guiApp.videoWindow, guiApp.video.width, guiApp.video.height);
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
828
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
829 if (!guiApp.videoWindow.Mapped)
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
830 wsWindowVisibility(&guiApp.videoWindow, wsShowWindow);
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
831
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents: 34684
diff changeset
832 if (gtkLoadFullscreen ^ guiApp.videoWindow.isFullScreen)
35773
c688b0dcbe66 Cosmetic: Rename uiMainEvent() uiEvent().
ib
parents: 35772
diff changeset
833 uiEvent(evFullScreen, False);
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
834 } else {
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
835 wsWindowVisibility(&guiApp.videoWindow, wsHideWindow);
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
836 guiInfo.VideoWindow = False;
33978
81aaa1420337 Replace some btnModify() calls by btnSet().
ib
parents: 33961
diff changeset
837 btnSet(evFullScreen, (gtkLoadFullscreen ? btnPressed : btnReleased));
33960
1cd81338af07 Rework fullscreen handling.
ib
parents: 33959
diff changeset
838 }
33694
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
839
33731
81f71d910333 Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents: 33730
diff changeset
840 gui(GUI_SET_STATE, (void *)GUI_STOP);
33959
ef089a8affc6 Perform a wsHandleEvents() when playback ends.
ib
parents: 33958
diff changeset
841
35681
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
842 wsEvents();
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
843 wsWindowRedraw(&guiApp.videoWindow);
80c5c89f77d6 Cosmetic: Rename ws functions for the sake of consistency.
ib
parents: 35678
diff changeset
844 wsMouseVisibility(&guiApp.videoWindow, wsShowMouseCursor);
33694
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
845 }
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
846
45553d0f65c6 Don't let MPlayer directly call user interface functions.
ib
parents: 33693
diff changeset
847 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
848 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
849
33666
0f592e8530f1 Change return code of guiGetEvent() to indicate success.
ib
parents: 33664
diff changeset
850 return True;
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
851 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
852
35517
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
853 /**
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
854 * @brief Initialize the GUI playlist (i.e. import files that had been given
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
855 * on the command line) or add files "on the fly" (i.e. replace the
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
856 * current one (a playlist file) by other ones (its content)).
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
857 *
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
858 * @param what command (#GUI_PLAYLIST_INIT or #GUI_PLAYLIST_ADD) to be performed
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
859 * @param playtree MPlayer playtree to read from
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
860 * @param config MPlayer config context
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
861 * @param enqueue whether to overwrite GUI playlist (#False) or to append to it (#True)
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
862 *
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
863 * @return #True (ok) or #False (error)
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
864 */
35512
ce2cda8acb4e Cosmetic: Change variable names.
ib
parents: 35511
diff changeset
865 int guiPlaylist(int what, play_tree_t *playtree, m_config_t *config, int enqueue)
35510
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
866 {
35513
a24abc593a88 Revise guiPlaylist() concerning pt_iter.
ib
parents: 35512
diff changeset
867 play_tree_iter_t *pt_iter;
35519
7f1be403a640 Don't unnecessarily use global MPlayer variable filename.
ib
parents: 35518
diff changeset
868 const char *file;
35510
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
869 int added = False;
35512
ce2cda8acb4e Cosmetic: Change variable names.
ib
parents: 35511
diff changeset
870 plItem *curr;
35510
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
871
35513
a24abc593a88 Revise guiPlaylist() concerning pt_iter.
ib
parents: 35512
diff changeset
872 pt_iter = pt_iter_create(&playtree, config);
a24abc593a88 Revise guiPlaylist() concerning pt_iter.
ib
parents: 35512
diff changeset
873
a24abc593a88 Revise guiPlaylist() concerning pt_iter.
ib
parents: 35512
diff changeset
874 if (!pt_iter)
a24abc593a88 Revise guiPlaylist() concerning pt_iter.
ib
parents: 35512
diff changeset
875 return False;
a24abc593a88 Revise guiPlaylist() concerning pt_iter.
ib
parents: 35512
diff changeset
876
35510
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
877 switch (what) {
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
878 case GUI_PLAYLIST_INIT:
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
879
35511
6616645f91ea Cosmetic: Adjust indent.
ib
parents: 35510
diff changeset
880 if (!enqueue)
35517
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
881 listMgr(PLAYLIST_DELETE, 0);
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
882
35519
7f1be403a640 Don't unnecessarily use global MPlayer variable filename.
ib
parents: 35518
diff changeset
883 while ((file = pt_iter_get_next_file(pt_iter)))
7f1be403a640 Don't unnecessarily use global MPlayer variable filename.
ib
parents: 35518
diff changeset
884 if (add_to_gui_playlist(file, PLAYLIST_ITEM_APPEND))
35514
a3ca6d31b29f Cosmetic: Adjust indent.
ib
parents: 35513
diff changeset
885 added = True;
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
886
35511
6616645f91ea Cosmetic: Adjust indent.
ib
parents: 35510
diff changeset
887 uiCurr(); // update filename
6616645f91ea Cosmetic: Adjust indent.
ib
parents: 35510
diff changeset
888 guiInfo.PlaylistNext = True;
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
889
35518
7d695302b856 Move instruction up.
ib
parents: 35517
diff changeset
890 if (added)
7d695302b856 Move instruction up.
ib
parents: 35517
diff changeset
891 guiInfo.Track = 1;
7d695302b856 Move instruction up.
ib
parents: 35517
diff changeset
892
35511
6616645f91ea Cosmetic: Adjust indent.
ib
parents: 35510
diff changeset
893 if (enqueue)
6616645f91ea Cosmetic: Adjust indent.
ib
parents: 35510
diff changeset
894 filename = NULL; // don't start playing
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
895
35510
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
896 break;
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
897
35510
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
898 case GUI_PLAYLIST_ADD:
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
899
35516
70a577baeccc Remove unnecessary cast.
ib
parents: 35515
diff changeset
900 curr = listMgr(PLAYLIST_ITEM_GET_CURR, 0);
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
901
35519
7f1be403a640 Don't unnecessarily use global MPlayer variable filename.
ib
parents: 35518
diff changeset
902 while ((file = pt_iter_get_next_file(pt_iter)))
7f1be403a640 Don't unnecessarily use global MPlayer variable filename.
ib
parents: 35518
diff changeset
903 if (add_to_gui_playlist(file, PLAYLIST_ITEM_INSERT))
35514
a3ca6d31b29f Cosmetic: Adjust indent.
ib
parents: 35513
diff changeset
904 added = True;
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
905
35512
ce2cda8acb4e Cosmetic: Change variable names.
ib
parents: 35511
diff changeset
906 if (curr)
ce2cda8acb4e Cosmetic: Change variable names.
ib
parents: 35511
diff changeset
907 listMgr(PLAYLIST_ITEM_SET_CURR, curr);
35511
6616645f91ea Cosmetic: Adjust indent.
ib
parents: 35510
diff changeset
908 else
35517
4664688b4f63 Make comments doxygen comments.
ib
parents: 35516
diff changeset
909 listMgr(PLAYLIST_ITEM_SET_CURR, listMgr(PLAYLIST_GET, 0));
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
910
35512
ce2cda8acb4e Cosmetic: Change variable names.
ib
parents: 35511
diff changeset
911 if (curr && added)
35511
6616645f91ea Cosmetic: Adjust indent.
ib
parents: 35510
diff changeset
912 listMgr(PLAYLIST_ITEM_DEL_CURR, 0);
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
913
35511
6616645f91ea Cosmetic: Adjust indent.
ib
parents: 35510
diff changeset
914 uiCurr(); // update filename
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
915
35510
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
916 break;
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
917 }
06aa6dc71613 Combine guiPlaylistInitialize() and guiPlaylistAdd().
ib
parents: 35497
diff changeset
918
35513
a24abc593a88 Revise guiPlaylist() concerning pt_iter.
ib
parents: 35512
diff changeset
919 pt_iter_destroy(&pt_iter);
a24abc593a88 Revise guiPlaylist() concerning pt_iter.
ib
parents: 35512
diff changeset
920
35494
9cc5a5de6aa1 Cosmetic: Choose better variable name.
ib
parents: 35493
diff changeset
921 return added;
33746
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
922 }
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
923
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
924 /* GUI -> MPlayer */
23c804f4efbf Cosmetic: Separate interface functions.
ib
parents: 33745
diff changeset
925
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
926 void mplayer(int what, float value, void *data)
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
927 {
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
928 equalizer_t *eq = (equalizer_t *)data;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 27393
diff changeset
929
33765
c29fc64a28c4 Cosmetic: Rename mplayer() parameter.
ib
parents: 33763
diff changeset
930 switch (what) {
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
931 /* subtitle */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
932
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
933 case MPLAYER_SET_FONT_FACTOR:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
934 font_factor = value;
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
935 mplayerLoadFont();
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
936 break;
34454
5a45efc630b8 Remove all unnecessary #ifdefs from GUI code.
ib
parents: 34424
diff changeset
937
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
938 case MPLAYER_SET_FONT_OUTLINE:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
939 subtitle_font_thickness = (8.0f / 100.0f) * value;
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
940 mplayerLoadFont();
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
941 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
942
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
943 case MPLAYER_SET_FONT_BLUR:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
944 subtitle_font_radius = (8.0f / 100.0f) * value;
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
945 mplayerLoadFont();
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
946 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
947
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
948 case MPLAYER_SET_FONT_TEXTSCALE:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
949 text_font_scale_factor = value;
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
950 mplayerLoadFont();
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
951 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
952
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
953 case MPLAYER_SET_FONT_OSDSCALE:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
954 osd_font_scale_factor = value;
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
955 mplayerLoadFont();
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
956 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
957
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
958 case MPLAYER_SET_FONT_ENCODING:
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents: 33737
diff changeset
959 nfree(subtitle_font_encoding);
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
960 subtitle_font_encoding = gstrdup((char *)data);
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
961 mplayerLoadFont();
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
962 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
963
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
964 case MPLAYER_SET_FONT_AUTOSCALE:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
965 subtitle_autoscale = (int)value;
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
966 mplayerLoadFont();
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
967 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
968
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
969 case MPLAYER_SET_SUB_ENCODING:
33739
9f6d46d325de Remove gfree() from interface.c.
ib
parents: 33737
diff changeset
970 nfree(sub_cp);
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
971 sub_cp = gstrdup((char *)data);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
972 break;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
973
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
974 case MPLAYER_SET_EXTRA_STEREO:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
975 gtkAOExtraStereoMul = value;
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
976 if (guiInfo.afilter)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
977 af_control_any_rev(guiInfo.afilter, AF_CONTROL_ES_MUL | AF_CONTROL_SET, &gtkAOExtraStereoMul);
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
978 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
979
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
980 case MPLAYER_SET_PANSCAN:
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
981 {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
982 mp_cmd_t *mp_cmd;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
983
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
984 mp_cmd = calloc(1, sizeof(*mp_cmd));
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
985 mp_cmd->id = MP_CMD_PANSCAN;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
986 mp_cmd->name = strdup("panscan");
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
987 mp_cmd->args[0].v.f = value;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
988 mp_cmd->args[1].v.i = 1;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
989 mp_input_queue_cmd(mp_cmd);
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
990 }
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
991 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
992
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
993 case MPLAYER_SET_AUTO_QUALITY:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
994 auto_quality = (int)value;
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
995 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
996
34684
b03481253518 Cosmetic: Prefer C style for single line comments.
ib
parents: 34681
diff changeset
997 /* set equalizers */
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
998
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
999 case MPLAYER_SET_CONTRAST:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
1000 if (guiInfo.sh_video)
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
1001 set_video_colors(guiInfo.sh_video, "contrast", (int)value);
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
1002 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1003
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
1004 case MPLAYER_SET_BRIGHTNESS:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
1005 if (guiInfo.sh_video)
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
1006 set_video_colors(guiInfo.sh_video, "brightness", (int)value);
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
1007 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1008
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
1009 case MPLAYER_SET_HUE:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
1010 if (guiInfo.sh_video)
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
1011 set_video_colors(guiInfo.sh_video, "hue", (int)value);
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
1012 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1013
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
1014 case MPLAYER_SET_SATURATION:
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
1015 if (guiInfo.sh_video)
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
1016 set_video_colors(guiInfo.sh_video, "saturation", (int)value);
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
1017 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1018
33766
515a3b5f291e Rename the mplayer() symbolic constants.
ib
parents: 33765
diff changeset
1019 case MPLAYER_SET_EQUALIZER:
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1020 {
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1021 af_control_ext_t tmp;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1022
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1023 if (eq) {
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1024 gtkEquChannels[eq->channel][eq->band] = eq->gain;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1025 tmp.ch = eq->channel;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1026 tmp.arg = gtkEquChannels[eq->channel];
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1027
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
1028 if (guiInfo.afilter)
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
1029 af_control_any_rev(guiInfo.afilter, AF_CONTROL_EQUALIZER_GAIN | AF_CONTROL_SET, &tmp);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1030 } else {
33693
006a2db8bd55 Use unsigned index variable for comparison with array size.
ib
parents: 33692
diff changeset
1031 unsigned int i;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1032
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1033 memset(gtkEquChannels, 0, sizeof(gtkEquChannels));
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1034
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
1035 if (guiInfo.afilter) {
33689
8d0290220239 Replace numeric constants for gtkEquChannels array size.
ib
parents: 33688
diff changeset
1036 for (i = 0; i < FF_ARRAY_ELEMS(gtkEquChannels); i++) {
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1037 tmp.ch = i;
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1038 tmp.arg = gtkEquChannels[i];
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33548
diff changeset
1039 af_control_any_rev(guiInfo.afilter, AF_CONTROL_EQUALIZER_GAIN | AF_CONTROL_SET, &tmp);
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1040 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1041 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1042 }
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1043
33744
8497620cefca Remove pointless return code from mplayer().
ib
parents: 33743
diff changeset
1044 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1045 }
33768
cee9987bc81d Remove guiExit().
ib
parents: 33766
diff changeset
1046
cee9987bc81d Remove guiExit().
ib
parents: 33766
diff changeset
1047 case MPLAYER_EXIT_GUI:
33791
8b0c78a85a8c Cosmetic: Change parameter names of gui() and mplayer().
ib
parents: 33790
diff changeset
1048 exit_player_with_rc((enum exit_reason)value, (enum exit_reason)value >= EXIT_ERROR);
33768
cee9987bc81d Remove guiExit().
ib
parents: 33766
diff changeset
1049 break;
32984
eb831a979df7 Cosmetic: Format to MPlayer coding style.
ib
parents: 32978
diff changeset
1050 }
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1051 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1052
33763
03824cf8728d Cosmetic: Rename two functions that do MPlayer calls.
ib
parents: 33754
diff changeset
1053 void mplayerLoadFont(void)
33745
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1054 {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1055 #ifdef CONFIG_FREETYPE
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1056 load_font_ft(vo_image_width, vo_image_height, &vo_font, font_name, osd_font_scale_factor);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1057 #else
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1058 if (vo_font) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1059 int i;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1060
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1061 free(vo_font->name);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1062 free(vo_font->fpath);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1063
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1064 for (i = 0; i < 16; i++) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1065 if (vo_font->pic_a[i]) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1066 free(vo_font->pic_a[i]->bmp);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1067 free(vo_font->pic_a[i]->pal);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1068 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1069 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1070
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1071 for (i = 0; i < 16; i++) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1072 if (vo_font->pic_b[i]) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1073 free(vo_font->pic_b[i]->bmp);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1074 free(vo_font->pic_b[i]->pal);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1075 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1076 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1077
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1078 free(vo_font);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1079 vo_font = NULL;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1080 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1081
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1082 if (font_name) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1083 vo_font = read_font_desc(font_name, font_factor, 0);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1084
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1085 if (!vo_font)
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1086 gmp_msg(MSGT_GPLAYER, MSGL_ERR, MSGTR_CantLoadFont, font_name);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1087 } else {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1088 font_name = gstrdup(get_path("font/font.desc"));
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1089 vo_font = read_font_desc(font_name, font_factor, 0);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1090
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1091 if (!vo_font) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1092 nfree(font_name);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1093 font_name = gstrdup(MPLAYER_DATADIR "/font/font.desc");
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1094 vo_font = read_font_desc(font_name, font_factor, 0);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1095 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1096 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1097 #endif
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1098 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1099
33790
ab6d06f5b98b Add const to some string pointer arguments that will not be modified.
ib
parents: 33775
diff changeset
1100 void mplayerLoadSubtitle(const char *name)
33745
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1101 {
35495
78c44be4e671 Use symbolic constant defined for playing states.
ib
parents: 35494
diff changeset
1102 if (guiInfo.Playing == GUI_STOP)
33745
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1103 return;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1104
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1105 if (subdata) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1106 mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_DeletingSubtitles);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1107
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1108 sub_free(subdata);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1109 subdata = NULL;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1110 vo_sub = NULL;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1111
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1112 if (vo_osd_list) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1113 int len;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1114 mp_osd_obj_t *osd;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1115
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1116 osd = vo_osd_list;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1117
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1118 while (osd) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1119 if (osd->type == OSDTYPE_SUBTITLE)
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1120 break;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1121
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1122 osd = osd->next;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1123 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1124
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1125 if (osd && (osd->flags & OSDFLAG_VISIBLE)) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1126 len = osd->stride * (osd->bbox.y2 - osd->bbox.y1);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1127 memset(osd->bitmap_buffer, 0, len);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1128 memset(osd->alpha_buffer, 0, len);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1129 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1130 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1131 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1132
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1133 if (name) {
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1134 mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_LoadingSubtitles, name);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1135
33775
b42abb9c7f2c Remove member FPS from struct guiInterface_t.
ib
parents: 33774
diff changeset
1136 subdata = sub_read_file(name, (guiInfo.sh_video ? guiInfo.sh_video->fps : 0));
33745
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1137
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1138 if (!subdata)
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1139 gmp_msg(MSGT_GPLAYER, MSGL_ERR, MSGTR_CantLoadSub, name);
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1140
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1141 sub_name = (malloc(2 * sizeof(char *))); // when mplayer will be restarted
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1142 sub_name[0] = strdup(name); // sub_name[0] will be read
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1143 sub_name[1] = NULL;
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1144 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1145
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1146 update_set_of_subtitles();
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1147 }
2d1babde7b29 Cosmetic: Separate interface functions.
ib
parents: 33744
diff changeset
1148
33023
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1149 // NOTE TO MYSELF: This function is nonsense.
33289
be7d8c249dfd Cosmetic: uncrustify related indent adjustments
ib
parents: 33268
diff changeset
1150 // MPlayer should pass messages to the GUI
be7d8c249dfd Cosmetic: uncrustify related indent adjustments
ib
parents: 33268
diff changeset
1151 // which must decide then which message has
be7d8c249dfd Cosmetic: uncrustify related indent adjustments
ib
parents: 33268
diff changeset
1152 // to be shown (MSGL_FATAL, for example).
be7d8c249dfd Cosmetic: uncrustify related indent adjustments
ib
parents: 33268
diff changeset
1153 // But with this function it is at least
be7d8c249dfd Cosmetic: uncrustify related indent adjustments
ib
parents: 33268
diff changeset
1154 // possible to show GUI's very critical or
be7d8c249dfd Cosmetic: uncrustify related indent adjustments
ib
parents: 33268
diff changeset
1155 // abort messages.
33023
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1156 void gmp_msg(int mod, int lev, const char *format, ...)
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1157 {
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1158 char msg[512];
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1159 va_list va;
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1160
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1161 va_start(va, format);
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1162 vsnprintf(msg, sizeof(msg), format, va);
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1163 va_end(va);
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1164
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1165 mp_msg(mod, lev, msg);
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1166
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1167 if (mp_msg_test(mod, lev))
36036
2421356e2a03 Make #defines enums.
ib
parents: 36032
diff changeset
1168 gtkMessageBox(MSGBOX_FATAL, msg);
33023
ba432e34dc7e Add message showing function.
ib
parents: 33006
diff changeset
1169 }