mirror of
https://github.com/sshlien/abcmidi.git
synced 2026-04-15 14:23:41 +00:00
2020.07.14
This commit is contained in:
44
README.md
44
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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
26
drawtune.c
26
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;
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user