Compare commits

..

2 Commits

Author SHA1 Message Date
Seymour Shlien
96570dbb2d 2021.05.10 2021-05-12 10:57:42 -04:00
Seymour Shlien
2ed90eeff0 2021.05.09 2021-05-10 14:31:39 -04:00
6 changed files with 56 additions and 6 deletions

View File

@@ -1,2 +1,2 @@
2021 April 26 2021 2021 May 10 2021

View File

@@ -14162,3 +14162,45 @@ do not exist in midi files. Using a cumulative beat count does not
detect the possibility that the bar lines can realign because of detect the possibility that the bar lines can realign because of
two errors cancelling out. As an experiment, I save only the bar size. two errors cancelling out. As an experiment, I save only the bar size.
May 09 2020
abc2midi, abc2abc, yaps -- compatibility with abcm2ps.
The %%beginps and %%endps enclose text which should not
be processed by abc2midi or abc2abc. The flag ignore_line is set
to 1 when parseline() encounters "%%beginps" and is reset to 0
when %%endps" is encountered. If ignore_line is 1, the rest of
the code in parseline() is ignored when abc2midi is running.
May 10 2020
abc2midi: the following file causes a core dump.
X:1
T:Autumn Ale
C:Chance Thomas, Stephen DiGregorio, Geoff Scott and/or Brad Spear
R:Jig
S:The Lord of the Rings Online Soundtrack
O:Turbine's Middle Earth
Z:Northman
N:This is not intended for percussion instruments.
Q:333
M:6/8
L:1/8
K:D
AGA BA/3B/3A/3G | FE/3F/3E/3D EFG |
abc2midi notpowerof2.abc
4.53 May 09 2021 abc2midi
Error in line-char 13-5 : 3 b is not a power of 2
Error in line-char 13-8 : 3 b is not a power of 2
Floating point exception (core dumped)
Analysis: the crash occurs in the function reduce (0)
which cannot handle a division by zero. The function
check_power_of_two(3) in parseabc.c returns 0 when the
argument is not a power of 2. Fix: changed the return
to -1. The program does not crash but the midi file
is not created correctly.

View File

@@ -1,8 +1,8 @@
abcMIDI : abc <-> MIDI conversion utilities abcMIDI : abc <-> MIDI conversion utilities
midi2abc version 3.47 November 01 2020 midi2abc version 3.47 November 01 2020
abc2midi version 4.52 April 26 2021 abc2midi version 4.54 May 10 2021
abc2abc version 2.12 October 19 2020 abc2abc version 2.13 May 08 2021
yaps version 1.86 December 10 2020 yaps version 1.86 December 10 2020
abcmatch version 1.78 March 27 2021 abcmatch version 1.78 March 27 2021
midicopy version 1.37 October 10 2020 midicopy version 1.37 October 10 2020

View File

@@ -420,7 +420,7 @@ int check_power_of_two(int denom)
if (t % 2 != 0) { if (t % 2 != 0) {
snprintf(error_message, 80, "%d b is not a power of 2", denom); snprintf(error_message, 80, "%d b is not a power of 2", denom);
event_error (error_message); event_error (error_message);
return 0; return -1;
} else { } else {
t = t / 2; t = t / 2;
} }
@@ -3149,6 +3149,14 @@ parseline (line)
if (strcmp(line,"%%endtext") == 0) { if (strcmp(line,"%%endtext") == 0) {
ignore_line = 0; ignore_line = 0;
} }
/* [SS] 2021-05-09 */
if (strcmp(line,"%%beginps") == 0) {
ignore_line = 1;
}
if (strcmp(line,"%%endps") == 0) {
ignore_line = 0;
}
if ((strncmp(line,"%%temperament",12) == 0) && fileprogram == ABC2MIDI) { if ((strncmp(line,"%%temperament",12) == 0) && fileprogram == ABC2MIDI) {
event_temperament(line); event_temperament(line);
} }

View File

@@ -186,7 +186,7 @@ int main()
*/ */
#define VERSION "4.52 April 26 2021 abc2midi" #define VERSION "4.54 May 10 2021 abc2midi"
/* enables reading V: indication in header */ /* enables reading V: indication in header */
#define XTEN1 1 #define XTEN1 1

View File

@@ -21,7 +21,7 @@
/* back-end for outputting (possibly modified) abc */ /* back-end for outputting (possibly modified) abc */
#define VERSION "2.13 December 10 2020 abc2abc" #define VERSION "2.14 May 09 2021 abc2abc"
/* for Microsoft Visual C++ 6.0 or higher */ /* for Microsoft Visual C++ 6.0 or higher */
#ifdef _MSC_VER #ifdef _MSC_VER