Mercurial > hg > xmms-sid
view 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 |
line wrap: on
line source
#ifndef XS_CONFIG_H #define XS_CONFIG_H #ifdef __cplusplus extern "C" { #endif #include "xmms-sid.h" /* * Configuration structure */ enum XS_RES { XS_RES_8BIT = 8, XS_RES_16BIT = 16, XS_RES_24BIT = 24 }; enum XS_CHN { XS_CHN_MONO = 1, XS_CHN_STEREO = 2, XS_CHN_AUTOPAN = 3 }; enum XS_CLOCK { XS_CLOCK_PAL = 1, XS_CLOCK_NTSC }; enum XS_EMUENGINE { XS_SIDPLAY1 = 1, XS_SIDPLAY2 }; enum XS_MPU { XS_MPU_BANK_SWITCHING = 1, XS_MPU_TRANSPARENT_ROM, XS_MPU_PLAYSID_ENVIRONMENT, XS_MPU_REAL }; extern struct t_xs_cfg { /* General audio settings */ gint fmtBitsPerSample; gint fmtChannels; gint fmtFrequency; /* General libSIDPlay settings */ gboolean mos8580; /* TRUE = 8580, FALSE = 6581 */ gboolean emulateFilters; gfloat filterFs; gfloat filterFm; gfloat filterFt; gint memoryMode; /* See XS_MPU-constants */ gint clockSpeed; /* PAL (50Hz) or NTSC (60Hz) */ gboolean forceSpeed; /* TRUE = force to given clockspeed */ gboolean oversampleEnable; gint oversampleFactor; /* Factor of oversampling */ /* Playing settings */ gboolean playMaxTimeEnable; gint playMaxTime; /* MAX playtime in seconds */ gboolean songlenDBEnable; gchar *songlenDBPath; /* Path to Songlengths.txt */ /* Miscellaneous settings */ gboolean stilDBEnable; gchar *stilDBPath; /* Path to STIL.txt */ gboolean detectMagic; gboolean alwaysRaise; gboolean titleOverride; /* TRUE if XMMS titles are overriden */ gchar *titleFormat; } xs_cfg; /* * Configuration-file */ enum { CTYPE_INT = 1, CTYPE_FLOAT, CTYPE_STR, CTYPE_BOOL }; enum { WTYPE_BGROUP = 1, WTYPE_SPIN, WTYPE_SCALE, WTYPE_BUTTON, WTYPE_TEXT }; typedef struct { gint valType; /* Type of item (ATYPE_*) */ void *valData; /* Pointer to variable */ gchar *valName; /* Name of configuration item */ } t_xs_cfg_item; typedef struct { gint widType; gint valType; gchar *widName; void *valData; gint valSet; } t_xs_wid_item; /* * Functions */ void xs_configure(void); void xs_read_configuration(void); gint xs_write_configuration(void); #ifdef __cplusplus } #endif #endif /* XS_CONFIG_H */