Mercurial > hg > xmms-sid
comparison src/xs_config.h @ 548:ba80c052e425
Configuration widget naming cleanups and GUI-related improvements;
Started planning and implementation of SIDPlay2 filter settings
loading/saving and import/export functionality.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 23 Feb 2007 05:13:05 +0000 |
parents | fa95d942f226 |
children | b0743dc9165d |
comparison
equal
deleted
inserted
replaced
547:6490ceb38b64 | 548:ba80c052e425 |
---|---|
1 #ifndef XS_CONFIG_H | 1 #ifndef XS_CONFIG_H |
2 #define XS_CONFIG_H | 2 #define XS_CONFIG_H |
3 | 3 |
4 #include "xmms-sid.h" | 4 #include "xmms-sid.h" |
5 #include "xs_curve.h" | |
5 | 6 |
6 #ifdef __cplusplus | 7 #ifdef __cplusplus |
7 extern "C" { | 8 extern "C" { |
8 #endif | 9 #endif |
9 | 10 |
10 /* | 11 |
11 * Configuration structure | 12 /* Configuration structure |
12 */ | 13 */ |
13 enum XS_EMUENGINE { | 14 enum XS_EMUENGINE { |
14 XS_ENG_SIDPLAY1 = 1, | 15 XS_ENG_SIDPLAY1 = 1, |
15 XS_ENG_SIDPLAY2 | 16 XS_ENG_SIDPLAY2 |
16 }; | 17 }; |
64 XS_SIDMODEL_8580, | 65 XS_SIDMODEL_8580, |
65 XS_SIDMODEL_ANY | 66 XS_SIDMODEL_ANY |
66 }; | 67 }; |
67 | 68 |
68 | 69 |
70 typedef struct { | |
71 t_xs_int_point points[XS_SIDPLAY2_NFPOINTS]; | |
72 gint npoints; | |
73 gchar *name; | |
74 } t_xs_sid2_filter; | |
75 | |
76 | |
69 extern struct t_xs_cfg { | 77 extern struct t_xs_cfg { |
70 /* General audio settings */ | 78 /* General audio settings */ |
71 gint audioBitsPerSample; | 79 gint audioBitsPerSample; |
72 gint audioChannels; | 80 gint audioChannels; |
73 gint audioFrequency; | 81 gint audioFrequency; |
74 | 82 |
75 /* General libSIDPlay settings */ | 83 gboolean oversampleEnable; |
84 gint oversampleFactor; /* Factor of oversampling */ | |
85 | |
86 /* Emulation settings */ | |
76 gboolean mos8580; /* TRUE = 8580, FALSE = 6581 */ | 87 gboolean mos8580; /* TRUE = 8580, FALSE = 6581 */ |
77 gboolean forceModel; | 88 gboolean forceModel; |
78 gboolean emulateFilters; | |
79 gfloat filterFs; | |
80 gfloat filterFm; | |
81 gfloat filterFt; | |
82 gint memoryMode; /* See XS_MPU-constants */ | 89 gint memoryMode; /* See XS_MPU-constants */ |
83 gint clockSpeed; /* PAL (50Hz) or NTSC (60Hz) */ | 90 gint clockSpeed; /* PAL (50Hz) or NTSC (60Hz) */ |
84 gboolean forceSpeed; /* TRUE = force to given clockspeed */ | 91 gboolean forceSpeed; /* TRUE = force to given clockspeed */ |
85 | 92 |
86 gint playerEngine; /* Selected player engine */ | 93 gint playerEngine; /* Selected player engine */ |
87 | 94 |
95 gboolean emulateFilters; | |
96 gfloat sid1FilterFs; | |
97 gfloat sid1FilterFm; | |
98 gfloat sid1FilterFt; | |
99 | |
88 gint sid2OptLevel; /* SIDPlay2 emulation optimization */ | 100 gint sid2OptLevel; /* SIDPlay2 emulation optimization */ |
89 gint sid2Builder; /* SIDPlay2 "builder" aka SID-emu */ | 101 gint sid2Builder; /* SIDPlay2 "builder" aka SID-emu */ |
90 | 102 t_xs_sid2_filter sid2Filter; /* Current SIDPlay2 filter */ |
91 gboolean oversampleEnable; | 103 t_xs_sid2_filter **sid2FilterPresets; |
92 gint oversampleFactor; /* Factor of oversampling */ | 104 gint sid2NFilterPresets; |
93 | 105 |
106 | |
94 /* Playing settings */ | 107 /* Playing settings */ |
95 gboolean playMaxTimeEnable, | 108 gboolean playMaxTimeEnable, |
96 playMaxTimeUnknown; /* Use max-time only when song-length is unknown */ | 109 playMaxTimeUnknown; /* Use max-time only when song-length is unknown */ |
97 gint playMaxTime; /* MAX playtime in seconds */ | 110 gint playMaxTime; /* MAX playtime in seconds */ |
98 | 111 |
119 gint subAutoMinTime; | 132 gint subAutoMinTime; |
120 } xs_cfg; | 133 } xs_cfg; |
121 | 134 |
122 XS_MUTEX_H(xs_cfg); | 135 XS_MUTEX_H(xs_cfg); |
123 | 136 |
124 /* | 137 |
125 * Configuration-file | 138 /* Configuration-file |
126 */ | 139 */ |
127 enum { | 140 enum { |
128 CTYPE_INT = 1, | 141 CTYPE_INT = 1, |
129 CTYPE_FLOAT, | 142 CTYPE_FLOAT, |
130 CTYPE_STR, | 143 CTYPE_STR, |
155 void *itemData; | 168 void *itemData; |
156 gint itemSet; | 169 gint itemSet; |
157 } t_xs_wid_item; | 170 } t_xs_wid_item; |
158 | 171 |
159 | 172 |
160 /* | 173 /* Functions |
161 * Functions | |
162 */ | 174 */ |
163 void xs_init_configuration(void); | 175 void xs_init_configuration(void); |
164 void xs_configure(void); | 176 void xs_configure(void); |
165 void xs_read_configuration(void); | 177 void xs_read_configuration(void); |
166 gint xs_write_configuration(void); | 178 gint xs_write_configuration(void); |
167 | 179 |
168 | |
169 #ifdef __cplusplus | 180 #ifdef __cplusplus |
170 } | 181 } |
171 #endif | 182 #endif |
172 #endif /* XS_CONFIG_H */ | 183 #endif /* XS_CONFIG_H */ |