annotate src/xs_config.h @ 65:bf7b647b3239

The fabled 0.8-rewrite now works to some extent
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 29 Jun 2003 22:16:04 +0000
parents d3bb914e3af3
children bf6a524cf7ca
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
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
52 /* General libSIDPlay settings */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
53 gboolean mos8580; /* TRUE = 8580, FALSE = 6581 */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
54 gboolean emulateFilters;
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
55 gfloat filterFs;
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
56 gfloat filterFm;
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
57 gfloat filterFt;
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
58 gint memoryMode; /* See XS_MPU-constants */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
59 gint clockSpeed; /* PAL (50Hz) or NTSC (60Hz) */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
60 gboolean forceSpeed; /* TRUE = force to given clockspeed */
64
d3bb914e3af3 Fixes for sidplay2 stuff
Matti Hamalainen <ccr@tnsp.org>
parents: 57
diff changeset
61 gboolean optimiseLevel; /* SIDPlay2 emulation optimization */
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
62 gboolean oversampleEnable;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
63 gint oversampleFactor; /* Factor of oversampling */
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
64
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
65 /* Playing settings */
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
66 gboolean playMaxTimeEnable;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
67 gint playMaxTime; /* MAX playtime in seconds */
65
bf7b647b3239 The fabled 0.8-rewrite now works to some extent
Matti Hamalainen <ccr@tnsp.org>
parents: 64
diff changeset
68 gboolean playMaxTimeUnknown; /* Use max-time only when song-length is unknown */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
69 gboolean songlenDBEnable;
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
70 gchar *songlenDBPath; /* Path to Songlengths.txt */
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
71
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
73 /* Miscellaneous settings */
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
74 gboolean stilDBEnable;
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
75 gchar *stilDBPath; /* Path to STIL.txt */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
76
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
77 gboolean detectMagic;
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
78 gboolean alwaysRaise;
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
79
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
80 gboolean titleOverride; /* TRUE if XMMS titles are overriden */
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
81 gchar *titleFormat;
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
82 } xs_cfg;
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
83
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 * Configuration-file
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
87 */
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
88 enum {
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
89 CTYPE_INT = 1,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
90 CTYPE_FLOAT,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
91 CTYPE_STR,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
92 CTYPE_BOOL
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
93 };
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 enum {
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
96 WTYPE_BGROUP = 1,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
97 WTYPE_SPIN,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
98 WTYPE_SCALE,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
99 WTYPE_BUTTON,
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
100 WTYPE_TEXT
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
101 };
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 typedef struct {
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
105 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
106 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
107 gchar *valName; /* Name of configuration item */
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
108 } t_xs_cfg_item;
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
109
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
110
57
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
111 typedef struct {
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
112 gint widType;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
113 gint valType;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
114 gchar *widName;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
115 void *valData;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
116 gint valSet;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
117 } t_xs_wid_item;
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
118
85811bcd049e Improved, re-written configuration code and lots of minor fixes
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
119
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
120 /*
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
121 * Functions
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
122 */
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
123 void xs_configure(void);
40
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
124 void xs_read_configuration(void);
1788f4ce6a44 Numerous changes towards 0.8
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
125 gint xs_write_configuration(void);
20
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
126
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
127
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
128 #ifdef __cplusplus
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
129 }
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
130 #endif
5caef90c4ffd Added paski
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
131 #endif /* XS_CONFIG_H */