comparison src/xs_config.h @ 660:b0743dc9165d

Change tabs to 4 spaces, everywhere.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 02 Apr 2008 22:10:05 +0300
parents ba80c052e425
children 7bc76d9fa6cd
comparison
equal deleted inserted replaced
659:04ea91a61225 660:b0743dc9165d
10 10
11 11
12 /* Configuration structure 12 /* Configuration structure
13 */ 13 */
14 enum XS_EMUENGINE { 14 enum XS_EMUENGINE {
15 XS_ENG_SIDPLAY1 = 1, 15 XS_ENG_SIDPLAY1 = 1,
16 XS_ENG_SIDPLAY2 16 XS_ENG_SIDPLAY2
17 }; 17 };
18 18
19 19
20 enum XS_BUILDER { 20 enum XS_BUILDER {
21 XS_BLD_RESID = 1, 21 XS_BLD_RESID = 1,
22 XS_BLD_HARDSID 22 XS_BLD_HARDSID
23 }; 23 };
24 24
25 enum XS_RESOLUTION { 25 enum XS_RESOLUTION {
26 XS_RES_8BIT = 8, 26 XS_RES_8BIT = 8,
27 XS_RES_16BIT = 16 27 XS_RES_16BIT = 16
28 }; 28 };
29 29
30 enum XS_CHANNELS { 30 enum XS_CHANNELS {
31 XS_CHN_MONO = 1, 31 XS_CHN_MONO = 1,
32 XS_CHN_STEREO = 2, 32 XS_CHN_STEREO = 2,
33 XS_CHN_AUTOPAN = 3 33 XS_CHN_AUTOPAN = 3
34 }; 34 };
35 35
36 36
37 enum XS_CLOCK { 37 enum XS_CLOCK {
38 XS_CLOCK_PAL = 1, 38 XS_CLOCK_PAL = 1,
39 XS_CLOCK_NTSC, 39 XS_CLOCK_NTSC,
40 XS_CLOCK_VBI, 40 XS_CLOCK_VBI,
41 XS_CLOCK_CIA, 41 XS_CLOCK_CIA,
42 XS_CLOCK_ANY 42 XS_CLOCK_ANY
43 }; 43 };
44 44
45 45
46 enum XS_MPU { 46 enum XS_MPU {
47 XS_MPU_BANK_SWITCHING = 1, 47 XS_MPU_BANK_SWITCHING = 1,
48 XS_MPU_TRANSPARENT_ROM, 48 XS_MPU_TRANSPARENT_ROM,
49 XS_MPU_PLAYSID_ENVIRONMENT, 49 XS_MPU_PLAYSID_ENVIRONMENT,
50 XS_MPU_REAL 50 XS_MPU_REAL
51 }; 51 };
52 52
53 53
54 enum XS_SSC { 54 enum XS_SSC {
55 XS_SSC_NONE = 1, 55 XS_SSC_NONE = 1,
56 XS_SSC_POPUP, 56 XS_SSC_POPUP,
57 XS_SSC_PATCH, 57 XS_SSC_PATCH,
58 XS_SSC_SEEK 58 XS_SSC_SEEK
59 }; 59 };
60 60
61 61
62 enum XS_SIDMODEL { 62 enum XS_SIDMODEL {
63 XS_SIDMODEL_UNKNOWN = 0, 63 XS_SIDMODEL_UNKNOWN = 0,
64 XS_SIDMODEL_6581, 64 XS_SIDMODEL_6581,
65 XS_SIDMODEL_8580, 65 XS_SIDMODEL_8580,
66 XS_SIDMODEL_ANY 66 XS_SIDMODEL_ANY
67 }; 67 };
68 68
69 69
70 typedef struct { 70 typedef struct {
71 t_xs_int_point points[XS_SIDPLAY2_NFPOINTS]; 71 t_xs_int_point points[XS_SIDPLAY2_NFPOINTS];
72 gint npoints; 72 gint npoints;
73 gchar *name; 73 gchar *name;
74 } t_xs_sid2_filter; 74 } t_xs_sid2_filter;
75 75
76 76
77 extern struct t_xs_cfg { 77 extern struct t_xs_cfg {
78 /* General audio settings */ 78 /* General audio settings */
79 gint audioBitsPerSample; 79 gint audioBitsPerSample;
80 gint audioChannels; 80 gint audioChannels;
81 gint audioFrequency; 81 gint audioFrequency;
82 82
83 gboolean oversampleEnable; 83 gboolean oversampleEnable;
84 gint oversampleFactor; /* Factor of oversampling */ 84 gint oversampleFactor; /* Factor of oversampling */
85 85
86 /* Emulation settings */ 86 /* Emulation settings */
87 gboolean mos8580; /* TRUE = 8580, FALSE = 6581 */ 87 gboolean mos8580; /* TRUE = 8580, FALSE = 6581 */
88 gboolean forceModel; 88 gboolean forceModel;
89 gint memoryMode; /* See XS_MPU-constants */ 89 gint memoryMode; /* See XS_MPU-constants */
90 gint clockSpeed; /* PAL (50Hz) or NTSC (60Hz) */ 90 gint clockSpeed; /* PAL (50Hz) or NTSC (60Hz) */
91 gboolean forceSpeed; /* TRUE = force to given clockspeed */ 91 gboolean forceSpeed; /* TRUE = force to given clockspeed */
92 92
93 gint playerEngine; /* Selected player engine */ 93 gint playerEngine; /* Selected player engine */
94 94
95 gboolean emulateFilters; 95 gboolean emulateFilters;
96 gfloat sid1FilterFs; 96 gfloat sid1FilterFs;
97 gfloat sid1FilterFm; 97 gfloat sid1FilterFm;
98 gfloat sid1FilterFt; 98 gfloat sid1FilterFt;
99 99
100 gint sid2OptLevel; /* SIDPlay2 emulation optimization */ 100 gint sid2OptLevel; /* SIDPlay2 emulation optimization */
101 gint sid2Builder; /* SIDPlay2 "builder" aka SID-emu */ 101 gint sid2Builder; /* SIDPlay2 "builder" aka SID-emu */
102 t_xs_sid2_filter sid2Filter; /* Current SIDPlay2 filter */ 102 t_xs_sid2_filter sid2Filter; /* Current SIDPlay2 filter */
103 t_xs_sid2_filter **sid2FilterPresets; 103 t_xs_sid2_filter **sid2FilterPresets;
104 gint sid2NFilterPresets; 104 gint sid2NFilterPresets;
105 105
106 106
107 /* Playing settings */ 107 /* Playing settings */
108 gboolean playMaxTimeEnable, 108 gboolean playMaxTimeEnable,
109 playMaxTimeUnknown; /* Use max-time only when song-length is unknown */ 109 playMaxTimeUnknown; /* Use max-time only when song-length is unknown */
110 gint playMaxTime; /* MAX playtime in seconds */ 110 gint playMaxTime; /* MAX playtime in seconds */
111 111
112 gboolean playMinTimeEnable; 112 gboolean playMinTimeEnable;
113 gint playMinTime; /* MIN playtime in seconds */ 113 gint playMinTime; /* MIN playtime in seconds */
114 114
115 gboolean songlenDBEnable; 115 gboolean songlenDBEnable;
116 gchar *songlenDBPath; /* Path to Songlengths.txt */ 116 gchar *songlenDBPath; /* Path to Songlengths.txt */
117 117
118 118
119 /* Miscellaneous settings */ 119 /* Miscellaneous settings */
120 gboolean stilDBEnable; 120 gboolean stilDBEnable;
121 gchar *stilDBPath; /* Path to STIL.txt */ 121 gchar *stilDBPath; /* Path to STIL.txt */
122 gchar *hvscPath; /* Path-prefix for HVSC */ 122 gchar *hvscPath; /* Path-prefix for HVSC */
123 123
124 gint subsongControl; 124 gint subsongControl;
125 gboolean detectMagic; 125 gboolean detectMagic;
126 126
127 gboolean titleOverride; /* TRUE if XMMS titles are overriden */ 127 gboolean titleOverride; /* TRUE if XMMS titles are overriden */
128 gchar *titleFormat; 128 gchar *titleFormat;
129 129
130 gboolean subAutoEnable, 130 gboolean subAutoEnable,
131 subAutoMinOnly; 131 subAutoMinOnly;
132 gint subAutoMinTime; 132 gint subAutoMinTime;
133 } xs_cfg; 133 } xs_cfg;
134 134
135 XS_MUTEX_H(xs_cfg); 135 XS_MUTEX_H(xs_cfg);
136 136
137 137
138 /* Configuration-file 138 /* Configuration-file
139 */ 139 */
140 enum { 140 enum {
141 CTYPE_INT = 1, 141 CTYPE_INT = 1,
142 CTYPE_FLOAT, 142 CTYPE_FLOAT,
143 CTYPE_STR, 143 CTYPE_STR,
144 CTYPE_BOOL 144 CTYPE_BOOL
145 }; 145 };
146 146
147 enum { 147 enum {
148 WTYPE_BGROUP = 1, 148 WTYPE_BGROUP = 1,
149 WTYPE_SPIN, 149 WTYPE_SPIN,
150 WTYPE_SCALE, 150 WTYPE_SCALE,
151 WTYPE_BUTTON, 151 WTYPE_BUTTON,
152 WTYPE_TEXT, 152 WTYPE_TEXT,
153 WTYPE_COMBO 153 WTYPE_COMBO
154 }; 154 };
155 155
156 156
157 typedef struct { 157 typedef struct {
158 gint itemType; /* Type of item (CTYPE_*) */ 158 gint itemType; /* Type of item (CTYPE_*) */
159 void *itemData; /* Pointer to variable */ 159 void *itemData; /* Pointer to variable */
160 gchar *itemName; /* Name of configuration item */ 160 gchar *itemName; /* Name of configuration item */
161 } t_xs_cfg_item; 161 } t_xs_cfg_item;
162 162
163 163
164 typedef struct { 164 typedef struct {
165 gint widType; 165 gint widType;
166 gint itemType; 166 gint itemType;
167 gchar *widName; 167 gchar *widName;
168 void *itemData; 168 void *itemData;
169 gint itemSet; 169 gint itemSet;
170 } t_xs_wid_item; 170 } t_xs_wid_item;
171 171
172 172
173 /* Functions 173 /* Functions
174 */ 174 */
175 void xs_init_configuration(void); 175 void xs_init_configuration(void);
176 void xs_configure(void); 176 void xs_configure(void);
177 void xs_read_configuration(void); 177 void xs_read_configuration(void);
178 gint xs_write_configuration(void); 178 gint xs_write_configuration(void);
179 179
180 #ifdef __cplusplus 180 #ifdef __cplusplus
181 } 181 }
182 #endif 182 #endif
183 #endif /* XS_CONFIG_H */ 183 #endif /* XS_CONFIG_H */