annotate Gui/cfg.c @ 18715:30d7ddf08889

Fix window position when changing videos while in fullscreen and for window managers that modify position on Map. Oked by Alexander Strasser.
author reimar
date Thu, 15 Jun 2006 08:00:37 +0000
parents 5766a9d21992
children e60c8c7399d2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6770
pontscho
parents:
diff changeset
1
pontscho
parents:
diff changeset
2 #include <stdlib.h>
pontscho
parents:
diff changeset
3 #include <stdio.h>
pontscho
parents:
diff changeset
4 #include <string.h>
pontscho
parents:
diff changeset
5
17144
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 14686
diff changeset
6 #include "config.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 14686
diff changeset
7 #include "mp_msg.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 14686
diff changeset
8 #include "help_mp.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 14686
diff changeset
9 #include "mixer.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 14686
diff changeset
10 #include "mplayer.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 14686
diff changeset
11 #include "m_config.h"
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 14686
diff changeset
12 #include "m_option.h"
6770
pontscho
parents:
diff changeset
13
17144
0e1471d9da74 Unify include paths, -I.. is in CFLAGS.
diego
parents: 14686
diff changeset
14 #include "libvo/video_out.h"
6770
pontscho
parents:
diff changeset
15
pontscho
parents:
diff changeset
16 #include "cfg.h"
6797
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
17 #include "app.h"
6770
pontscho
parents:
diff changeset
18 #include "interface.h"
pontscho
parents:
diff changeset
19 #include "mplayer/play.h"
pontscho
parents:
diff changeset
20
pontscho
parents:
diff changeset
21 // --- params
pontscho
parents:
diff changeset
22
pontscho
parents:
diff changeset
23 int gtkEnableAudioEqualizer = 0;
pontscho
parents:
diff changeset
24
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6912
diff changeset
25 int gtkVopPP = 0;
8043
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
26 #ifdef USE_LIBAVCODEC
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
27 int gtkVopLAVC = 0;
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
28 #endif
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
29 #ifdef USE_LIBFAME
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
30 int gtkVopFAME = 0;
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
31 #endif
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6912
diff changeset
32
6770
pontscho
parents:
diff changeset
33 int gtkAONorm = 0;
pontscho
parents:
diff changeset
34 int gtkAOSurround = 0;
pontscho
parents:
diff changeset
35 int gtkAOExtraStereo = 0;
pontscho
parents:
diff changeset
36 float gtkAOExtraStereoMul = 1.0;
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8311
diff changeset
37 #ifdef USE_OSS_AUDIO
6770
pontscho
parents:
diff changeset
38 char * gtkAOOSSMixer;
12918
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
39 char * gtkAOOSSMixerChannel;
6770
pontscho
parents:
diff changeset
40 char * gtkAOOSSDevice;
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8311
diff changeset
41 #endif
12918
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
42 #if defined(HAVE_ALSA9) || defined (HAVE_ALSA1X)
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
43 char * gtkAOALSAMixer;
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
44 char * gtkAOALSAMixerChannel;
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
45 char * gtkAOALSADevice;
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
46 #endif
8714
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8600
diff changeset
47 #ifdef HAVE_SDL
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8600
diff changeset
48 char * gtkAOSDLDriver;
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8600
diff changeset
49 #endif
14686
e2b2ab284a9a ESD configuration dialog and software volume control option for Gui
reimar
parents: 14542
diff changeset
50 #ifdef USE_ESD
e2b2ab284a9a ESD configuration dialog and software volume control option for Gui
reimar
parents: 14542
diff changeset
51 char * gtkAOESDDevice;
e2b2ab284a9a ESD configuration dialog and software volume control option for Gui
reimar
parents: 14542
diff changeset
52 #endif
6770
pontscho
parents:
diff changeset
53
8284
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8276
diff changeset
54 int gtkCacheOn = 0;
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8276
diff changeset
55 int gtkCacheSize = 2048;
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8276
diff changeset
56
8311
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8308
diff changeset
57 int gtkAutoSyncOn = 0;
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8308
diff changeset
58 int gtkAutoSync = 0;
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8308
diff changeset
59
7706
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
60 #ifdef HAVE_DXR3
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
61 char * gtkDXR3Device;
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
62 #endif
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
63
6770
pontscho
parents:
diff changeset
64 int gtkSubDumpMPSub = 0;
pontscho
parents:
diff changeset
65 int gtkSubDumpSrt = 0;
pontscho
parents:
diff changeset
66
7538
c7b61f316edf - add "start in fullscreen" function
pontscho
parents: 7526
diff changeset
67 int gtkLoadFullscreen = 0;
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9056
diff changeset
68 int gtkShowVideoWindow = 1;
8974
pontscho
parents: 8973
diff changeset
69 int gtkEnablePlayBar = 1;
7538
c7b61f316edf - add "start in fullscreen" function
pontscho
parents: 7526
diff changeset
70
9625
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
71 int gui_save_pos = 1;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
72 int gui_main_pos_x = -2;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
73 int gui_main_pos_y = -2;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
74 int gui_sub_pos_x = -1;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
75 int gui_sub_pos_y = -1;
6770
pontscho
parents:
diff changeset
76 // ---
pontscho
parents:
diff changeset
77
pontscho
parents:
diff changeset
78 extern char * get_path( char * filename );
pontscho
parents:
diff changeset
79 extern int flip;
pontscho
parents:
diff changeset
80 extern int frame_dropping;
8308
6ea0feac9d42 add stop_xscreensaver
pontscho
parents: 8284
diff changeset
81 extern int stop_xscreensaver;
11412
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 10718
diff changeset
82 extern int m_config_parse_config_file(m_config_t* config, char *conffile);
6770
pontscho
parents:
diff changeset
83
pontscho
parents:
diff changeset
84 static m_config_t * gui_conf;
10594
57bdcdb061d7 Removed the historic cfgparser and switched full to the new config parser (altought some macros still remain for compatibility). As a side effect 90% of the warning messages are gone from the core. Things should be cleaner now and less confusing for newbies.
alex
parents: 9625
diff changeset
85 static m_option_t gui_opts[] =
6770
pontscho
parents:
diff changeset
86 {
pontscho
parents:
diff changeset
87 { "enable_audio_equ",&gtkEnableAudioEqualizer,CONF_TYPE_FLAG,0,0,1,NULL },
pontscho
parents:
diff changeset
88
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
89 { "vo_driver",&video_driver_list,CONF_TYPE_STRING_LIST,0,0,0,NULL },
6770
pontscho
parents:
diff changeset
90 { "vo_panscan",&vo_panscan,CONF_TYPE_FLOAT,CONF_RANGE,0.0,1.0,NULL },
pontscho
parents:
diff changeset
91 { "vo_doublebuffering",&vo_doublebuffering,CONF_TYPE_FLAG,0,0,1,NULL },
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
92 { "vo_direct_render",&vo_directrendering,CONF_TYPE_FLAG,0,0,1,NULL },
7706
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
93 #ifdef HAVE_DXR3
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
94 { "vo_dxr3_device",&gtkDXR3Device,CONF_TYPE_STRING,0,0,0,NULL },
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
95 #endif
6770
pontscho
parents:
diff changeset
96
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
97 { "v_framedrop",&frame_dropping,CONF_TYPE_INT,CONF_RANGE,0,2,NULL },
7139
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7092
diff changeset
98 { "v_flip",&flip,CONF_TYPE_INT,CONF_RANGE,-1,1,NULL },
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
99 { "v_ni",&force_ni,CONF_TYPE_FLAG,0,0,1,NULL },
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
100 { "v_idx",&index_mode,CONF_TYPE_INT,CONF_RANGE,-1,2,NULL },
7526
e3ca9e707857 - fix new afm/vfm support
pontscho
parents: 7283
diff changeset
101 { "v_vfm",&video_fm_list,CONF_TYPE_STRING_LIST,0,0,0,NULL },
e3ca9e707857 - fix new afm/vfm support
pontscho
parents: 7283
diff changeset
102 { "a_afm",&audio_fm_list,CONF_TYPE_STRING_LIST,0,0,0,NULL },
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6912
diff changeset
103
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6912
diff changeset
104 { "vf_pp",&gtkVopPP,CONF_TYPE_FLAG,0,0,1,NULL },
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
105 { "vf_autoq",&auto_quality,CONF_TYPE_INT,CONF_RANGE,0,100,NULL },
8043
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
106 #ifdef USE_LIBAVCODEC
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6912
diff changeset
107 { "vf_lavc",&gtkVopLAVC,CONF_TYPE_FLAG,0,0,1,NULL },
8043
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
108 #endif
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
109 #ifdef USE_LIBFAME
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6912
diff changeset
110 { "vf_fame",&gtkVopFAME,CONF_TYPE_FLAG,0,0,1,NULL },
8043
e5dda05f9aab cleanup
pontscho
parents: 7706
diff changeset
111 #endif
6770
pontscho
parents:
diff changeset
112
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
113 { "ao_driver",&audio_driver_list,CONF_TYPE_STRING_LIST,0,0,0,NULL },
6770
pontscho
parents:
diff changeset
114 { "ao_volnorm",&gtkAONorm,CONF_TYPE_FLAG,0,0,1,NULL },
14686
e2b2ab284a9a ESD configuration dialog and software volume control option for Gui
reimar
parents: 14542
diff changeset
115 { "softvol",&soft_vol,CONF_TYPE_FLAG,0,0,1,NULL },
6770
pontscho
parents:
diff changeset
116 { "ao_surround",&gtkAOSurround,CONF_TYPE_FLAG,0,0,1,NULL },
pontscho
parents:
diff changeset
117 { "ao_extra_stereo",&gtkAOExtraStereo,CONF_TYPE_FLAG,0,0,1,NULL },
pontscho
parents:
diff changeset
118 { "ao_extra_stereo_coefficient",&gtkAOExtraStereoMul,CONF_TYPE_FLOAT,CONF_RANGE,-10,10,NULL },
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8311
diff changeset
119 #ifdef USE_OSS_AUDIO
6770
pontscho
parents:
diff changeset
120 { "ao_oss_mixer",&gtkAOOSSMixer,CONF_TYPE_STRING,0,0,0,NULL },
12918
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
121 { "ao_oss_mixer_channel",&gtkAOOSSMixerChannel,CONF_TYPE_STRING,0,0,0,NULL },
6770
pontscho
parents:
diff changeset
122 { "ao_oss_device",&gtkAOOSSDevice,CONF_TYPE_STRING,0,0,0,NULL },
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8311
diff changeset
123 #endif
12918
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
124 #if defined(HAVE_ALSA9) || defined (HAVE_ALSA1X)
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
125 { "ao_alsa_mixer",&gtkAOALSAMixer,CONF_TYPE_STRING,0,0,0,NULL },
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
126 { "ao_alsa_mixer_channel",&gtkAOALSAMixerChannel,CONF_TYPE_STRING,0,0,0,NULL },
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
127 { "ao_alsa_device",&gtkAOALSADevice,CONF_TYPE_STRING,0,0,0,NULL },
eb0d3c1b6c6d unified audio options dialog, fixes also bug #40
reimar
parents: 11412
diff changeset
128 #endif
8714
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8600
diff changeset
129 #ifdef HAVE_SDL
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8600
diff changeset
130 { "ao_sdl_subdriver",&gtkAOSDLDriver,CONF_TYPE_STRING,0,0,0,NULL },
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8600
diff changeset
131 #endif
14686
e2b2ab284a9a ESD configuration dialog and software volume control option for Gui
reimar
parents: 14542
diff changeset
132 #ifdef USE_ESD
e2b2ab284a9a ESD configuration dialog and software volume control option for Gui
reimar
parents: 14542
diff changeset
133 { "ao_esd_device",&gtkAOESDDevice,CONF_TYPE_STRING,0,0,0,NULL },
e2b2ab284a9a ESD configuration dialog and software volume control option for Gui
reimar
parents: 14542
diff changeset
134 #endif
8933
bfe1b826cff1 add DVD and CDRom device entry's, and fix two 10l bug
pontscho
parents: 8920
diff changeset
135
bfe1b826cff1 add DVD and CDRom device entry's, and fix two 10l bug
pontscho
parents: 8920
diff changeset
136 { "dvd_device",&dvd_device,CONF_TYPE_STRING,0,0,0,NULL },
bfe1b826cff1 add DVD and CDRom device entry's, and fix two 10l bug
pontscho
parents: 8920
diff changeset
137 { "cdrom_device",&cdrom_device,CONF_TYPE_STRING,0,0,0,NULL },
6770
pontscho
parents:
diff changeset
138
8886
d32accfed8e6 add osd_level=3 support
pontscho
parents: 8717
diff changeset
139 { "osd_level",&osd_level,CONF_TYPE_INT,CONF_RANGE,0,3,NULL },
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
140 { "sub_auto_load",&sub_auto,CONF_TYPE_FLAG,0,0,1,NULL },
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
141 { "sub_unicode",&sub_unicode,CONF_TYPE_FLAG,0,0,1,NULL },
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
142 { "sub_pos",&sub_pos,CONF_TYPE_INT,CONF_RANGE,0,200,NULL },
8717
2df4e9d9922d add overlapping to preferences
pontscho
parents: 8714
diff changeset
143 { "sub_overlap",&suboverlap_enabled,CONF_TYPE_FLAG,0,0,0,NULL },
9612
a9273ae50f59 what's the opposite of backport? :)
arpi
parents: 9202
diff changeset
144 #ifdef USE_ICONV
9056
3086611e8213 - add subcp
pontscho
parents: 9055
diff changeset
145 { "sub_cp",&sub_cp,CONF_TYPE_STRING,0,0,0,NULL },
9612
a9273ae50f59 what's the opposite of backport? :)
arpi
parents: 9202
diff changeset
146 #endif
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
147 { "font_factor",&font_factor,CONF_TYPE_FLOAT,CONF_RANGE,0.0,10.0,NULL },
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
148 { "font_name",&font_name,CONF_TYPE_STRING,0,0,0,NULL },
7146
c3f4a1c124ed This patch fixes a compile error when HAVE_FREETYPE is not defined.
arpi
parents: 7139
diff changeset
149 #ifdef HAVE_FREETYPE
7139
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7092
diff changeset
150 { "font_encoding",&subtitle_font_encoding,CONF_TYPE_STRING,0,0,0,NULL },
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7092
diff changeset
151 { "font_text_scale",&text_font_scale_factor,CONF_TYPE_FLOAT,CONF_RANGE,0,100,NULL },
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7092
diff changeset
152 { "font_osd_scale",&osd_font_scale_factor,CONF_TYPE_FLOAT,CONF_RANGE,0,100,NULL },
7526
e3ca9e707857 - fix new afm/vfm support
pontscho
parents: 7283
diff changeset
153 { "font_blur",&subtitle_font_radius,CONF_TYPE_FLOAT,CONF_RANGE,0,8,NULL },
7139
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7092
diff changeset
154 { "font_outline",&subtitle_font_thickness,CONF_TYPE_FLOAT,CONF_RANGE,0,8,NULL },
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7092
diff changeset
155 { "font_autoscale",&subtitle_autoscale,CONF_TYPE_INT,CONF_RANGE,0,3,NULL },
7146
c3f4a1c124ed This patch fixes a compile error when HAVE_FREETYPE is not defined.
arpi
parents: 7139
diff changeset
156 #endif
7526
e3ca9e707857 - fix new afm/vfm support
pontscho
parents: 7283
diff changeset
157
8311
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8308
diff changeset
158 { "cache",&gtkCacheOn,CONF_TYPE_FLAG,0,0,1,NULL },
8284
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8276
diff changeset
159 { "cache_size",&gtkCacheSize,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL },
8973
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
160
0a665389cf2b - add playbar
pontscho
parents: 8933
diff changeset
161 { "playbar",&gtkEnablePlayBar,CONF_TYPE_FLAG,0,0,1,NULL },
7538
c7b61f316edf - add "start in fullscreen" function
pontscho
parents: 7526
diff changeset
162 { "load_fullscreen",&gtkLoadFullscreen,CONF_TYPE_FLAG,0,0,1,NULL },
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9056
diff changeset
163 { "show_videowin", &gtkShowVideoWindow,CONF_TYPE_FLAG,0,0,1,NULL },
8308
6ea0feac9d42 add stop_xscreensaver
pontscho
parents: 8284
diff changeset
164 { "stopxscreensaver",&stop_xscreensaver,CONF_TYPE_FLAG,0,0,1,NULL },
8311
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8308
diff changeset
165
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8308
diff changeset
166 { "autosync",&gtkAutoSyncOn,CONF_TYPE_FLAG,0,0,1,NULL },
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8308
diff changeset
167 { "autosync_size",&gtkAutoSync,CONF_TYPE_INT,CONF_RANGE,0,10000,NULL },
6797
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
168
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
169 { "gui_skin",&skinName,CONF_TYPE_STRING,0,0,0,NULL },
6770
pontscho
parents:
diff changeset
170
9625
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
171 { "gui_save_pos", &gui_save_pos, CONF_TYPE_FLAG,0,0,1,NULL},
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
172 { "gui_main_pos_x", &gui_main_pos_x, CONF_TYPE_INT,0,0,0,NULL},
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
173 { "gui_main_pos_y", &gui_main_pos_y, CONF_TYPE_INT,0,0,0,NULL},
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
174 { "gui_video_out_pos_x", &gui_sub_pos_x, CONF_TYPE_INT,0,0,0,NULL},
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
175 { "gui_video_out_pos_y", &gui_sub_pos_y, CONF_TYPE_INT,0,0,0,NULL},
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9612
diff changeset
176
6770
pontscho
parents:
diff changeset
177 { "equ_channel_1",&gtkEquChannel1,CONF_TYPE_STRING,0,0,0,NULL },
pontscho
parents:
diff changeset
178 { "equ_channel_2",&gtkEquChannel2,CONF_TYPE_STRING,0,0,0,NULL },
pontscho
parents:
diff changeset
179 { "equ_channel_3",&gtkEquChannel3,CONF_TYPE_STRING,0,0,0,NULL },
pontscho
parents:
diff changeset
180 { "equ_channel_4",&gtkEquChannel4,CONF_TYPE_STRING,0,0,0,NULL },
pontscho
parents:
diff changeset
181 { "equ_channel_5",&gtkEquChannel5,CONF_TYPE_STRING,0,0,0,NULL },
pontscho
parents:
diff changeset
182 { "equ_channel_6",&gtkEquChannel6,CONF_TYPE_STRING,0,0,0,NULL },
pontscho
parents:
diff changeset
183
pontscho
parents:
diff changeset
184 #if 1
6840
ed02bae611d5 - some cosmetic change in preferences
pontscho
parents: 6797
diff changeset
185 #define audio_equ_row( i,j ) { "equ_band_"#i#j,&gtkEquChannels[i][j],CONF_TYPE_FLOAT,CONF_RANGE,-15.0,15.0,NULL },
6770
pontscho
parents:
diff changeset
186 audio_equ_row( 0,0 ) audio_equ_row( 0,1 ) audio_equ_row( 0,2 ) audio_equ_row( 0,3 ) audio_equ_row( 0,4 ) audio_equ_row( 0,5 ) audio_equ_row( 0,6 ) audio_equ_row( 0,7 ) audio_equ_row( 0,8 ) audio_equ_row( 0,9 )
pontscho
parents:
diff changeset
187 audio_equ_row( 1,0 ) audio_equ_row( 1,1 ) audio_equ_row( 1,2 ) audio_equ_row( 1,3 ) audio_equ_row( 1,4 ) audio_equ_row( 1,5 ) audio_equ_row( 1,6 ) audio_equ_row( 1,7 ) audio_equ_row( 1,8 ) audio_equ_row( 1,9 )
pontscho
parents:
diff changeset
188 audio_equ_row( 2,0 ) audio_equ_row( 2,1 ) audio_equ_row( 2,2 ) audio_equ_row( 2,3 ) audio_equ_row( 2,4 ) audio_equ_row( 2,5 ) audio_equ_row( 2,6 ) audio_equ_row( 2,7 ) audio_equ_row( 2,8 ) audio_equ_row( 2,9 )
pontscho
parents:
diff changeset
189 audio_equ_row( 3,0 ) audio_equ_row( 3,1 ) audio_equ_row( 3,2 ) audio_equ_row( 3,3 ) audio_equ_row( 3,4 ) audio_equ_row( 3,5 ) audio_equ_row( 3,6 ) audio_equ_row( 3,7 ) audio_equ_row( 3,8 ) audio_equ_row( 3,9 )
pontscho
parents:
diff changeset
190 audio_equ_row( 4,0 ) audio_equ_row( 4,1 ) audio_equ_row( 4,2 ) audio_equ_row( 4,3 ) audio_equ_row( 4,4 ) audio_equ_row( 4,5 ) audio_equ_row( 4,6 ) audio_equ_row( 4,7 ) audio_equ_row( 4,8 ) audio_equ_row( 4,9 )
pontscho
parents:
diff changeset
191 audio_equ_row( 5,0 ) audio_equ_row( 5,1 ) audio_equ_row( 5,2 ) audio_equ_row( 5,3 ) audio_equ_row( 5,4 ) audio_equ_row( 5,5 ) audio_equ_row( 5,6 ) audio_equ_row( 5,7 ) audio_equ_row( 5,8 ) audio_equ_row( 5,9 )
pontscho
parents:
diff changeset
192 #undef audio_equ_row
pontscho
parents:
diff changeset
193 #endif
pontscho
parents:
diff changeset
194
pontscho
parents:
diff changeset
195 { NULL, NULL, 0, 0, 0, 0, NULL }
pontscho
parents:
diff changeset
196 };
pontscho
parents:
diff changeset
197
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
198 char * gfgets( char * str, int size, FILE * f )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
199 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
200 char * s = fgets( str,size,f );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
201 char c;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
202 if ( s )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
203 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
204 c=s[ strlen( s ) - 1 ]; if ( c == '\n' || c == '\r' ) s[ strlen( s ) - 1 ]=0;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
205 c=s[ strlen( s ) - 1 ]; if ( c == '\n' || c == '\r' ) s[ strlen( s ) - 1 ]=0;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
206 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
207 return s;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
208 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
209
6770
pontscho
parents:
diff changeset
210 int cfg_read( void )
pontscho
parents:
diff changeset
211 {
pontscho
parents:
diff changeset
212 char * cfg = get_path( "gui.conf" );
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
213 FILE * f;
6770
pontscho
parents:
diff changeset
214
pontscho
parents:
diff changeset
215 // -- read configuration
14156
c30e193ac112 printf --> mp_msg conversion, less verbosity
diego
parents: 12918
diff changeset
216 mp_msg( MSGT_GPLAYER,MSGL_V,"[cfg] reading config file: %s\n",cfg );
10594
57bdcdb061d7 Removed the historic cfgparser and switched full to the new config parser (altought some macros still remain for compatibility). As a side effect 90% of the warning messages are gone from the core. Things should be cleaner now and less confusing for newbies.
alex
parents: 9625
diff changeset
217 gui_conf=m_config_new();
6770
pontscho
parents:
diff changeset
218 m_config_register_options( gui_conf,gui_opts );
pontscho
parents:
diff changeset
219 if ( m_config_parse_config_file( gui_conf,cfg ) < 0 )
pontscho
parents:
diff changeset
220 {
18335
5766a9d21992 Rename some misspelled and misnamed messages.
diego
parents: 17144
diff changeset
221 mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_ConfigFileError );
7538
c7b61f316edf - add "start in fullscreen" function
pontscho
parents: 7526
diff changeset
222 // exit( 1 );
6770
pontscho
parents:
diff changeset
223 }
pontscho
parents:
diff changeset
224 free( cfg );
pontscho
parents:
diff changeset
225
pontscho
parents:
diff changeset
226 // -- read pl
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
227 cfg=get_path( "gui.pl" );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
228 if ( (f=fopen( cfg,"rt" )) )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
229 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
230 while ( !feof( f ) )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
231 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
232 char tmp[512]; plItem * item;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
233 if ( gfgets( tmp,512,f ) == NULL ) continue;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
234 item=calloc( 1,sizeof( plItem ) );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
235 item->path=strdup( tmp );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
236 gfgets( tmp,512,f );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
237 item->name=strdup( tmp );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
238 gtkSet( gtkAddPlItem,0,(void*)item );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
239 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
240 fclose( f );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
241 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
242 free( cfg );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
243
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
244 //-- read previously visited urls
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
245 cfg=get_path( "gui.url" );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
246 if ( (f=fopen( cfg,"rt" )) )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
247 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
248 while ( !feof( f ) )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
249 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
250 char tmp[512]; URLItem * item;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
251 if ( gfgets( tmp,512,f ) == NULL ) continue;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
252 item=calloc( 1,sizeof( URLItem ) );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
253 item->url=strdup( tmp );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
254 gtkSet( gtkAddURLItem,0,(void*)item );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
255 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
256 fclose( f );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
257 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
258 free( cfg );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
259
9055
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
260 // -- reade file loader history
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
261 cfg=get_path( "gui.history" );
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
262 if ( (f=fopen( cfg,"rt+" )) )
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
263 {
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
264 int i = 0;
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
265 while ( !feof( f ) )
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
266 {
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
267 char tmp[512];
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
268 if ( gfgets( tmp,512,f ) == NULL ) continue;
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
269 fsHistory[i++]=gstrdup( tmp );
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
270 }
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
271 fclose( f );
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
272 }
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
273 free( cfg );
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
274
6770
pontscho
parents:
diff changeset
275 return 0;
pontscho
parents:
diff changeset
276 }
pontscho
parents:
diff changeset
277
pontscho
parents:
diff changeset
278 int cfg_write( void )
pontscho
parents:
diff changeset
279 {
pontscho
parents:
diff changeset
280 char * cfg = get_path( "gui.conf" );
pontscho
parents:
diff changeset
281 FILE * f;
pontscho
parents:
diff changeset
282 int i;
pontscho
parents:
diff changeset
283
pontscho
parents:
diff changeset
284 // -- save configuration
pontscho
parents:
diff changeset
285 if ( (f=fopen( cfg,"wt+" )) )
pontscho
parents:
diff changeset
286 {
pontscho
parents:
diff changeset
287 for ( i=0;gui_opts[i].name;i++ )
pontscho
parents:
diff changeset
288 {
8168
ff6a98628e6c Fix the Gui with NEW_CONFIG
albeu
parents: 8043
diff changeset
289 char* v = m_option_print(&gui_opts[i],gui_opts[i].p);
ff6a98628e6c Fix the Gui with NEW_CONFIG
albeu
parents: 8043
diff changeset
290 if(v) {
ff6a98628e6c Fix the Gui with NEW_CONFIG
albeu
parents: 8043
diff changeset
291 fprintf( f,"%s = \"%s\"\n",gui_opts[i].name, v);
ff6a98628e6c Fix the Gui with NEW_CONFIG
albeu
parents: 8043
diff changeset
292 free(v);
ff6a98628e6c Fix the Gui with NEW_CONFIG
albeu
parents: 8043
diff changeset
293 } else if((int)v == -1)
14156
c30e193ac112 printf --> mp_msg conversion, less verbosity
diego
parents: 12918
diff changeset
294 mp_msg(MSGT_GPLAYER,MSGL_WARN,MSGTR_UnableToSaveOption, gui_opts[i].name);
6770
pontscho
parents:
diff changeset
295 }
pontscho
parents:
diff changeset
296 fclose( f );
pontscho
parents:
diff changeset
297 }
pontscho
parents:
diff changeset
298 free( cfg );
pontscho
parents:
diff changeset
299
pontscho
parents:
diff changeset
300 // -- save playlist
pontscho
parents:
diff changeset
301 cfg=get_path( "gui.pl" );
pontscho
parents:
diff changeset
302 if ( (f=fopen( cfg,"wt+" )) )
pontscho
parents:
diff changeset
303 {
pontscho
parents:
diff changeset
304 plCurrent=plList;
pontscho
parents:
diff changeset
305 while ( plCurrent )
pontscho
parents:
diff changeset
306 {
pontscho
parents:
diff changeset
307 if ( plCurrent->path && plCurrent->name )
pontscho
parents:
diff changeset
308 {
pontscho
parents:
diff changeset
309 fprintf( f,"%s\n",plCurrent->path );
pontscho
parents:
diff changeset
310 fprintf( f,"%s\n",plCurrent->name );
pontscho
parents:
diff changeset
311 }
pontscho
parents:
diff changeset
312 plCurrent=plCurrent->next;
pontscho
parents:
diff changeset
313 }
pontscho
parents:
diff changeset
314 fclose( f );
pontscho
parents:
diff changeset
315 }
pontscho
parents:
diff changeset
316 free( cfg );
pontscho
parents:
diff changeset
317
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
318 // -- save URL's
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
319 cfg=get_path( "gui.url" );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
320 if ( (f=fopen( cfg,"wt+" )) )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
321 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
322 while ( URLList )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
323 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
324 if ( URLList->url ) fprintf( f,"%s\n",URLList->url );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
325 URLList=URLList->next;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
326 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
327 fclose( f );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
328 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
329 free( cfg );
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
330
9055
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
331 // -- save file loader history
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
332 cfg=get_path( "gui.history" );
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
333 if ( (f=fopen( cfg,"wt+" )) )
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
334 {
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
335 int i = 0;
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
336 // while ( fsHistory[i] != NULL )
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
337 for ( i=0;i < 5; i++)
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
338 if( fsHistory[i] ) fprintf( f,"%s\n",fsHistory[i] );
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
339 fclose( f );
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
340 }
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
341 free( cfg );
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8974
diff changeset
342
6770
pontscho
parents:
diff changeset
343 return 0;
pontscho
parents:
diff changeset
344 }
pontscho
parents:
diff changeset
345