Mercurial > audlegacy
comparison Plugins/Input/sid/xs_config.h @ 269:1b82a9932b60 trunk
[svn] Import sid plugin. Ported from XMMS by giacomo.
author | chainsaw |
---|---|
date | Thu, 08 Dec 2005 15:12:12 -0800 |
parents | |
children | d0e9693d2115 |
comparison
equal
deleted
inserted
replaced
268:1368faba73c9 | 269:1b82a9932b60 |
---|---|
1 #ifndef XS_CONFIG_H | |
2 #define XS_CONFIG_H | |
3 | |
4 #include "xmms-sid.h" | |
5 | |
6 #ifdef __cplusplus | |
7 extern "C" { | |
8 #endif | |
9 | |
10 /* | |
11 * Configuration structure | |
12 */ | |
13 enum XS_EMUENGINE { | |
14 XS_ENG_SIDPLAY1 = 1, | |
15 XS_ENG_SIDPLAY2 | |
16 }; | |
17 | |
18 | |
19 enum XS_BUILDER { | |
20 XS_BLD_RESID = 1, | |
21 XS_BLD_HARDSID | |
22 }; | |
23 | |
24 enum XS_RESOLUTION { | |
25 XS_RES_8BIT = 8, | |
26 XS_RES_16BIT = 16 | |
27 }; | |
28 | |
29 enum XS_CHANNELS { | |
30 XS_CHN_MONO = 1, | |
31 XS_CHN_STEREO = 2, | |
32 XS_CHN_AUTOPAN = 3 | |
33 }; | |
34 | |
35 | |
36 enum XS_CLOCK { | |
37 XS_CLOCK_PAL = 1, | |
38 XS_CLOCK_NTSC | |
39 }; | |
40 | |
41 | |
42 enum XS_MPU { | |
43 XS_MPU_BANK_SWITCHING = 1, | |
44 XS_MPU_TRANSPARENT_ROM, | |
45 XS_MPU_PLAYSID_ENVIRONMENT, | |
46 XS_MPU_REAL | |
47 }; | |
48 | |
49 | |
50 enum XS_SSC { | |
51 XS_SSC_NONE = 1, | |
52 XS_SSC_POPUP, | |
53 XS_SSC_PATCH, | |
54 XS_SSC_SEEK | |
55 }; | |
56 | |
57 | |
58 enum XS_SIDMODEL { | |
59 XS_SIDMODEL_UNKNOWN = 0, | |
60 XS_SIDMODEL_6581, | |
61 XS_SIDMODEL_8580 | |
62 }; | |
63 | |
64 | |
65 extern struct t_xs_cfg { | |
66 /* General audio settings */ | |
67 gint audioBitsPerSample; | |
68 gint audioChannels; | |
69 gint audioFrequency; | |
70 | |
71 /* General libSIDPlay settings */ | |
72 gboolean mos8580; /* TRUE = 8580, FALSE = 6581 */ | |
73 gboolean forceModel; | |
74 gboolean emulateFilters; | |
75 gfloat filterFs; | |
76 gfloat filterFm; | |
77 gfloat filterFt; | |
78 gint memoryMode; /* See XS_MPU-constants */ | |
79 gint clockSpeed; /* PAL (50Hz) or NTSC (60Hz) */ | |
80 gboolean forceSpeed; /* TRUE = force to given clockspeed */ | |
81 | |
82 gint playerEngine; /* Selected player engine */ | |
83 | |
84 gboolean sid2OptLevel; /* SIDPlay2 emulation optimization */ | |
85 gint sid2Builder; /* SIDPlay2 "builder" aka SID-emu */ | |
86 | |
87 gboolean oversampleEnable; | |
88 gint oversampleFactor; /* Factor of oversampling */ | |
89 | |
90 /* Playing settings */ | |
91 gboolean playMaxTimeEnable, | |
92 playMaxTimeUnknown; /* Use max-time only when song-length is unknown */ | |
93 gint playMaxTime; /* MAX playtime in seconds */ | |
94 | |
95 gboolean playMinTimeEnable; | |
96 gint playMinTime; /* MIN playtime in seconds */ | |
97 | |
98 gboolean songlenDBEnable; | |
99 gchar *songlenDBPath; /* Path to Songlengths.txt */ | |
100 | |
101 | |
102 /* Miscellaneous settings */ | |
103 gboolean stilDBEnable; | |
104 gchar *stilDBPath; /* Path to STIL.txt */ | |
105 gchar *hvscPath; /* Path-prefix for HVSC */ | |
106 | |
107 gint subsongControl; | |
108 gboolean detectMagic; | |
109 | |
110 gboolean titleOverride; /* TRUE if XMMS titles are overriden */ | |
111 gchar *titleFormat; | |
112 | |
113 gboolean subAutoEnable, | |
114 subAutoMinOnly; | |
115 gint subAutoMinTime; | |
116 } xs_cfg; | |
117 | |
118 XS_MUTEX_H(xs_cfg); | |
119 | |
120 /* | |
121 * Configuration-file | |
122 */ | |
123 enum { | |
124 CTYPE_INT = 1, | |
125 CTYPE_FLOAT, | |
126 CTYPE_STR, | |
127 CTYPE_BOOL | |
128 }; | |
129 | |
130 enum { | |
131 WTYPE_BGROUP = 1, | |
132 WTYPE_SPIN, | |
133 WTYPE_SCALE, | |
134 WTYPE_BUTTON, | |
135 WTYPE_TEXT | |
136 }; | |
137 | |
138 | |
139 typedef struct { | |
140 gint itemType; /* Type of item (CTYPE_*) */ | |
141 void *itemData; /* Pointer to variable */ | |
142 gchar *itemName; /* Name of configuration item */ | |
143 } t_xs_cfg_item; | |
144 | |
145 | |
146 typedef struct { | |
147 gint widType; | |
148 gint itemType; | |
149 gchar *widName; | |
150 void *itemData; | |
151 gint itemSet; | |
152 } t_xs_wid_item; | |
153 | |
154 | |
155 /* | |
156 * Functions | |
157 */ | |
158 void xs_init_configuration(void); | |
159 void xs_configure(void); | |
160 void xs_read_configuration(void); | |
161 gint xs_write_configuration(void); | |
162 | |
163 | |
164 #ifdef __cplusplus | |
165 } | |
166 #endif | |
167 #endif /* XS_CONFIG_H */ |