mirror of
https://github.com/sshlien/abcmidi.git
synced 2026-04-15 14:23:41 +00:00
2024.02.25
This commit is contained in:
55
doc/CHANGES
55
doc/CHANGES
@@ -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 ^.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user