Mercurial > hg > xmms-sid
changeset 773:45108b3d88db
Add resid-fp and resid backend to sidplay2fp support.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 06 Nov 2012 11:56:00 +0200 |
parents | 91a36a4b79c6 |
children | d09d5c852b7e |
files | src/xs_config.c src/xs_config.h src/xs_sidplay2.cc xmms-sid.glade |
diffstat | 4 files changed, 41 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xs_config.c Tue Nov 06 11:26:59 2012 +0200 +++ b/src/xs_config.c Tue Nov 06 11:56:00 2012 +0200 @@ -157,6 +157,7 @@ { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_clock_force", &xs_cfg.forceSpeed, 0 }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_sp2_opt", &xs_cfg.sid2OptLevel, 0 }, +{ WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_resid_fp", &xs_cfg.sid2Builder, XS_BLD_RESID_FP }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_resid", &xs_cfg.sid2Builder, XS_BLD_RESID }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sp2_hardsid", &xs_cfg.sid2Builder, XS_BLD_HARDSID }, @@ -1248,6 +1249,7 @@ gtk_widget_set_sensitive(LUW("cfg_chn_autopan"), !isActive); + gtk_widget_set_sensitive(LUW("cfg_emu_sp2_resid_fp"), HAVE_RESID_BUILDER && HAVE_SIDPLAY2_FP && isActive); gtk_widget_set_sensitive(LUW("cfg_emu_sp2_resid"), HAVE_RESID_BUILDER && isActive); gtk_widget_set_sensitive(LUW("cfg_emu_sp2_hardsid"), HAVE_HARDSID_BUILDER && isActive); }
--- a/src/xs_config.h Tue Nov 06 11:26:59 2012 +0200 +++ b/src/xs_config.h Tue Nov 06 11:56:00 2012 +0200 @@ -19,7 +19,8 @@ enum XS_BUILDER { XS_BLD_RESID = 1, - XS_BLD_HARDSID + XS_BLD_HARDSID, + XS_BLD_RESID_FP }; enum XS_RESOLUTION {
--- a/src/xs_sidplay2.cc Tue Nov 06 11:26:59 2012 +0200 +++ b/src/xs_sidplay2.cc Tue Nov 06 11:56:00 2012 +0200 @@ -69,6 +69,7 @@ #ifdef HAVE_RESID_BUILDER # ifdef HAVE_SIDPLAY2_FP # include <sidplayfp/builders/residfp.h> +# include <sidplayfp/builders/resid.h> # else # include <sidplay/builders/resid.h> # endif @@ -265,8 +266,22 @@ switch (xs_cfg.sid2Builder) { #ifdef HAVE_RESID_BUILDER +#ifdef HAVE_SIDPLAY2_FP case XS_BLD_RESID: -#ifdef HAVE_SIDPLAY2_FP + { + ReSIDBuilder *rs = new ReSIDBuilder("ReSID builder"); + if (rs) + { + engine->config.sidEmulation = rs; + if (!*rs) return FALSE; + rs->create((engine->emu.info()).maxsids); + if (!*rs) return FALSE; + rs->bias(0.0f); + } + } + break; + + case XS_BLD_RESID_FP: { ReSIDfpBuilder *rs = new ReSIDfpBuilder("ReSID builder FP!"); if (rs) @@ -283,7 +298,11 @@ rs->filter8580Curve((double)m_filter.filterCurve8580); */ } + } + break; #else + case XS_BLD_RESID: + { engine->config.sidEmulation = ReSIDBuilderCreate("ReSID builder"); SidLazyIPtr<IReSIDBuilder> rs(engine->config.sidEmulation); if (rs) @@ -292,10 +311,10 @@ rs->create((engine->emu.info()).maxsids); if (!*rs) return FALSE; } -#endif } break; #endif +#endif #ifdef HAVE_HARDSID_BUILDER case XS_BLD_HARDSID:
--- a/xmms-sid.glade Tue Nov 06 11:26:59 2012 +0200 +++ b/xmms-sid.glade Tue Nov 06 11:56:00 2012 +0200 @@ -653,6 +653,22 @@ <widget> <class>GtkRadioButton</class> + <name>cfg_emu_sp2_resid_fp</name> + <tooltip>reSID-FP is the heaviest and most accurate software SID-chip simulator based on SID reverse-engineering, created by Dag Lem, Antti Lankila and others. It is probably the closest thing to real SID available as software-only emulation.</tooltip> + <can_focus>True</can_focus> + <label>reSID-FP-emulation</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <group>emutype</group> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>GtkRadioButton</class> <name>cfg_emu_sp2_resid</name> <tooltip>reSID is the software SID-chip simulator based on SID reverse-engineering, created by Dag Lem. It is probably the closest thing to real SID available as software-only emulation.</tooltip> <can_focus>True</can_focus>