From be9d1599859838a3ffa556c486976f19069c0244 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 20 Mar 2024 13:26:08 -0500 Subject: [PATCH] GUI: make FM preview follow op mute issue #1799 --- src/gui/fmPreview.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/gui/fmPreview.cpp b/src/gui/fmPreview.cpp index 7c034e3d9..4e11137b9 100644 --- a/src/gui/fmPreview.cpp +++ b/src/gui/fmPreview.cpp @@ -77,7 +77,13 @@ void FurnaceGUI::renderFMPreviewOPN(const DivInstrumentFM& params, int pos) { OPN_WRITE(0xb4,0xc0|(params.fms&7)|((params.ams&3)<<4)); OPN_WRITE(0xa4,mult0?0x1c:0x14); // frequency OPN_WRITE(0xa0,0); - OPN_WRITE(0x28,0xf0); // key on + OPN_WRITE( + 0x28, + (params.op[0].enable?0x10:0)| + (params.op[2].enable?0x20:0)| + (params.op[1].enable?0x40:0)| + (params.op[3].enable?0x80:0) + ); // key on } // render @@ -138,7 +144,13 @@ void FurnaceGUI::renderFMPreviewOPM(const DivInstrumentFM& params, int pos) { OPM_WRITE(0x38,((params.fms&7)<<4)|(params.ams&3)); OPM_WRITE(0x28,mult0?0x39:0x29); // frequency OPM_WRITE(0x30,0xe6); - OPM_WRITE(0x08,0x78); // key on + OPM_WRITE( + 0x08, + (params.op[0].enable?0x08:0)| + (params.op[2].enable?0x10:0)| + (params.op[1].enable?0x20:0)| + (params.op[3].enable?0x40:0) + ); // key on } // render