Mercurial > mplayer.hg
annotate Gui/cfg.c @ 8635:81dbd28ef7c0
these patches let ,,oldstyle'' and freetype subtitle renderers live
together happily. if an oldstyle subtitle (font.desc) is found, it will
be used. otherwise mplayer will choose subfont.ttf, if freetype was
detected during ./configure.
(also you can use -font /path/to/font.desc and -font /path/to/foobar.ttf too)
patch-set by Wojtek Kaniewski <wojtekka@bydg.pdi.net>
author | arpi |
---|---|
date | Sun, 29 Dec 2002 14:59:23 +0000 |
parents | 54eac4cf587c |
children | a88f827ec563 |
rev | line source |
---|---|
6770 | 1 |
2 #include <stdlib.h> | |
3 #include <stdio.h> | |
4 #include <string.h> | |
5 | |
6 #include "../config.h" | |
7 #include "../mp_msg.h" | |
8 #include "../mplayer.h" | |
9 #include "../cfgparser.h" | |
10 | |
7019 | 11 #ifdef USE_SETLOCALE |
12 #include <locale.h> | |
13 #endif | |
14 | |
6770 | 15 #include "../../libvo/video_out.h" |
16 | |
17 #include "cfg.h" | |
6797
06d29dbdf20d
upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents:
6794
diff
changeset
|
18 #include "app.h" |
6770 | 19 #include "interface.h" |
20 #include "mplayer/play.h" | |
21 | |
22 // --- params | |
23 | |
24 int gtkEnableAudioEqualizer = 0; | |
25 | |
7009 | 26 int gtkVopPP = 0; |
8043 | 27 #ifdef USE_LIBAVCODEC |
28 int gtkVopLAVC = 0; | |
29 #endif | |
30 #ifdef USE_LIBFAME | |
31 int gtkVopFAME = 0; | |
32 #endif | |
7009 | 33 |
6770 | 34 int gtkAONoSound = 0; |
35 int gtkAONorm = 0; | |
36 int gtkAOSurround = 0; | |
37 int gtkAOExtraStereo = 0; | |
38 float gtkAOExtraStereoMul = 1.0; | |
8600
54eac4cf587c
Lots of functions and variables specific to OSS audio are used without
arpi
parents:
8311
diff
changeset
|
39 #ifdef USE_OSS_AUDIO |
6770 | 40 char * gtkAOOSSMixer; |
41 char * gtkAOOSSDevice; | |
8600
54eac4cf587c
Lots of functions and variables specific to OSS audio are used without
arpi
parents:
8311
diff
changeset
|
42 #endif |
6770 | 43 |
8284 | 44 int gtkCacheOn = 0; |
45 int gtkCacheSize = 2048; | |
46 | |
8311 | 47 int gtkAutoSyncOn = 0; |
48 int gtkAutoSync = 0; | |
49 | |
7706 | 50 #ifdef HAVE_DXR3 |
51 char * gtkDXR3Device; | |
52 #endif | |
53 | |
6770 | 54 int gtkSubDumpMPSub = 0; |
55 int gtkSubDumpSrt = 0; | |
56 | |
7538 | 57 int gtkLoadFullscreen = 0; |
58 | |
6770 | 59 // --- |
60 | |
61 extern char * get_path( char * filename ); | |
62 extern int flip; | |
63 extern int frame_dropping; | |
8308 | 64 extern int stop_xscreensaver; |
6770 | 65 |
66 static m_config_t * gui_conf; | |
67 static config_t gui_opts[] = | |
68 { | |
69 { "enable_audio_equ",>kEnableAudioEqualizer,CONF_TYPE_FLAG,0,0,1,NULL }, | |
70 | |
7582 | 71 { "vo_driver",&video_driver_list,CONF_TYPE_STRING_LIST,0,0,0,NULL }, |
6770 | 72 { "vo_panscan",&vo_panscan,CONF_TYPE_FLOAT,CONF_RANGE,0.0,1.0,NULL }, |
73 { "vo_doublebuffering",&vo_doublebuffering,CONF_TYPE_FLAG,0,0,1,NULL }, | |
7019 | 74 { "vo_direct_render",&vo_directrendering,CONF_TYPE_FLAG,0,0,1,NULL }, |
7706 | 75 #ifdef HAVE_DXR3 |
76 { "vo_dxr3_device",>kDXR3Device,CONF_TYPE_STRING,0,0,0,NULL }, | |
77 #endif | |
6770 | 78 |
7019 | 79 { "v_framedrop",&frame_dropping,CONF_TYPE_INT,CONF_RANGE,0,2,NULL }, |
7139 | 80 { "v_flip",&flip,CONF_TYPE_INT,CONF_RANGE,-1,1,NULL }, |
7019 | 81 { "v_ni",&force_ni,CONF_TYPE_FLAG,0,0,1,NULL }, |
82 { "v_idx",&index_mode,CONF_TYPE_INT,CONF_RANGE,-1,2,NULL }, | |
7526 | 83 { "v_vfm",&video_fm_list,CONF_TYPE_STRING_LIST,0,0,0,NULL }, |
84 { "a_afm",&audio_fm_list,CONF_TYPE_STRING_LIST,0,0,0,NULL }, | |
7009 | 85 |
86 { "vf_pp",>kVopPP,CONF_TYPE_FLAG,0,0,1,NULL }, | |
7019 | 87 { "vf_autoq",&auto_quality,CONF_TYPE_INT,CONF_RANGE,0,100,NULL }, |
8043 | 88 #ifdef USE_LIBAVCODEC |
7009 | 89 { "vf_lavc",>kVopLAVC,CONF_TYPE_FLAG,0,0,1,NULL }, |
8043 | 90 #endif |
91 #ifdef USE_LIBFAME | |
7009 | 92 { "vf_fame",>kVopFAME,CONF_TYPE_FLAG,0,0,1,NULL }, |
8043 | 93 #endif |
6770 | 94 |
7582 | 95 { "ao_driver",&audio_driver_list,CONF_TYPE_STRING_LIST,0,0,0,NULL }, |
6770 | 96 { "ao_nosound",>kAONoSound,CONF_TYPE_FLAG,0,0,1,NULL }, |
97 { "ao_volnorm",>kAONorm,CONF_TYPE_FLAG,0,0,1,NULL }, | |
98 { "ao_surround",>kAOSurround,CONF_TYPE_FLAG,0,0,1,NULL }, | |
99 { "ao_extra_stereo",>kAOExtraStereo,CONF_TYPE_FLAG,0,0,1,NULL }, | |
100 { "ao_extra_stereo_coefficient",>kAOExtraStereoMul,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
|
101 #ifdef USE_OSS_AUDIO |
6770 | 102 { "ao_oss_mixer",>kAOOSSMixer,CONF_TYPE_STRING,0,0,0,NULL }, |
103 { "ao_oss_device",>kAOOSSDevice,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
|
104 #endif |
6770 | 105 |
106 { "osd_level",&osd_level,CONF_TYPE_INT,CONF_RANGE,0,2,NULL }, | |
7019 | 107 { "sub_auto_load",&sub_auto,CONF_TYPE_FLAG,0,0,1,NULL }, |
108 { "sub_unicode",&sub_unicode,CONF_TYPE_FLAG,0,0,1,NULL }, | |
109 { "sub_pos",&sub_pos,CONF_TYPE_INT,CONF_RANGE,0,200,NULL }, | |
110 { "font_factor",&font_factor,CONF_TYPE_FLOAT,CONF_RANGE,0.0,10.0,NULL }, | |
111 { "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
|
112 #ifdef HAVE_FREETYPE |
7139 | 113 { "font_encoding",&subtitle_font_encoding,CONF_TYPE_STRING,0,0,0,NULL }, |
114 { "font_text_scale",&text_font_scale_factor,CONF_TYPE_FLOAT,CONF_RANGE,0,100,NULL }, | |
115 { "font_osd_scale",&osd_font_scale_factor,CONF_TYPE_FLOAT,CONF_RANGE,0,100,NULL }, | |
7526 | 116 { "font_blur",&subtitle_font_radius,CONF_TYPE_FLOAT,CONF_RANGE,0,8,NULL }, |
7139 | 117 { "font_outline",&subtitle_font_thickness,CONF_TYPE_FLOAT,CONF_RANGE,0,8,NULL }, |
118 { "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
|
119 #endif |
7526 | 120 |
8311 | 121 { "cache",>kCacheOn,CONF_TYPE_FLAG,0,0,1,NULL }, |
8284 | 122 { "cache_size",>kCacheSize,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL }, |
123 | |
7538 | 124 { "load_fullscreen",>kLoadFullscreen,CONF_TYPE_FLAG,0,0,1,NULL }, |
8308 | 125 { "stopxscreensaver",&stop_xscreensaver,CONF_TYPE_FLAG,0,0,1,NULL }, |
8311 | 126 |
127 { "autosync",>kAutoSyncOn,CONF_TYPE_FLAG,0,0,1,NULL }, | |
128 { "autosync_size",>kAutoSync,CONF_TYPE_INT,CONF_RANGE,0,10000,NULL }, | |
6797
06d29dbdf20d
upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents:
6794
diff
changeset
|
129 |
06d29dbdf20d
upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents:
6794
diff
changeset
|
130 { "gui_skin",&skinName,CONF_TYPE_STRING,0,0,0,NULL }, |
6770 | 131 |
132 { "equ_channel_1",>kEquChannel1,CONF_TYPE_STRING,0,0,0,NULL }, | |
133 { "equ_channel_2",>kEquChannel2,CONF_TYPE_STRING,0,0,0,NULL }, | |
134 { "equ_channel_3",>kEquChannel3,CONF_TYPE_STRING,0,0,0,NULL }, | |
135 { "equ_channel_4",>kEquChannel4,CONF_TYPE_STRING,0,0,0,NULL }, | |
136 { "equ_channel_5",>kEquChannel5,CONF_TYPE_STRING,0,0,0,NULL }, | |
137 { "equ_channel_6",>kEquChannel6,CONF_TYPE_STRING,0,0,0,NULL }, | |
138 | |
139 #if 1 | |
6840 | 140 #define audio_equ_row( i,j ) { "equ_band_"#i#j,>kEquChannels[i][j],CONF_TYPE_FLOAT,CONF_RANGE,-15.0,15.0,NULL }, |
6770 | 141 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 ) |
142 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 ) | |
143 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 ) | |
144 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 ) | |
145 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 ) | |
146 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 ) | |
147 #undef audio_equ_row | |
148 #endif | |
149 | |
150 { NULL, NULL, 0, 0, 0, 0, NULL } | |
151 }; | |
152 | |
7092
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
153 char * gfgets( char * str, int size, FILE * f ) |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
154 { |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
155 char * s = fgets( str,size,f ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
156 char c; |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
157 if ( s ) |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
158 { |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
159 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
|
160 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
|
161 } |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
162 return s; |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
163 } |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
164 |
6770 | 165 int cfg_read( void ) |
166 { | |
167 char * cfg = get_path( "gui.conf" ); | |
7092
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
168 FILE * f; |
6770 | 169 |
7283
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
170 #ifdef USE_SETLOCALE |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
171 setlocale( LC_ALL,"C" ); |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
172 #endif |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
173 |
6770 | 174 // -- read configuration |
175 mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[cfg] read config file: %s\n",cfg ); | |
8168 | 176 gui_conf=m_config_new( |
177 #ifndef NEW_CONFIG | |
178 play_tree_new() | |
179 #endif | |
180 ); | |
6770 | 181 m_config_register_options( gui_conf,gui_opts ); |
182 if ( m_config_parse_config_file( gui_conf,cfg ) < 0 ) | |
183 { | |
184 mp_msg( MSGT_GPLAYER,MSGL_FATAL,"[cfg] config file read error ...\n" ); | |
7538 | 185 // exit( 1 ); |
6770 | 186 } |
187 free( cfg ); | |
188 | |
189 // -- read pl | |
7092
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
190 cfg=get_path( "gui.pl" ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
191 if ( (f=fopen( cfg,"rt" )) ) |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
192 { |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
193 while ( !feof( f ) ) |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
194 { |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
195 char tmp[512]; plItem * item; |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
196 if ( gfgets( tmp,512,f ) == NULL ) continue; |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
197 item=calloc( 1,sizeof( plItem ) ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
198 item->path=strdup( tmp ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
199 gfgets( tmp,512,f ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
200 item->name=strdup( tmp ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
201 gtkSet( gtkAddPlItem,0,(void*)item ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
202 } |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
203 fclose( f ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
204 } |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
205 free( cfg ); |
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 //-- read previously visited urls |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
208 cfg=get_path( "gui.url" ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
209 if ( (f=fopen( cfg,"rt" )) ) |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
210 { |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
211 while ( !feof( f ) ) |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
212 { |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
213 char tmp[512]; URLItem * item; |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
214 if ( gfgets( tmp,512,f ) == NULL ) continue; |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
215 item=calloc( 1,sizeof( URLItem ) ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
216 item->url=strdup( tmp ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
217 gtkSet( gtkAddURLItem,0,(void*)item ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
218 } |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
219 fclose( f ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
220 } |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
221 free( cfg ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
222 |
7283
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
223 #ifdef USE_SETLOCALE |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
224 setlocale( LC_ALL,"" ); |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
225 #endif |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
226 |
6770 | 227 return 0; |
228 } | |
229 | |
230 int cfg_write( void ) | |
231 { | |
232 char * cfg = get_path( "gui.conf" ); | |
233 FILE * f; | |
234 int i; | |
235 | |
7019 | 236 #ifdef USE_SETLOCALE |
7283
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
237 setlocale( LC_ALL,"C" ); |
7019 | 238 #endif |
239 | |
6770 | 240 // -- save configuration |
241 if ( (f=fopen( cfg,"wt+" )) ) | |
242 { | |
243 for ( i=0;gui_opts[i].name;i++ ) | |
244 { | |
8168 | 245 #ifdef NEW_CONFIG |
246 char* v = m_option_print(&gui_opts[i],gui_opts[i].p); | |
247 if(v) { | |
248 fprintf( f,"%s = \"%s\"\n",gui_opts[i].name, v); | |
249 free(v); | |
250 } else if((int)v == -1) | |
251 mp_msg(MSGT_GPLAYER,MSGL_WARN,"Unable to save the %s option\n"); | |
252 #else | |
6770 | 253 switch ( gui_opts[i].type ) |
254 { | |
255 case CONF_TYPE_INT: | |
7283
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
256 case CONF_TYPE_FLAG: fprintf( f,"%s = %d\n",gui_opts[i].name,*( (int *)gui_opts[i].p ) ); break; |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
257 case CONF_TYPE_FLOAT: fprintf( f,"%s = %f\n",gui_opts[i].name,*( (float *)gui_opts[i].p ) ); break; |
6794 | 258 case CONF_TYPE_STRING: |
259 { | |
260 char * tmp = *( (char **)gui_opts[i].p ); | |
261 if ( tmp && tmp[0] ) fprintf( f,"%s = \"%s\"\n",gui_opts[i].name,tmp ); | |
262 break; | |
263 } | |
7526 | 264 case CONF_TYPE_STRING_LIST: |
265 { | |
7706 | 266 char ** tmp = *( (char ***)gui_opts[i].p ); |
7526 | 267 if ( tmp && tmp[0] && tmp[0][0] ) fprintf( f,"%s = \"%s\"\n",gui_opts[i].name,tmp[0] ); |
268 break; | |
269 } | |
6770 | 270 } |
8168 | 271 #endif |
6770 | 272 } |
273 fclose( f ); | |
274 } | |
275 free( cfg ); | |
276 | |
277 // -- save playlist | |
278 cfg=get_path( "gui.pl" ); | |
279 if ( (f=fopen( cfg,"wt+" )) ) | |
280 { | |
281 plCurrent=plList; | |
282 while ( plCurrent ) | |
283 { | |
284 if ( plCurrent->path && plCurrent->name ) | |
285 { | |
286 fprintf( f,"%s\n",plCurrent->path ); | |
287 fprintf( f,"%s\n",plCurrent->name ); | |
288 } | |
289 plCurrent=plCurrent->next; | |
290 } | |
291 fclose( f ); | |
292 } | |
293 free( cfg ); | |
294 | |
7092
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
295 // -- save URL's |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
296 cfg=get_path( "gui.url" ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
297 if ( (f=fopen( cfg,"wt+" )) ) |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
298 { |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
299 while ( URLList ) |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
300 { |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
301 if ( URLList->url ) fprintf( f,"%s\n",URLList->url ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
302 URLList=URLList->next; |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
303 } |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
304 fclose( f ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
305 } |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
306 free( cfg ); |
8e9607c5897e
- warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents:
7019
diff
changeset
|
307 |
7283
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
308 #ifdef USE_SETLOCALE |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
309 setlocale( LC_ALL,"" ); |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
310 #endif |
5fa6eb7b0f1a
- add fuckin locale fix from Dietrich Clau <dc2@clauss.dyndns.org>
pontscho
parents:
7265
diff
changeset
|
311 |
6770 | 312 return 0; |
313 } | |
314 |