diff 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
line wrap: on
line diff
--- a/src/xs_config.h	Fri Feb 23 05:11:02 2007 +0000
+++ b/src/xs_config.h	Fri Feb 23 05:13:05 2007 +0000
@@ -2,13 +2,14 @@
 #define XS_CONFIG_H
 
 #include "xmms-sid.h"
+#include "xs_curve.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/*
- * Configuration structure
+
+/* Configuration structure
  */
 enum XS_EMUENGINE {
 	XS_ENG_SIDPLAY1 = 1,
@@ -66,31 +67,43 @@
 };
 
 
+typedef struct {
+	t_xs_int_point	points[XS_SIDPLAY2_NFPOINTS];
+	gint		npoints;
+	gchar		*name;
+} t_xs_sid2_filter;
+
+
 extern struct t_xs_cfg {
 	/* General audio settings */
 	gint		audioBitsPerSample;
 	gint		audioChannels;
 	gint		audioFrequency;
 
-	/* General libSIDPlay settings */
+	gboolean	oversampleEnable;
+	gint		oversampleFactor;	/* Factor of oversampling */
+
+	/* Emulation settings */
 	gboolean	mos8580;		/* TRUE = 8580, FALSE = 6581 */
 	gboolean	forceModel;
-	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 */
 
 	gint		playerEngine;		/* Selected player engine */
 
+	gboolean	emulateFilters;
+	gfloat		sid1FilterFs;
+	gfloat		sid1FilterFm;
+	gfloat		sid1FilterFt;
+
 	gint		sid2OptLevel;		/* SIDPlay2 emulation optimization */
 	gint		sid2Builder;		/* SIDPlay2 "builder" aka SID-emu */
-
-	gboolean	oversampleEnable;
-	gint		oversampleFactor;	/* Factor of oversampling */
-
+	t_xs_sid2_filter	sid2Filter;	/* Current SIDPlay2 filter */
+	t_xs_sid2_filter	**sid2FilterPresets;
+	gint		sid2NFilterPresets;
+	
+	
 	/* Playing settings */
 	gboolean	playMaxTimeEnable,
 			playMaxTimeUnknown;	/* Use max-time only when song-length is unknown */
@@ -121,8 +134,8 @@
 
 XS_MUTEX_H(xs_cfg);
 
-/*
- * Configuration-file
+
+/* Configuration-file
  */
 enum {
 	CTYPE_INT = 1,
@@ -157,16 +170,14 @@
 } t_xs_wid_item;
 
 
-/*
- * Functions
+/* Functions
  */
 void	xs_init_configuration(void);
 void	xs_configure(void);
 void	xs_read_configuration(void);
 gint	xs_write_configuration(void);
 
-
 #ifdef __cplusplus
 }
 #endif
-#endif /* XS_CONFIG_H */
+#endif	/* XS_CONFIG_H */