From: <sv...@op...> - 2024-12-01 21:18:53
|
Author: sagamusix Date: Sun Dec 1 22:18:42 2024 New Revision: 22438 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22438 Log: [Imp] When displaying the volume column in hex, also show the effect info for it in hex. Modified: trunk/OpenMPT/mptrack/Draw_pat.cpp trunk/OpenMPT/mptrack/EffectInfo.cpp trunk/OpenMPT/mptrack/EffectInfo.h trunk/OpenMPT/mptrack/PatternEditorDialogs.cpp Modified: trunk/OpenMPT/mptrack/Draw_pat.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Draw_pat.cpp Sun Dec 1 22:18:08 2024 (r22437) +++ trunk/OpenMPT/mptrack/Draw_pat.cpp Sun Dec 1 22:18:42 2024 (r22438) @@ -1776,7 +1776,7 @@ effectInfo.GetVolCmdInfo(effectInfo.GetIndexFromVolCmd(m->volcmd), &s); s += _T(": "); CString tmp; - effectInfo.GetVolCmdParamInfo(*m, &tmp); + effectInfo.GetVolCmdParamInfo(*m, &tmp, TrackerSettings::Instance().patternVolColHex); s += tmp; } break; Modified: trunk/OpenMPT/mptrack/EffectInfo.cpp ============================================================================== --- trunk/OpenMPT/mptrack/EffectInfo.cpp Sun Dec 1 22:18:08 2024 (r22437) +++ trunk/OpenMPT/mptrack/EffectInfo.cpp Sun Dec 1 22:18:42 2024 (r22438) @@ -1026,11 +1026,18 @@ } -bool EffectInfo::GetVolCmdParamInfo(const ModCommand &m, CString *s) const +bool EffectInfo::GetVolCmdParamInfo(const ModCommand &m, CString *s, bool hex) const { - if(s == nullptr) return false; + if(s == nullptr) + return false; s->Empty(); + CString volume; + if(hex) + volume = mpt::cfmt::HEX(m.vol); + else + volume = mpt::cfmt::dec(m.vol); + switch(m.volcmd) { case VOLCMD_PANNING: @@ -1043,9 +1050,8 @@ case VOLCMD_FINEVOLDOWN: if(m.vol > 0 || sndFile.GetType() == MOD_TYPE_XM) { - s->Format(_T("%c%u"), - (m.volcmd == VOLCMD_VOLSLIDEUP || m.volcmd == VOLCMD_FINEVOLUP) ? _T('+') : _T('-'), - m.vol); + *s = (m.volcmd == VOLCMD_VOLSLIDEUP || m.volcmd == VOLCMD_FINEVOLUP) ? _T('+') : _T('-') + + volume; } else { *s = _T("continue"); @@ -1068,8 +1074,8 @@ if(sndFile.GetType() != MOD_TYPE_XM) param = ImpulseTrackerPortaVolCmd[m.vol & 0x0F]; else param = m.vol << 4; } - s->Format(_T("%u (%c%02X)"), - m.vol, + *s = volume; + s->AppendFormat(_T(" (%c%02X)"), sndFile.GetModSpecifications().GetEffectLetter(cmd), param); } else @@ -1113,7 +1119,7 @@ break; default: - s->Format(_T("%u"), m.vol); + *s = volume; break; } return true; Modified: trunk/OpenMPT/mptrack/EffectInfo.h ============================================================================== --- trunk/OpenMPT/mptrack/EffectInfo.h Sun Dec 1 22:18:08 2024 (r22437) +++ trunk/OpenMPT/mptrack/EffectInfo.h Sun Dec 1 22:18:42 2024 (r22438) @@ -61,7 +61,7 @@ // Get range information, effect name, etc... from a given effect. bool GetVolCmdInfo(UINT ndx, CString *s, ModCommand::VOL *prangeMin = nullptr, ModCommand::VOL *prangeMax = nullptr) const; // Get effect name and parameter description - bool GetVolCmdParamInfo(const ModCommand &m, CString *s) const; + bool GetVolCmdParamInfo(const ModCommand &m, CString *s, bool hex) const; // Map an effect value to slider position UINT MapVolumeToPos(VolumeCommand cmd, ModCommand::VOL param) const; // Map slider position to an effect value Modified: trunk/OpenMPT/mptrack/PatternEditorDialogs.cpp ============================================================================== --- trunk/OpenMPT/mptrack/PatternEditorDialogs.cpp Sun Dec 1 22:18:08 2024 (r22437) +++ trunk/OpenMPT/mptrack/PatternEditorDialogs.cpp Sun Dec 1 22:18:42 2024 (r22438) @@ -829,7 +829,7 @@ } else { // process as effect - effectInfo.GetVolCmdParamInfo(*m, &s); + effectInfo.GetVolCmdParamInfo(*m, &s, TrackerSettings::Instance().patternVolColHex); } SetDlgItemText(IDC_TEXT2, s); } |