Mercurial > mplayer.hg
annotate gui/win32/wincfg.c @ 32676:db882cd69776
Do not #define _WIN32 on the command line for Cygwin.
Newer Cygwin versions no longer do this and hopefully we should be able
to survive without this hack as well. This change necessitates adapting
two #ifdefs in the MPlayer codebase. It is committed untested as I do
not have access to a Cygwin system.
author | diego |
---|---|
date | Thu, 06 Jan 2011 12:42:59 +0000 |
parents | ab6ac5b156ca |
children | 9a7b0dab3d95 |
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" |
32020
6c48f42a9c75
Replace m_config_parse_config_file() forward declaration by proper #include.
diego
parents:
31327
diff
changeset
|
33 #include "parser-cfg.h" |
23091
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
34 #include "libvo/video_out.h" |
32068
ab6ac5b156ca
Replace proc_priority extern declaration by osdep/priority.h #include.
diego
parents:
32020
diff
changeset
|
35 #include "osdep/priority.h" |
23091
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
36 #include "mixer.h" |
30558 | 37 #include "gui/mplayer/gmplayer.h" |
26372
76413880bfad
Update include paths to account for build system changes.
diego
parents:
26193
diff
changeset
|
38 #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
|
39 #include "gui.h" |
23077 | 40 |
41 /* params */ | |
42 int gtkAONorm = 0; | |
43 int gtkAOExtraStereo = 0; | |
44 float gtkAOExtraStereoMul = 1.0; | |
45 int gtkCacheOn = 0; | |
46 int gtkCacheSize = 2048; | |
47 int gtkAutoSyncOn = 0; | |
48 int gtkAutoSync = 0; | |
49 | |
31326 | 50 int sub_window = 1; |
23077 | 51 int console = 0; |
52 | |
53 int gui_save_pos = 1; | |
54 int gui_main_pos_x = -2; | |
55 int gui_main_pos_y = -2; | |
56 int gui_sub_pos_x = -1; | |
57 int gui_sub_pos_y = -1; | |
58 | |
59 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
|
60 static const m_option_t gui_opts[] = |
23077 | 61 { |
62 { "priority", &proc_priority, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
63 { "vo_driver", &video_driver_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL }, | |
64 { "v_framedrop", &frame_dropping, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL }, | |
65 { "vo_doublebuffering", &vo_doublebuffering, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
66 { "vo_direct_render", &vo_directrendering, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
67 { "ao_driver", &audio_driver_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL }, | |
68 { "ao_volnorm", >kAONorm, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
69 { "softvol", &soft_vol, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
70 { "ao_extra_stereo", >kAOExtraStereo, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
71 { "ao_extra_stereo_coefficient", >kAOExtraStereoMul, CONF_TYPE_FLOAT, CONF_RANGE, -10, 10, NULL }, | |
72 { "delay", &audio_delay, CONF_TYPE_FLOAT, CONF_RANGE, -100.0, 100.0, NULL}, | |
73 { "dvd_device", &dvd_device, CONF_TYPE_STRING, 0, 0, 0, NULL }, | |
74 { "cdrom_device", &cdrom_device, CONF_TYPE_STRING, 0, 0, 0, NULL }, | |
75 { "osd_level", &osd_level, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL }, | |
76 { "cache", >kCacheOn, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
77 { "cache_size", >kCacheSize, CONF_TYPE_INT, CONF_RANGE, -1, 65535, NULL }, | |
78 { "autosync", >kAutoSyncOn, CONF_TYPE_FLAG, 0, 0, 1, NULL }, | |
79 { "autosync_size", >kAutoSync, CONF_TYPE_INT, CONF_RANGE, 0, 10000, NULL }, | |
80 { "gui_skin", &skinName, CONF_TYPE_STRING, 0, 0, 0, NULL }, | |
81 { "gui_main_pos_x", &gui_main_pos_x, CONF_TYPE_INT, 0, 0, 0, NULL }, | |
82 { "gui_main_pos_y", &gui_main_pos_y, CONF_TYPE_INT, 0, 0, 0, NULL }, | |
83 { "gui_sub_pos_x", &gui_sub_pos_x, CONF_TYPE_INT, 0, 0, 0, NULL }, | |
84 { "gui_sub_pos_y", &gui_sub_pos_y, CONF_TYPE_INT, 0, 0, 0, NULL }, | |
85 { "sub_window", &sub_window, CONF_TYPE_FLAG, 0, 0, 1, NULL}, | |
86 { "console", &console, CONF_TYPE_FLAG, 0, 0, 1, NULL}, | |
87 { NULL, NULL, 0, 0, 0, 0, NULL } | |
88 }; | |
89 | |
90 int cfg_read(void) | |
91 { | |
92 char *cfg = get_path("gui.conf"); | |
93 | |
94 /* read configuration */ | |
95 mp_msg(MSGT_GPLAYER, MSGL_V, "[GUI] [cfg] reading config file: %s\n", cfg); | |
96 gui_conf = m_config_new(); | |
97 m_config_register_options(gui_conf, gui_opts); | |
98 if (m_config_parse_config_file(gui_conf, cfg) < 0) | |
99 mp_msg(MSGT_GPLAYER, MSGL_FATAL, MSGTR_ConfigFileError); | |
100 free(cfg); | |
101 return 0; | |
102 } | |
103 | |
104 int cfg_write(void) | |
105 { | |
106 char *cfg = get_path("gui.conf"); | |
107 FILE *f; | |
108 int i; | |
109 | |
110 /* save configuration */ | |
111 if ((f = fopen(cfg, "wt+"))) | |
112 { | |
113 for (i=0; gui_opts[i].name; i++) | |
114 { | |
115 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
|
116 if(v == (char *)-1) { |
363e217ce9fd
Win32 gui has the same m_option_print error handling bug
reimar
parents:
23123
diff
changeset
|
117 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
|
118 v = NULL; |
363e217ce9fd
Win32 gui has the same m_option_print error handling bug
reimar
parents:
23123
diff
changeset
|
119 } |
23077 | 120 if(v) |
121 { | |
122 fprintf(f, "%s = \"%s\"\n", gui_opts[i].name, v); | |
123 free(v); | |
124 } | |
125 } | |
126 fclose(f); | |
127 } | |
128 free(cfg); | |
129 return 0; | |
130 } |