Mercurial > hg > xmms-sid
changeset 713:06db79680afe
Added new variables for distortion tunables and made few changes to SID1
filter variables too.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 09 Feb 2009 13:23:32 +0200 |
parents | f82e0adf19f0 |
children | 229fa2d043b9 |
files | src/xs_config.c src/xs_config.h src/xs_sidplay1.cc |
diffstat | 3 files changed, 31 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xs_config.c Mon Feb 09 11:14:18 2009 +0200 +++ b/src/xs_config.c Mon Feb 09 13:23:32 2009 +0200 @@ -94,9 +94,9 @@ { CTYPE_BOOL, &xs_cfg.mos8580, "mos8580" }, { CTYPE_BOOL, &xs_cfg.forceModel, "forceModel" }, { CTYPE_BOOL, &xs_cfg.emulateFilters, "emulateFilters" }, -{ CTYPE_FLOAT, &xs_cfg.sid1FilterFs, "filterFs" }, -{ CTYPE_FLOAT, &xs_cfg.sid1FilterFm, "filterFm" }, -{ CTYPE_FLOAT, &xs_cfg.sid1FilterFt, "filterFt" }, +{ CTYPE_FLOAT, &xs_cfg.sid1Filter.fs, "filterFs" }, +{ CTYPE_FLOAT, &xs_cfg.sid1Filter.fm, "filterFm" }, +{ CTYPE_FLOAT, &xs_cfg.sid1Filter.ft, "filterFt" }, { CTYPE_INT, &xs_cfg.memoryMode, "memoryMode" }, { CTYPE_INT, &xs_cfg.clockSpeed, "clockSpeed" }, { CTYPE_BOOL, &xs_cfg.forceSpeed, "forceSpeed" }, @@ -166,9 +166,9 @@ { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_hardsid", &xs_cfg.sid2Builder, XS_BLD_HARDSID }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_filters", &xs_cfg.emulateFilters, 0 }, -{ WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_fs", &xs_cfg.sid1FilterFs, 0 }, -{ WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_fm", &xs_cfg.sid1FilterFm, 0 }, -{ WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_ft", &xs_cfg.sid1FilterFt, 0 }, +{ WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_fs", &xs_cfg.sid1Filter.fs, 0 }, +{ WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_fm", &xs_cfg.sid1Filter.fm, 0 }, +{ WTYPE_SCALE, CTYPE_FLOAT, "cfg_sp1_filter_ft", &xs_cfg.sid1Filter.ft, 0 }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_maxtime_enable", &xs_cfg.playMaxTimeEnable, 0 }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_maxtime_unknown", &xs_cfg.playMaxTimeUnknown, 0 }, @@ -222,9 +222,9 @@ /* Filter values */ xs_cfg.emulateFilters = TRUE; - xs_cfg.sid1FilterFs = XS_SIDPLAY1_FS; - xs_cfg.sid1FilterFm = XS_SIDPLAY1_FM; - xs_cfg.sid1FilterFt = XS_SIDPLAY1_FT; + xs_cfg.sid1Filter.fs = XS_SIDPLAY1_FS; + xs_cfg.sid1Filter.fm = XS_SIDPLAY1_FM; + xs_cfg.sid1Filter.ft = XS_SIDPLAY1_FT; #ifdef HAVE_SIDPLAY2 xs_cfg.playerEngine = XS_ENG_SIDPLAY2; @@ -491,8 +491,8 @@ /* Header */ fprintf(outFile, - "; SIDPlay2 compatible filter definition file\n" - "; Exported by " PACKAGE_STRING "\n\n"); + "; SIDPlay2 compatible filter definition file\n" + "; Exported by " PACKAGE_STRING "\n\n"); /* Write each filter spec in "INI"-style format */ for (n = 0; n < nFilters; n++) {
--- a/src/xs_config.h Mon Feb 09 11:14:18 2009 +0200 +++ b/src/xs_config.h Mon Feb 09 13:23:32 2009 +0200 @@ -68,13 +68,28 @@ typedef struct { + gchar *name; gint type; xs_int_point_t points[XS_SIDPLAY2_NFPOINTS]; gint npoints; - gchar *name; + + /* Distortion patch tunables */ + gfloat rate, point, voice_nonlinearity, cf_treshold; + + /* Filter Type 3 tunables */ + gfloat baseresistance, offset, steepness, + minimumfetresistance; + + /* Filter Type 4 tunables */ + gfloat k, b; } xs_sid2_filter_t; +typedef struct { + gfloat fs, fm, ft; +} xs_sid1_filter_t; + + extern struct xs_cfg_t { /* General audio settings */ gint audioBitsPerSample; @@ -94,9 +109,7 @@ gint playerEngine; /* Selected player engine */ gboolean emulateFilters; - gfloat sid1FilterFs; - gfloat sid1FilterFm; - gfloat sid1FilterFt; + xs_sid1_filter_t sid1Filter; gint sid2OptLevel; /* SIDPlay2 emulation optimization */ gint sid2Builder; /* SIDPlay2 "builder" aka SID-emu */
--- a/src/xs_sidplay1.cc Mon Feb 09 11:14:18 2009 +0200 +++ b/src/xs_sidplay1.cc Mon Feb 09 13:23:32 2009 +0200 @@ -228,9 +228,9 @@ /* if (xs_cfg.forceModel) */ myEngine->currConfig.mos8580 = xs_cfg.mos8580; myEngine->currConfig.emulateFilter = xs_cfg.emulateFilters; - myEngine->currConfig.filterFs = xs_cfg.sid1FilterFs; - myEngine->currConfig.filterFm = xs_cfg.sid1FilterFm; - myEngine->currConfig.filterFt = xs_cfg.sid1FilterFt; + myEngine->currConfig.filterFs = xs_cfg.sid1Filter.fs; + myEngine->currConfig.filterFm = xs_cfg.sid1Filter.fm; + myEngine->currConfig.filterFt = xs_cfg.sid1Filter.ft; /* Now set the emulator configuration */