aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_cvt.hpp
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2020-08-21 22:33:07 +0300
committerWohlstand <admin@wohlnet.ru>2020-08-21 22:33:07 +0300
commitc025dc0c06eed05800d5081380b7771e2de6fea4 (patch)
tree19f00334bc6d21ea218bc1fddc36fe6fbb674758 /src/adlmidi_cvt.hpp
parent75637f387b2d91bf81ee2558244c030c3f7df26d (diff)
parentaf8b30f7b83d4ee00f5255f84cc4305d609b446f (diff)
downloadlibADLMIDI-c025dc0c06eed05800d5081380b7771e2de6fea4.tar.gz
libADLMIDI-c025dc0c06eed05800d5081380b7771e2de6fea4.tar.bz2
libADLMIDI-c025dc0c06eed05800d5081380b7771e2de6fea4.zip
Merge branch 'master' into wip-new-embedded-banks
Diffstat (limited to 'src/adlmidi_cvt.hpp')
-rw-r--r--src/adlmidi_cvt.hpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/adlmidi_cvt.hpp b/src/adlmidi_cvt.hpp
index cb16eb0..3b2e07d 100644
--- a/src/adlmidi_cvt.hpp
+++ b/src/adlmidi_cvt.hpp
@@ -29,15 +29,12 @@ template <class WOPLI>
static void cvt_generic_to_FMIns(adlinsdata2 &ins, const WOPLI &in)
{
ins.voice2_fine_tune = 0.0;
- int8_t voice2_fine_tune = in.second_voice_detune;
+ int voice2_fine_tune = in.second_voice_detune;
+
if(voice2_fine_tune != 0)
{
- if(voice2_fine_tune == 1)
- ins.voice2_fine_tune = 0.000025;
- else if(voice2_fine_tune == -1)
- ins.voice2_fine_tune = -0.000025;
- else
- ins.voice2_fine_tune = voice2_fine_tune * (15.625 / 1000.0);
+ // Simulate behavior of DMX second voice detune
+ ins.voice2_fine_tune = (double)(((voice2_fine_tune + 128) >> 1) - 64) / 32.0;
}
ins.midi_velocity_offset = in.midi_velocity_offset;