From fcae03ab714c4b427152d87e75b5eed966e3359b Mon Sep 17 00:00:00 2001 From: Seymour Shlien Date: Thu, 25 Nov 2021 13:00:06 -0500 Subject: [PATCH] 2021.11.25 --- VERSION | 2 +- abcmatch.c | 4 ++-- doc/CHANGES | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/readme.txt | 2 +- 4 files changed, 69 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index ed634b2..f385eef 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -2021 October 11 2021 +2021 November 25 2021 diff --git a/abcmatch.c b/abcmatch.c index 9e5e505..bb82511 100644 --- a/abcmatch.c +++ b/abcmatch.c @@ -49,7 +49,7 @@ Matching: -#define VERSION "1.79 May 25 2021 abcmatch" +#define VERSION "1.80 Novemeber 25 2021 abcmatch" #include #include #include @@ -274,7 +274,7 @@ make_note_representation (int *nnotes, int *nbars, int maxnotes, int maxbars, these bar line indications. Note bar numbering starts from 0. [SS] 2013-11-17 */ - if (*nbars >0 && *nnotes > 0) { /* 2021-03-27 */ + if (*nnotes > 0) { /* [SS] 2021-11-25 */ midipitch[*nnotes] = BAR; notelength[*nnotes] = BAR; (*nnotes)++; diff --git a/doc/CHANGES b/doc/CHANGES index febcfcd..b44add9 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -14426,3 +14426,68 @@ V:2 shift=DE, Bcde|Bcde| +October 15 2021 + +Abc2abc -P bug + + + +X:1 +T: P bug +M:4/4 +L:1/4 +V:1 clef=treble +V:2 clef=bass +%%staves [1 2] +K:C +V:1 +C2 D2 | C4 | +V:2 +C,2 G,2 | C,4| + +The command +abc2abc t.abc -t 3 -P 1 +fails to transpose voice 1 + +This bug has been around since this option was introduced in June 7 2011. +Fortunately, it has not bothered anyone until recently. +If you add another K:c after the first V:1 command in the body as +shown below. + +X:1 +T: P bug +M:4/4 +L:1/4 +V:1 clef=treble +V:2 clef=bass +%%staves [1 2] +K:C +V:1 +K:C +C2 D2 | C4 | +V:2 +C,2 G,2 | C,4| + +then voice 1 will be transposed correctly. Unfortunately, there is +no easy fix. When the -P option is present, abc2abc ignores the +first K: field command. (In toabc.c line 1643 event_key aborts +prior to setting up the arrays for a key transpose. Commenting +out this return statement introduces another problem.) + +The main issue is that abc2abc only does one pass through the +input file. It does not know whether there is a K: field command +following V:1. If it assumes that there is none and forces a +call to event_key in event_voice, there may be another problem +when a different K: field command is found eventually. I have +decided to suspend support to the -P option because it would be +too complicated to fix this. + + +November 25 2021 + +abcmatch bug. The fix on 2021-03-27 made abcmatch non-operable. The +number of bars *nbars is never incremented. The line was replaced +with +if (*nnotes > 0) { /* [SS] 2021-11-25 */ +in the function make_note_representation(...) + diff --git a/doc/readme.txt b/doc/readme.txt index 8939921..40f869e 100644 --- a/doc/readme.txt +++ b/doc/readme.txt @@ -4,7 +4,7 @@ midi2abc version 3.48 June 27 2021 abc2midi version 4.61 October 11 2021 abc2abc version 2.15 May 25 2021 yaps version 1.87 May 25 2021 -abcmatch version 1.79 May 25 2021 +abcmatch version 1.80 November 25 2021 midicopy version 1.37 October 10 2020 24th January 2002