Mercurial > hg > xmms-sid
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 */ |