Mercurial > mplayer.hg
annotate gui/win32/wincfg.c @ 31824:e26b1c667fd8
Add const to avoid warnings.
The const on the return type is not correct compared to the real win32 API
functions, but that really does not matter for us, avoiding the warning is
more useful.
author | reimar |
---|---|
date | Mon, 02 Aug 2010 17:32:42 +0000 |
parents | 0bb0b99e4dc1 |
children | 6c48f42a9c75 |
rev | line source |
---|---|
23077 | 1 /* |
23079 | 2 * MPlayer GUI for Win32 |
3 * Copyright (C) 2003 Sascha Sommer <saschasommer@freenet.de> | |
4 * Copyright (C) 2006 Erik Augustson <erik_27can@yahoo.com> | |
5 * Copyright (C) 2006 Gianluigi Tiesi <sherpya@netfarm.it> | |
6 * | |
7 * This file is part of MPlayer. | |
8 * | |
9 * MPlayer is free software; you can redistribute it and/or modify | |
10 * it under the terms of the GNU General Public License as published by | |
11 * the Free Software Foundation; either version 2 of the License, or | |
12 * (at your option) any later version. | |
13 * | |
14 * MPlayer is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
26457 | 19 * You should have received a copy of the GNU General Public License along |
20 * with MPlayer; if not, write to the Free Software Foundation, Inc., | |
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
23079 | 22 */ |
23077 | 23 |
26193
609236ad27f4
more header / declaration cleanups; fixes a lot of warnings as well as a preempt to removal of redundant wincfg.h.
vayne
parents:
25713
diff
changeset
|
24 #include <windows.h> |
23077 | 25 #include <stdlib.h> |
26 #include <string.h> | |
30901 | 27 #include "path.h" |
23123
21e29d5932c5
header / declarations cleanup, also fixes broken compilation.
vayne
parents:
23091
diff
changeset
|
28 #include "mplayer.h" |
23091
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
29 #include "mp_msg.h" |
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
30 #include "help_mp.h" |
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
31 #include "m_config.h" |
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
32 #include "m_option.h" |
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
33 #include "libvo/video_out.h" |
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
34 #include "mixer.h" |
30558 | 35 #include "gui/mplayer/gmplayer.h" |
26372
76413880bfad
Update include paths to account for build system changes.
diego
parents:
26193
diff
changeset
|
36 #include "gui/interface.h" |
26193
609236ad27f4
more header / declaration cleanups; fixes a lot of warnings as well as a preempt to removal of redundant wincfg.h.
vayne
parents:
25713
diff
changeset
|
37 #include "gui.h" |
23077 | 38 |
39 /* params */ | |
40 int gtkAONorm = 0; | |
41 int gtkAOExtraStereo = 0; | |
42 float gtkAOExtraStereoMul = 1.0; | |
43 int gtkCacheOn = 0; | |
44 int gtkCacheSize = 2048; | |
45 int gtkAutoSyncOn = 0; | |
46 int gtkAutoSync = 0; | |
47 | |
31326 | 48 int sub_window = 1; |
23077 | 49 int console = 0; |
50 | |
51 int gui_save_pos = 1; | |
52 int gui_main_pos_x = -2; | |
53 int gui_main_pos_y = -2; | |
54 int gui_sub_pos_x = -1; | |
55 int gui_sub_pos_y = -1; | |
56 | |
57 /* External functions */ | |
58 extern char *proc_priority; | |
28051 | 59 int m_config_parse_config_file(m_config_t *config, char *conffile); |
23077 | 60 |
61 static m_config_t *gui_conf; | |
25713
0fe20154a883
gui_opts should be const for win32 gui as well (why, oh why, was all
reimar
parents:
25712
diff
changeset
|
62 static const m_option_t gui_opts[] = |
23077 | 63 { |
64 { "priority", &proc_priority, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
65 { "vo_driver", &video_driver_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL }, | |
66 { "v_framedrop", &frame_dropping, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL }, | |
67 { "vo_doublebuffering", &vo_doublebuffering, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
68 { "vo_direct_render", &vo_directrendering, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
69 { "ao_driver", &audio_driver_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL }, | |
70 { "ao_volnorm", >kAONorm, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
71 { "softvol", &soft_vol, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
72 { "ao_extra_stereo", >kAOExtraStereo, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
73 { "ao_extra_stereo_coefficient", >kAOExtraStereoMul, CONF_TYPE_FLOAT, CONF_RANGE, -10, 10, NULL }, | |
74 { "delay", &audio_delay, CONF_TYPE_FLOAT, CONF_RANGE, -100.0, 100.0, NULL}, | |
75 { "dvd_device", &dvd_device, CONF_TYPE_STRING, 0, 0, 0, NULL }, | |
76 { "cdrom_device", &cdrom_device, CONF_TYPE_STRING, 0, 0, 0, NULL }, | |
77 { "osd_level", &osd_level, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL }, | |
78 { "cache", >kCacheOn, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
79 { "cache_size", >kCacheSize, CONF_TYPE_INT, CONF_RANGE, -1, 65535, NULL }, | |
80 { "autosync", >kAutoSyncOn, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
81 { "autosync_size", >kAutoSync, CONF_TYPE_INT, CONF_RANGE, 0, 10000, NULL }, | |
82 { "gui_skin", &skinName, CONF_TYPE_STRING, 0, 0, 0, NULL }, | |
83 { "gui_main_pos_x", &gui_main_pos_x, CONF_TYPE_INT, 0, 0, 0, NULL }, | |
84 { "gui_main_pos_y", &gui_main_pos_y, CONF_TYPE_INT, 0, 0, 0, NULL }, | |
85 { "gui_sub_pos_x", &gui_sub_pos_x, CONF_TYPE_INT, 0, 0, 0, NULL }, | |
86 { "gui_sub_pos_y", &gui_sub_pos_y, CONF_TYPE_INT, 0, 0, 0, NULL }, | |
87 { "sub_window", &sub_window, CONF_TYPE_FLAG, 0, 0, 1, NULL}, | |
88 { "console", &console, CONF_TYPE_FLAG, 0, 0, 1, NULL}, | |
89 { NULL, NULL, 0, 0, 0, 0, NULL } | |
90 }; | |
91 | |
92 int cfg_read(void) | |
93 { | |
94 char *cfg = get_path("gui.conf"); | |
95 | |
96 /* read configuration */ | |
97 mp_msg(MSGT_GPLAYER, MSGL_V, "[GUI] [cfg] reading config file: %s\n", cfg); | |
98 gui_conf = m_config_new(); | |
99 m_config_register_options(gui_conf, gui_opts); | |
100 if (m_config_parse_config_file(gui_conf, cfg) < 0) | |
101 mp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_ConfigFileError); | |
102 free(cfg); | |
103 return 0; | |
104 } | |
105 | |
106 int cfg_write(void) | |
107 { | |
108 char *cfg = get_path("gui.conf"); | |
109 FILE *f; | |
110 int i; | |
111 | |
112 /* save configuration */ | |
113 if ((f = fopen(cfg, "wt+"))) | |
114 { | |
115 for (i=0; gui_opts[i].name; i++) | |
116 { | |
117 char *v = m_option_print(&gui_opts[i], gui_opts[i].p); | |
25712
363e217ce9fd
Win32 gui has the same m_option_print error handling bug
reimar
parents:
23123
diff
changeset
|
118 if(v == (char *)-1) { |
363e217ce9fd
Win32 gui has the same m_option_print error handling bug
reimar
parents:
23123
diff
changeset
|
119 mp_msg(MSGT_GPLAYER, MSGL_WARN, MSGTR_UnableToSaveOption, gui_opts[i].name); |
363e217ce9fd
Win32 gui has the same m_option_print error handling bug
reimar
parents:
23123
diff
changeset
|
120 v = NULL; |
363e217ce9fd
Win32 gui has the same m_option_print error handling bug
reimar
parents:
23123
diff
changeset
|
121 } |
23077 | 122 if(v) |
123 { | |
124 fprintf(f, "%s = \"%s\"\n", gui_opts[i].name, v); | |
125 free(v); | |
126 } | |
127 } | |
128 fclose(f); | |
129 } | |
130 free(cfg); | |
131 return 0; | |
132 } |