diff options
author | Wohlstand <admin@wohlnet.ru> | 2018-06-03 15:46:50 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2018-06-03 15:46:50 +0300 |
commit | adcf702a7e18846ad4f8753ec5a32cf56585ca23 (patch) | |
tree | d2b357b91695868c8d2b48ecf6e4cd82d2f9cfe6 /src/adlmidi_load.cpp | |
parent | c4c36c82919b3136b9592db1f7872fc7d4907589 (diff) | |
download | libADLMIDI-adcf702a7e18846ad4f8753ec5a32cf56585ca23.tar.gz libADLMIDI-adcf702a7e18846ad4f8753ec5a32cf56585ca23.tar.bz2 libADLMIDI-adcf702a7e18846ad4f8753ec5a32cf56585ca23.zip |
Bugfixes
- Fixed all MSVC 2015/2017 warnings in both 32 and 64 bit builds
- Fixed weird behavior when using adl_setHVibrato, adl_setHTremolo, adl_setScaleModulators, and adl_setVolumeRangeModel when passing the -1 "Auto" state
- Move arpeggio counter into the MIDIPlay class as originally it was a global static variable which is ugly and danger when running multiple instances of the same library
Diffstat (limited to 'src/adlmidi_load.cpp')
-rw-r--r-- | src/adlmidi_load.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/adlmidi_load.cpp b/src/adlmidi_load.cpp index c75bed4..9e19ab6 100644 --- a/src/adlmidi_load.cpp +++ b/src/adlmidi_load.cpp @@ -93,7 +93,7 @@ static void cvt_generic_to_FMIns(adlinsdata2 &ins, const WOPLI &in) ins.flags|= (in.inst_flags & WOPL_Ins_IsBlank) ? adlinsdata::Flag_NoSound : 0; bool fourOps = (in.inst_flags & WOPL_Ins_4op) || (in.inst_flags & WOPL_Ins_Pseudo4op); - for(size_t op = 0, slt = 0; op < (fourOps ? 4 : 2); op++, slt++) + for(size_t op = 0, slt = 0; op < static_cast<size_t>(fourOps ? 4 : 2); op++, slt++) { ins.adl[slt].carrier_E862 = ((static_cast<uint32_t>(in.operators[op].waveform_E0) << 24) & 0xFF000000) //WaveForm @@ -111,13 +111,13 @@ static void cvt_generic_to_FMIns(adlinsdata2 &ins, const WOPLI &in) ins.adl[slt].modulator_40 = in.operators[op].ksl_l_40;//KSLL } - ins.adl[0].finetune = in.note_offset1; + ins.adl[0].finetune = static_cast<int8_t>(in.note_offset1); ins.adl[0].feedconn = in.fb_conn1_C0; if(!fourOps) ins.adl[1] = ins.adl[0]; else { - ins.adl[1].finetune = in.note_offset2; + ins.adl[1].finetune = static_cast<int8_t>(in.note_offset2); ins.adl[1].feedconn = in.fb_conn2_C0; } @@ -151,7 +151,7 @@ static void cvt_FMIns_to_generic(WOPLI &ins, const adlinsdata2 &in) ins.inst_flags|= (in.flags & adlinsdata::Flag_Pseudo4op) ? WOPL_Ins_Pseudo4op : 0; ins.inst_flags|= (in.flags & adlinsdata::Flag_NoSound) ? WOPL_Ins_IsBlank : 0; - for(size_t op = 0, slt = 0; op < (fourOps ? 4 : 2); op++, slt++) + for(size_t op = 0, slt = 0; op < static_cast<size_t>(fourOps ? 4 : 2); op++, slt++) { ins.operators[op].waveform_E0 = static_cast<uint8_t>(in.adl[slt].carrier_E862 >> 24); ins.operators[op].susrel_80 = static_cast<uint8_t>(in.adl[slt].carrier_E862 >> 16); |