annotate src/xs_config.h @ 57:85811bcd049e

Improved, re-written configuration code and lots of minor fixes
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 22 Jun 2003 11:01:03 +0000
parents dae6d3c2268d
children d3bb914e3af3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 #ifndef XS_CONFIG_H
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 #define XS_CONFIG_H
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
3
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 #ifdef __cplusplus
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5 extern "C" {
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 #endif
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7
50
dae6d3c2268d Minor fixes, updated to support default XMMS configfile
Matti Hamalainen <ccr@tnsp.org>
parents: 44
diff changeset
8 #include "xmms-sid.h"
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10 /*
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 * Configuration structure
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12 */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
13 enum XS_RES {
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
14 XS_RES_8BIT = 8,
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
15 XS_RES_16BIT = 16,
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
16 XS_RES_24BIT = 24
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
17 };
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
18
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
19 enum XS_CHN {
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
20 XS_CHN_MONO = 1,
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
21 XS_CHN_STEREO = 2,
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
22 XS_CHN_AUTOPAN = 3
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23 };
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
26 enum XS_CLOCK {
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
27 XS_CLOCK_PAL = 1,
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
28 XS_CLOCK_NTSC
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 };
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
32 enum XS_EMUENGINE {
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
33 XS_SIDPLAY1 = 1,
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
34 XS_SIDPLAY2
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35 };
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
36
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
38 enum XS_MPU {
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
39 XS_MPU_BANK_SWITCHING = 1,
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
40 XS_MPU_TRANSPARENT_ROM,
44
90cd38b28a72 Various fixes and transmogrifying for dual emulation engine environment
Matti Hamalainen <ccr@tnsp.org>
parents: 40
diff changeset
41 XS_MPU_PLAYSID_ENVIRONMENT,
90cd38b28a72 Various fixes and transmogrifying for dual emulation engine environment
Matti Hamalainen <ccr@tnsp.org>
parents: 40
diff changeset
42 XS_MPU_REAL
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
43 };
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
44
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
45
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
46 extern struct t_xs_cfg {
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
47 /* General audio settings */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
48 gint fmtBitsPerSample;
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
49 gint fmtChannels;
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
50 gint fmtFrequency;
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
51
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
52
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
53 /* General libSIDPlay settings */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
54 gboolean mos8580; /* TRUE = 8580, FALSE = 6581 */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
55 gboolean emulateFilters;
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
56 gfloat filterFs;
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
57 gfloat filterFm;
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
58 gfloat filterFt;
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
59 gint memoryMode; /* See XS_MPU-constants */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
60 gint clockSpeed; /* PAL (50Hz) or NTSC (60Hz) */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
61 gboolean forceSpeed; /* TRUE = force to given clockspeed */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
62
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
63 gboolean oversampleEnable;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
64 gint oversampleFactor; /* Factor of oversampling */
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
65
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
66
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
67 /* Playing settings */
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
68 gboolean playMaxTimeEnable;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
69 gint playMaxTime; /* MAX playtime in seconds */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
70 gboolean songlenDBEnable;
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
71 gchar *songlenDBPath; /* Path to Songlengths.txt */
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
74 /* Miscellaneous settings */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
75 gboolean stilDBEnable;
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
76 gchar *stilDBPath; /* Path to STIL.txt */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
77
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
78 gboolean detectMagic;
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
79 gboolean alwaysRaise;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
80
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
81 gboolean titleOverride; /* TRUE if XMMS titles are overriden */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
82 gchar *titleFormat;
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
83 } xs_cfg;
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
84
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
85
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
86 /*
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
87 * Configuration-file
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
88 */
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
89 enum {
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
90 CTYPE_INT = 1,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
91 CTYPE_FLOAT,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
92 CTYPE_STR,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
93 CTYPE_BOOL
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
94 };
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
95
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
96 enum {
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
97 WTYPE_BGROUP = 1,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
98 WTYPE_SPIN,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
99 WTYPE_SCALE,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
100 WTYPE_BUTTON,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
101 WTYPE_TEXT
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
102 };
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
103
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
104
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
105 typedef struct {
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
106 gint valType; /* Type of item (ATYPE_*) */
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
107 void *valData; /* Pointer to variable */
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
108 gchar *valName; /* Name of configuration item */
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
109 } t_xs_cfg_item;
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
110
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
111
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
112 typedef struct {
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
113 gint widType;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
114 gint valType;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
115 gchar *widName;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
116 void *valData;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
117 gint valSet;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
118 } t_xs_wid_item;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
119
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
120
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
121 /*
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
122 * Functions
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
123 */
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
124 void xs_configure(void);
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
125 void xs_read_configuration(void);
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
126 gint xs_write_configuration(void);
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
127
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
128
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
129 #ifdef __cplusplus
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
130 }
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
131 #endif
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
132 #endif /* XS_CONFIG_H */