diff --git a/VERSION b/VERSION index 147c9c7..ff11a43 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -February 14 2024 +February 19 2024 diff --git a/abcmatch.c b/abcmatch.c index 7bf9d73..e1645e0 100644 --- a/abcmatch.c +++ b/abcmatch.c @@ -49,7 +49,7 @@ Matching: -#define VERSION "1.82 June 14 2022 abcmatch" +#define VERSION "1.83 Feb 19 2024 abcmatch" #include #include #include diff --git a/doc/CHANGES b/doc/CHANGES index 2d6312b..7864ce2 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -15313,4 +15313,30 @@ P:A +February 19 2024 + +abc2midi bug and fix submitted by James Allwright. + +The parser recognizes |: but not |:: +In the following example, + +X:1 +T: ||: bug +M: 2/4 +L: 1/4 +K: G +G||:AB|[1cz:||[2ed| + +the repeat goes back to 0th bar (containing G) instead of +bar 1 (containing AB). + +Fix: in parsemusic() in parseabc.c, the following lines were +added. + +if (*(p+1) == ':') { + /* handle ||: as a variant of |: [JA] 2024-02-19 */ + check_and_call_bar (BAR_REP, ""); + p = p + 2; + +The change also has impact on yaps, abc2abc, and abcmatch. diff --git a/doc/readme.txt b/doc/readme.txt index d9164f0..8f6b087 100644 --- a/doc/readme.txt +++ b/doc/readme.txt @@ -1,10 +1,10 @@ abcMIDI : abc <-> MIDI conversion utilities midi2abc version 3.59 February 08 2023 -abc2midi version 4.86 February 13 2024 -abc2abc version 2.20 February 07 2023 -yaps version 1.92 January 06 2023 -abcmatch version 1.82 June 14 2022 +abc2midi version 4.87 February 19 2024 +abc2abc version 2.21 February 19 2024 +yaps version 1.93 February 19 2024 +abcmatch version 1.83 February 19 2024 midicopy version 1.39 November 08 2022 midistats version 0.87 February 11 2024 diff --git a/parseabc.c b/parseabc.c index 5532b67..56e5898 100644 --- a/parseabc.c +++ b/parseabc.c @@ -3020,8 +3020,14 @@ parsemusic (field) p = p + 1; break; case '|': - check_and_call_bar (DOUBLE_BAR, ""); - p = p + 1; + if (*(p+1) == ':') { + /* handle ||: as a variant of |: [JA] 2024-02-19 */ + check_and_call_bar (BAR_REP, ""); + p = p + 2; + } else { + check_and_call_bar (DOUBLE_BAR, ""); + p = p + 1; + } break; case ']': check_and_call_bar (THIN_THICK, ""); diff --git a/store.c b/store.c index ed858cd..03ea7f4 100644 --- a/store.c +++ b/store.c @@ -186,7 +186,7 @@ int main() */ -#define VERSION "4.86 February 14 2024 abc2midi" +#define VERSION "4.87 February 19 2024 abc2midi" /* enables reading V: indication in header */ #define XTEN1 1 diff --git a/toabc.c b/toabc.c index 52ca8d7..19098c2 100644 --- a/toabc.c +++ b/toabc.c @@ -21,7 +21,7 @@ /* back-end for outputting (possibly modified) abc */ -#define VERSION "2.20 Feb 07 2023 abc2abc" +#define VERSION "2.21 Feb 19 2024 abc2abc" /* for Microsoft Visual C++ 6.0 or higher */ #ifdef _MSC_VER diff --git a/yapstree.c b/yapstree.c index 7d158a8..5372a21 100644 --- a/yapstree.c +++ b/yapstree.c @@ -22,7 +22,7 @@ /* yapstree.c - back-end for abc parser. */ /* generates a data structure suitable for typeset music */ -#define VERSION "1.92 January 06 2023 yaps" +#define VERSION "1.93 February 19 2024 yaps" #include #ifdef USE_INDEX #define strchr index