From 83219cefc7953508328481bdcd3bcc279769d00d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 8 Jul 2023 20:02:05 -0500 Subject: [PATCH] GUI: implement chan osc volume label --- src/gui/chanOsc.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/gui/chanOsc.cpp b/src/gui/chanOsc.cpp index e6306db2d..65b54d2a5 100644 --- a/src/gui/chanOsc.cpp +++ b/src/gui/chanOsc.cpp @@ -506,12 +506,26 @@ void FurnaceGUI::drawChanOsc() { text+=fmt::sprintf("%d",e->dispatchOfChan[ch]); break; } - case 'v': + case 'v': { + DivChannelState* chanState=e->getChanState(ch); + if (chanState==NULL) break; + text+=fmt::sprintf("%d",chanState->volume>>8); break; - case 'V': + } + case 'V': { + DivChannelState* chanState=e->getChanState(ch); + if (chanState==NULL) break; + int volMax=chanState->volMax>>8; + if (volMax<1) volMax=1; + text+=fmt::sprintf("%d%%",(chanState->volume>>8)/volMax); break; - case 'b': + } + case 'b': { + DivChannelState* chanState=e->getChanState(ch); + if (chanState==NULL) break; + text+=fmt::sprintf("%.2X",chanState->volume>>8); break; + } case '%': text+='%'; break;