2020.07.14

This commit is contained in:
Seymour Shlien
2020-07-14 15:15:16 -04:00
parent 494e063cf2
commit 0e68274e42
5 changed files with 45 additions and 37 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -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;
};

View File

@@ -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 <stdio.h>
#ifdef USE_INDEX
#define strchr index