From 24de684de05f7325e1add55583dc67333cb9f54a Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Mon, 23 Jul 2018 12:32:54 +0200 Subject: emit velocity offset in genadldata --- src/adldata.hh | 1 + 1 file changed, 1 insertion(+) (limited to 'src/adldata.hh') diff --git a/src/adldata.hh b/src/adldata.hh index 73c3d94..dc6a5f8 100644 --- a/src/adldata.hh +++ b/src/adldata.hh @@ -54,6 +54,7 @@ struct adlinsdata uint8_t flags; uint16_t ms_sound_kon; // Number of milliseconds it produces sound; uint16_t ms_sound_koff; + int8_t midi_velocity_offset; double voice2_fine_tune; }; ADLDATA_BYTE_COMPARABLE(struct adlinsdata) -- cgit v1.2.3 From 987d2e0bc2f1fc27869fac87876cb685c22d27b3 Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Mon, 23 Jul 2018 12:38:00 +0200 Subject: implement the velocity offset parameter --- src/adldata.hh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/adldata.hh') diff --git a/src/adldata.hh b/src/adldata.hh index dc6a5f8..bb0e883 100644 --- a/src/adldata.hh +++ b/src/adldata.hh @@ -71,6 +71,7 @@ struct adlinsdata2 uint8_t flags; uint16_t ms_sound_kon; // Number of milliseconds it produces sound; uint16_t ms_sound_koff; + int8_t midi_velocity_offset; double voice2_fine_tune; adlinsdata2() {} explicit adlinsdata2(const adlinsdata &d); @@ -105,7 +106,7 @@ extern const AdlBankSetup adlbanksetup[]; * @brief Conversion of storage formats */ inline adlinsdata2::adlinsdata2(const adlinsdata &d) - : tone(d.tone), flags(d.flags), + : tone(d.tone), flags(d.flags), midi_velocity_offset(d.midi_velocity_offset), ms_sound_kon(d.ms_sound_kon), ms_sound_koff(d.ms_sound_koff), voice2_fine_tune(d.voice2_fine_tune) { -- cgit v1.2.3 From e340bd10e45299bd8fb5d683c9b0e963aa2ef770 Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Mon, 23 Jul 2018 12:47:57 +0200 Subject: generate velocity offsets from wopl files --- src/adldata.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/adldata.hh') diff --git a/src/adldata.hh b/src/adldata.hh index bb0e883..38a1d9f 100644 --- a/src/adldata.hh +++ b/src/adldata.hh @@ -106,9 +106,9 @@ extern const AdlBankSetup adlbanksetup[]; * @brief Conversion of storage formats */ inline adlinsdata2::adlinsdata2(const adlinsdata &d) - : tone(d.tone), flags(d.flags), midi_velocity_offset(d.midi_velocity_offset), + : tone(d.tone), flags(d.flags), ms_sound_kon(d.ms_sound_kon), ms_sound_koff(d.ms_sound_koff), - voice2_fine_tune(d.voice2_fine_tune) + midi_velocity_offset(d.midi_velocity_offset), voice2_fine_tune(d.voice2_fine_tune) { #ifdef DISABLE_EMBEDDED_BANKS std::memset(adl, 0, sizeof(adldata) * 2); -- cgit v1.2.3 From 86b97d103fdeab8d285189d96ec6b316ec8c3530 Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Tue, 24 Jul 2018 04:55:55 +0200 Subject: add unit test to check internal instrument conversions --- src/adldata.hh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/adldata.hh') diff --git a/src/adldata.hh b/src/adldata.hh index 73c3d94..92341f6 100644 --- a/src/adldata.hh +++ b/src/adldata.hh @@ -49,6 +49,9 @@ struct adlinsdata { enum { Flag_Pseudo4op = 0x01, Flag_NoSound = 0x02, Flag_Real4op = 0x04 }; + enum { Flag_RM_BassDrum = 0x08, Flag_RM_Snare = 0x10, Flag_RM_TomTom = 0x18, + Flag_RM_Cymbal = 0x20, Flag_RM_HiHat = 0x28, Mask_RhythmMode = 0x38 }; + uint16_t adlno1, adlno2; uint8_t tone; uint8_t flags; -- cgit v1.2.3 From 4802570b77fde4aefa5a99c33cc012a2591e8361 Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Tue, 31 Jul 2018 03:04:20 +0200 Subject: fix the gcc warning "class-memaccess" --- src/adldata.hh | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/adldata.hh') diff --git a/src/adldata.hh b/src/adldata.hh index 2396daf..93d4144 100644 --- a/src/adldata.hh +++ b/src/adldata.hh @@ -76,8 +76,7 @@ struct adlinsdata2 uint16_t ms_sound_koff; int8_t midi_velocity_offset; double voice2_fine_tune; - adlinsdata2() {} - explicit adlinsdata2(const adlinsdata &d); + static adlinsdata2 from_adldata(const adlinsdata &d); }; ADLDATA_BYTE_COMPARABLE(struct adlinsdata2) @@ -108,17 +107,22 @@ extern const AdlBankSetup adlbanksetup[]; /** * @brief Conversion of storage formats */ -inline adlinsdata2::adlinsdata2(const adlinsdata &d) - : tone(d.tone), flags(d.flags), - ms_sound_kon(d.ms_sound_kon), ms_sound_koff(d.ms_sound_koff), - midi_velocity_offset(d.midi_velocity_offset), voice2_fine_tune(d.voice2_fine_tune) +inline adlinsdata2 adlinsdata2::from_adldata(const adlinsdata &d) { + adlinsdata2 ins; + ins.tone = d.tone; + ins.flags = d.flags; + ins.ms_sound_kon = d.ms_sound_kon; + ins.ms_sound_koff = d.ms_sound_koff; + ins.midi_velocity_offset = d.midi_velocity_offset; + ins.voice2_fine_tune = d.voice2_fine_tune; #ifdef DISABLE_EMBEDDED_BANKS - std::memset(adl, 0, sizeof(adldata) * 2); + std::memset(ins.adl, 0, sizeof(adldata) * 2); #else - adl[0] = ::adl[d.adlno1]; - adl[1] = ::adl[d.adlno2]; + ins.adl[0] = ::adl[d.adlno1]; + ins.adl[1] = ::adl[d.adlno2]; #endif + return ins; } /** -- cgit v1.2.3