From 0e68274e421978a6022e2d65079f5c844d97bf43 Mon Sep 17 00:00:00 2001 From: Seymour Shlien Date: Tue, 14 Jul 2020 15:15:16 -0400 Subject: [PATCH] 2020.07.14 --- README.md | 44 ++++++++++++++++++++++---------------------- doc/CHANGES | 8 ++++++++ doc/readme.txt | 2 +- drawtune.c | 26 +++++++++++++------------- yapstree.c | 2 +- 5 files changed, 45 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 2615cd1..e4f0b6f 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,22 @@ -### abcMIDI package - -abcMIDI is a package of programs written in C for handling [abc music notation](http://abcnotation.com/) files. The software was created by James Allwright in the early 1990 and presently maintained by Seymour Shlien. It initially included the following programs: - -1. abc2midi for converting an abc file to a midi file, -2. abc2abc for transposing abc notation to another key signature, -3. midi2abc for creating an abc file from a midi file, -4. yaps for producing a PostScript file displaying the abc file in common music notation and, -5. mftext for creating a text representation of a midi file. - -Seymour added two more programs: - -1. abcmatch for finding common elements in a collection of abc tunes and, -2. midicopy for copying parts of a midi file to a new midi file. - -Yaps has been superceded by [Jef Moine](http://moinejf.free.fr/) abcm2ps and abc2svg programs. Midi2abc has been expanded to include mftext and various other features for supporting the [runabc](https://ifdo.ca/~seymour/runabc/top.html) application. Abc2midi has numerous new features that are described in its own web page [abc2midi guide](https://ifdo.ca/~seymour/runabc/abcguide/abc2midi_guide.html). - -Components of the abcMIDI package are parts of numerous applications for creating and editing abc files. Compilations of these components for various operating systems can be found on [The ABC Plus Project](http://abcplus.sourceforge.net/) web page. - - -The latest version of the abcMIDI package supported by James Allwright can be found can be found [here](http://abc.sourceforge.net/abcMIDI/original/). More recent versions can be found on [sourceforge](https://sourceforge.net/projects/abc/) and on the [runabc](https://ifdo.ca/~seymour/runabc/top.html) web page. - +### abcMIDI package + +abcMIDI is a package of programs written in C for handling [abc music notation](http://abcnotation.com/) files. The software was created by James Allwright in the early 1990 and presently maintained by Seymour Shlien. It initially included the following programs: + +1. abc2midi for converting an abc file to a midi file, +2. abc2abc for transposing abc notation to another key signature, +3. midi2abc for creating an abc file from a midi file, +4. yaps for producing a PostScript file displaying the abc file in common music notation and, +5. mftext for creating a text representation of a midi file. + +Seymour added two more programs: + +1. abcmatch for finding common elements in a collection of abc tunes and, +2. midicopy for copying parts of a midi file to a new midi file. + +Yaps has been superceded by [Jef Moine](http://moinejf.free.fr/) abcm2ps and abc2svg programs. Midi2abc has been expanded to include mftext and various other features for supporting the [runabc](https://ifdo.ca/~seymour/runabc/top.html) application. Abc2midi has numerous new features that are described in its own web page [abc2midi guide](https://ifdo.ca/~seymour/runabc/abcguide/abc2midi_guide.html). + +Components of the abcMIDI package are parts of numerous applications for creating and editing abc files. Compilations of these components for various operating systems can be found on [The ABC Plus Project](http://abcplus.sourceforge.net/) web page. + + +The latest version of the abcMIDI package supported by James Allwright can be found can be found [here](http://abc.sourceforge.net/abcMIDI/original/). More recent versions can be found on [sourceforge](https://sourceforge.net/projects/abc/) and on the [runabc](https://ifdo.ca/~seymour/runabc/top.html) web page. + diff --git a/doc/CHANGES b/doc/CHANGES index eb2df38..229f813 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -13745,4 +13745,12 @@ can take various values. You can find a test file detune.abc in the samples folder. +July 14 2020 +yaps: cleaned up numerous gcc warnings such as +drawtune.c:3245:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] + lineno = (int)(ft->item); + +changed + lineno = (long)(ft->item); +etc. diff --git a/doc/readme.txt b/doc/readme.txt index 903c306..0bdfbf8 100644 --- a/doc/readme.txt +++ b/doc/readme.txt @@ -3,7 +3,7 @@ abcMIDI : abc <-> MIDI conversion utilities midi2abc version 3.46 June 22 2020 abc2midi version 4.38 July 05 2020 abc2abc version 2.08 June 04 2020 -yaps version 1.77 June 04 2020 +yaps version 1.78 June 14 2020 abcmatch version 1.73 June 04 2020 midicopy version 1.36 June 04 2019 diff --git a/drawtune.c b/drawtune.c index 8bf2cbe..3d6729e 100644 --- a/drawtune.c +++ b/drawtune.c @@ -1475,7 +1475,7 @@ static void sizevoice(struct voice* v, struct tune* t) case DYNAMIC: break; case LINENUM: - lineno = (int)(ft->item); + lineno = (long)(ft->item); break; case MUSICLINE: break; @@ -2958,7 +2958,7 @@ static int printvoiceline(struct voice* v) (v->place->type == LEFT_TEXT) || (v->place->type == CENTRE_TEXT) || (v->place->type == VSKIP))) { if (v->place->type == LINENUM) { - lineno = (int)(v->place->item); + lineno = (long)(v->place->item); }; if (v->place->type == NEWPAGE) { newpage(); @@ -2970,7 +2970,7 @@ static int printvoiceline(struct voice* v) printtext(centre, v->place->item, &textfont); }; if (v->place->type == VSKIP) { - vskip((double)((int)v->place->item)); + vskip((double)((long)v->place->item)); }; v->place = v->place->next; }; @@ -3004,21 +3004,21 @@ static int printvoiceline(struct voice* v) switch (ft->type) { case SINGLE_BAR: fprintf(f, "%.1f bar\n", ft->x); - printbarnumber(ft->x, (int)ft->item); + printbarnumber(ft->x, (long)ft->item); break; case DOUBLE_BAR: fprintf(f, "%.1f dbar\n", ft->x); - printbarnumber(ft->x, (int)ft->item); + printbarnumber(ft->x, (long)ft->item); inend = endrep(inend, endstr, xend, ft->x, spacing->yend); break; case BAR_REP: fprintf(f, "%.1f fbar1 %.1f rdots\n", ft->x, ft->x+10); - printbarnumber(ft->x, (int)ft->item); + printbarnumber(ft->x, (long)ft->item); inend = endrep(inend, endstr, xend, ft->x, spacing->yend); break; case REP_BAR: fprintf(f, "%.1f rdots %.1f fbar2\n", ft->x, ft->x+10); - printbarnumber(ft->x, (int)ft->item); + printbarnumber(ft->x, (long)ft->item); inend = endrep(inend, endstr, xend, ft->x, spacing->yend); break; case REP1: @@ -3041,7 +3041,7 @@ static int printvoiceline(struct voice* v) break; case BAR1: fprintf(f, "%.1f bar\n", ft->x); - printbarnumber(ft->x, (int)ft->item); + printbarnumber(ft->x, (long)ft->item); inend = endrep(inend, endstr, xend, ft->x - ft->xleft, spacing->yend); inend = 1; strcpy(endstr, "1"); @@ -3049,7 +3049,7 @@ static int printvoiceline(struct voice* v) break; case REP_BAR2: fprintf(f, "%.1f rdots %.1f fbar2\n", ft->x, ft->x+10); - printbarnumber(ft->x, (int)ft->item); + printbarnumber(ft->x, (long)ft->item); inend = endrep(inend, endstr, xend, ft->x - ft->xleft, spacing->yend); inend = 2; strcpy(endstr, "2"); @@ -3242,7 +3242,7 @@ static int printvoiceline(struct voice* v) if(psaction->color == 'b') redcolor = 0; break; case LINENUM: - lineno = (int)(ft->item); + lineno = (long)(ft->item); break; case MUSICLINE: v->line = midline; @@ -3324,7 +3324,7 @@ static int finalsizeline(struct voice* v) ft = ft->next; }; if ((ft != NULL) && (ft->type == PRINTLINE)) { - avertspacing = ft->item; + avertspacing = ft->item; avertspacing->height = (float) height; avertspacing->descender = (float) descender; avertspacing->yend = (float) yend; @@ -3365,7 +3365,7 @@ static int getlineheight(struct voice* v, double* height) (v->place->type == LEFT_TEXT) || (v->place->type == CENTRE_TEXT) || (v->place->type == VSKIP))) { if (v->place->type == LINENUM) { - lineno = (int)(v->place->item); + lineno = (long)(v->place->item); }; if (v->place->type == LEFT_TEXT) { *height = *height + textfont.pointsize + textfont.space; @@ -3374,7 +3374,7 @@ static int getlineheight(struct voice* v, double* height) *height = *height + textfont.pointsize + textfont.space; }; if (v->place->type == VSKIP) { - *height = *height + (double)((int)v->place->item); + *height = *height + (double)((long)v->place->item); }; v->place = v->place->next; }; diff --git a/yapstree.c b/yapstree.c index 8cdbfb0..01252b9 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.77 June 04 2020 yaps" +#define VERSION "1.78 July 14 2020 yaps" #include #ifdef USE_INDEX #define strchr index