2024.02.25

This commit is contained in:
sshlien
2024-02-25 07:53:27 -05:00
parent bf013dc428
commit 4d51b779bf
5 changed files with 25 additions and 44 deletions

View File

@@ -1,2 +1,2 @@
February 23 2024 February 25 2024

View File

@@ -15377,49 +15377,22 @@ it is only called if the token was a clef.
Fix: commented out the line in isclef() which zeros the octave_offset. Fix: commented out the line in isclef() which zeros the octave_offset.
February 23 2024 February 25 2024
abcmidi bug: abcmidi note:
Besides clef=treble-8, the abcmidi 2.2 standard also recognizes Besides clef=treble-8, the abcmidi 2.2 standard also recognizes
clef=treble_8 which it treats similarly. The standard also allows clef=treble_8, clef=treble^8 and etc. These clefs do not transpose
clef=treble^8 to be substituted for treble+8. abc2midi does not the notes in the midi file but merely put the appropriate symbol
recognize these variants. on the clef. Abc2midi presently ignores these endings in the
function get_clef_octave_offset() in music_utils.c. When it is
Fix: extended the function get_clef_octave_offset in music_utils.c necessary for the parseclef to see these endings the following fix
to recognize these variants. Unfortunately, readword() called by is necessary.
parseclef breaks the clef string when it encounters either a ^
or _. This was necessary to handle sharps and flats in the
K: declaration. (See note above April 8 2015.) It was necessary
to create a replacement function, readword_with_() which does
not break the string on underscore _ or caret ^.
The following test file was used to verify the correct operation
of this feature.
X:1
T: clef= variants
M:4/4
L:1/4
V:1 clef=treble-8
V:2 clef=treble_8
V:3 clef=treble+8
V:4 clef=treble^8
K:C
[V:1] z z C z |
[V:2] z z z C |
[V:3] C z z z |
[V:4] z C z z |
Fix: readword() called by parseclef breaks the clef string
when it encounters either a ^ or _ in order to handle sharps
and flats in the K: declaration. (See note above April 8 2015.)
It is necessary to use the new function, readword_with_()
which does not break the string on encountering either
the underscore _ or caret ^.

View File

@@ -1,7 +1,7 @@
abcMIDI : abc <-> MIDI conversion utilities abcMIDI : abc <-> MIDI conversion utilities
midi2abc version 3.59 February 08 2023 midi2abc version 3.59 February 08 2023
abc2midi version 4.89 February 23 2024 abc2midi version 4.90 February 25 2024
abc2abc version 2.21 February 19 2024 abc2abc version 2.21 February 19 2024
yaps version 1.93 February 19 2024 yaps version 1.93 February 19 2024
abcmatch version 1.83 February 19 2024 abcmatch version 1.83 February 19 2024

View File

@@ -205,6 +205,13 @@ static int get_clef_octave_offset (char *clef_ending)
if (strncmp (clef_ending, "-15", 2) == 0) { if (strncmp (clef_ending, "-15", 2) == 0) {
return -2; return -2;
} }
/* ^8, ^15, _8, _15 does not transpose the notes in
the midi output according to the abc standard 2.2;
though it should display the appropriate symbol in
the clef. For the time being I am commenting
the other endings so abc2midi runs correctly.
[SS] 2024.02.24
if (strncmp (clef_ending, "^8", 2) == 0) { if (strncmp (clef_ending, "^8", 2) == 0) {
return 1; return 1;
} }
@@ -217,6 +224,7 @@ static int get_clef_octave_offset (char *clef_ending)
if (strncmp (clef_ending, "_15", 2) == 0) { if (strncmp (clef_ending, "_15", 2) == 0) {
return -2; return -2;
} }
*/
return 0; return 0;
} }

View File

@@ -186,7 +186,7 @@ int main()
*/ */
#define VERSION "4.89 February 23 2024 abc2midi" #define VERSION "4.90 February 25 2024 abc2midi"
/* enables reading V: indication in header */ /* enables reading V: indication in header */
#define XTEN1 1 #define XTEN1 1