diff --git a/VERSION b/VERSION index 66a27c1..98e5af6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -January 30 2025 +February 02 2025 diff --git a/doc/CHANGES b/doc/CHANGES index ebd9e46..7eb9ee0 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -15588,3 +15588,29 @@ notes (including pitchbends) present in the midi file. This is useful for checking the accuracy of abc2midi or the abc notation representation. + +February 02 2025 + +abc2midi + +X:2 +T: treble bug +M:6/8 +K:G treble-8 +cCdDeE| + +abc2midi shifts the notes down by 2 octaves instead of 1 + +Fix: in pitchof_b in store.c +recanted the replacement of + if (v->octaveshift == 0) { /*[JA] 2021-05-21 */ + octave = xoctave + clef->octave_offset; + } else { + octave = xoctave + v->octaveshift; + } +for + octave = clef->octave_offset + v->octaveshift + xoctave; /*[SS] 2024-03-02*/ + +(clef->octave_offset and v->octaveshift are both -1. We want to apply +only one of those.) + diff --git a/doc/readme.txt b/doc/readme.txt index e5dce86..546e746 100644 --- a/doc/readme.txt +++ b/doc/readme.txt @@ -1,7 +1,7 @@ abcMIDI : abc <-> MIDI conversion utilities midi2abc version 3.61 January 22 2025 -abc2midi version 4.99 January 12 2025 +abc2midi version 5.00 February 12 2025 abc2abc version 2.22 April 30 2024 yaps version 1.94 April 30 2024 abcmatch version 1.83 February 19 2024 diff --git a/store.c b/store.c index 3d4dc5f..2fcb232 100755 --- a/store.c +++ b/store.c @@ -186,7 +186,7 @@ int main() */ -#define VERSION "4.99 January 12 2025 abc2midi" +#define VERSION "5.00 February 02 2025 abc2midi" /* enables reading V: indication in header */ #define XTEN1 1 @@ -3824,6 +3824,7 @@ if (!microtone) *pitchbend = bend; /* don't override microtone */ if (comma53) fprintf(fc53,"%c%d ",note,octave+4); #endif */ +/*printf("note = %c accidental= %c pitch = %d bend = %d\n",note,accidental,pitch,bend);*/ if (comma53) convert_to_comma53 (acc, &pitch, pitchbend); microtone = 0; /* [SS] 2014-01-25 */ setmicrotone.num = 0; /* [SS] 2014-01-25 */ @@ -4298,15 +4299,17 @@ int xoctave, n, m; }; if (gracenotes && ignore_gracenotes) return; /* [SS] 2010-01-08 */ -/* [SS] 2024-03-02 - printf("clef->octave_offset = %d v->octaveshift = %d\n",clef->octave_offset,v->octaveshift); - if (v->octaveshift == 0) { [JA] 2021-05-21 +/* [SS] 2024-03-02 2025-02-02 don't apply both clef->octave_offset and + v->octaveshift +*/ + //printf("clef->octave_offset = %d v->octaveshift = %d\n",clef->octave_offset,v->octaveshift); + if (v->octaveshift == 0) { /*[JA] 2021-05-21 */ octave = xoctave + clef->octave_offset; } else { octave = xoctave + v->octaveshift; } -*/ - octave = clef->octave_offset + v->octaveshift + xoctave; /*[SS] 2024-03-02*/ + +// octave = clef->octave_offset + v->octaveshift + xoctave; /*[SS] 2024-03-02*/ num = n; denom = m; if (v->inchord) v->chordcount = v->chordcount + 1;