2025.01.07

This commit is contained in:
sshlien
2025-01-07 13:06:04 -05:00
parent 659270b0c9
commit 8d5df56596
5 changed files with 55 additions and 31 deletions

View File

@@ -15526,3 +15526,34 @@ is called before event_note. It is hard to determine what is
going on. Many people have worked on this code.
January 07 2025
abc2midi: works correctly with microtone shortcuts but does not
handle the fraction expression of microtones. eg.
X:1
T: equaltempered 53
M: 4/4
L: 1/4
%%MIDI temperamentequal 53
K: none
C ^12/53C ^24/53C ^36/53C |^48/53C _48/53D _36/53D _24/53D |_12/53D =D ^12/53D ^24/53D| ^36/53D ^48/53D _48/53E _36/53E |
_24/53E _12/53E =E ^12/53E | ^24/53E ^36/53E F ^12/53F| ^24/53F ^36/53F ^48/53F _48/53G| _36/53G _24/53G _12/53G =G |
^12/53G ^24/53G ^36/53G ^48/53G| _48/53A _36/53A _24/53A _12/53A | A ^12/53A ^24/53A ^36/53A| ^48/53A _48/53B _36/53B _24/53B|
_12/53B =B ^12/53B ^24/53B _12/53c|
Fix: there were numerous minor fixes to ensure that the variable
setmicrotone.denom is initialized to 1 rather than 0 (to avoid division
by 0). New code was inserted in pitchof_b() in store.c.
if (microtone) {
/* [SS] 2025-01-03 2025-01-06*/
if (setmicrotone.denom == 1)
/* microtone shortcut (eg _1B,) */
microtoneshift = setmicrotone.num * microstep_size/100.0;
else
/* microtone fraction (eg _12/53B,) */
microtoneshift = (float) setmicrotone.num /(float) setmicrotone.denom;
In addition event_key was not receiving negative fractional microtones.
The problem was traced to a missing check in process_microtones()
in parseabc.c

View File

@@ -1,7 +1,7 @@
abcMIDI : abc <-> MIDI conversion utilities
midi2abc version 3.59 February 08 2023
abc2midi version 4.96 December 16 2024
abc2midi version 4.98 January 07 2025
abc2abc version 2.22 April 30 2024
yaps version 1.94 April 30 2024
abcmatch version 1.83 February 19 2024