From 7afda0483ab0af9db624052321b42c3d2a245e75 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Thu, 27 Mar 2025 20:15:21 +0300 Subject: Fixed logic where drum formula gets overriden by wrong code --- src/adlmidi_opl3.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp index daba932..c612637 100644 --- a/src/adlmidi_opl3.cpp +++ b/src/adlmidi_opl3.cpp @@ -1490,9 +1490,10 @@ void OPL3::touchNote(size_t c, } if(isDrum) // TODO: VERIFY A CORRECTNESS OF THIS!!! - vol = s_hmi_volume_table[velocity >> 1]; + vol = (64 - s_hmi_volume_table[velocity >> 1]) << 1; + else + vol = (64 - volume) << 1; - vol = (64 - volume) << 1; vol *= (64 - tlCar); tlCar = (8192 - vol) >> 7; } -- cgit v1.2.3