mirror of
https://github.com/sshlien/abcmidi.git
synced 2026-04-19 08:13:42 +00:00
2020.10.07
This commit is contained in:
@@ -13904,4 +13904,8 @@ structure gets corrupted during the switch. Event_voice was modified
|
||||
so that any remaining data in voice 1 is released before the switch.
|
||||
|
||||
|
||||
October 7 2020
|
||||
James Allwright has introduced event_score_linebreak in parseabc.c,
|
||||
yapstree.c, etc. which replaces the change made on December 09 2019.
|
||||
Except for yapstree.c, event_score_linebreak does nothing.
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ abcMIDI : abc <-> MIDI conversion utilities
|
||||
|
||||
midi2abc version 3.46 June 22 2020
|
||||
abc2midi version 4.42 October 01 2020
|
||||
abc2abc version 2.10 October 10 2020
|
||||
yaps version 1.79 October 01 2020
|
||||
abc2abc version 2.10 October 01 2020
|
||||
yaps version 1.80 October 07 2020
|
||||
abcmatch version 1.74 October 01 2020
|
||||
midicopy version 1.36 June 04 2019
|
||||
|
||||
|
||||
@@ -591,6 +591,11 @@ void event_linebreak()
|
||||
addfeature(LINENUM, lineno, 0, 0);
|
||||
}
|
||||
|
||||
/* a score linebreak character has been encountered */
|
||||
void event_score_linebreak(char ch)
|
||||
{
|
||||
}
|
||||
|
||||
void event_startmusicline()
|
||||
/* starting to parse line of abc music */
|
||||
{
|
||||
|
||||
@@ -2608,6 +2608,10 @@ parsemusic (field)
|
||||
decorators_passback[i] = 0; /* [SS] 2012-03-30 */
|
||||
}
|
||||
break;
|
||||
case '$':
|
||||
p = p + 1;
|
||||
event_score_linebreak ('$'); /* [JA] 2020-10-07 */
|
||||
break;
|
||||
/* hidden rest */
|
||||
case 'x':
|
||||
{
|
||||
@@ -2841,8 +2845,6 @@ parsemusic (field)
|
||||
{
|
||||
event_reserved (*p);
|
||||
}
|
||||
else if (fileprogram == ABC2MIDI && *p == '$') ; /* ignore [SS] 2019-12-9 */
|
||||
/* $ sometimes used as a score linebreak character */
|
||||
else
|
||||
{
|
||||
sprintf (msg, "Unrecognized character: %c", *p);
|
||||
|
||||
@@ -83,6 +83,7 @@ extern void event_init(int argc, char *argv[], char **filename);
|
||||
extern void event_text(char *s);
|
||||
extern void event_reserved(char p);
|
||||
extern void event_tex(char *s);
|
||||
extern void event_score_linebreak(char ch);
|
||||
extern void event_linebreak(void);
|
||||
extern void event_startmusicline(void);
|
||||
extern void event_endmusicline(char endchar);
|
||||
@@ -152,6 +153,7 @@ extern void event_init();
|
||||
extern void event_text();
|
||||
extern void event_reserved();
|
||||
extern void event_tex();
|
||||
extern void event_score_linebreak();
|
||||
extern void event_linebreak();
|
||||
extern void event_startmusicline();
|
||||
extern void event_endmusicline();
|
||||
|
||||
7
store.c
7
store.c
@@ -1787,6 +1787,11 @@ void event_linebreak()
|
||||
addfeature(LINENUM, lineno, 0, 0);
|
||||
}
|
||||
|
||||
/* a score linebreak character has been encountered */
|
||||
void event_score_linebreak(char ch)
|
||||
{
|
||||
}
|
||||
|
||||
void event_startmusicline()
|
||||
/* starting to parse line of abc music */
|
||||
{
|
||||
@@ -1903,7 +1908,7 @@ double x, h3;
|
||||
int n;
|
||||
float w;
|
||||
/* h3 (1901.955) is the 3rd harmonic (fifth+octave) represented in cents */
|
||||
h3 = 1200.0 * log2 (3.0);
|
||||
h3 = 1200.0 * log (3.0)/log(2.0); /* 1200 * log2(3.0) */
|
||||
x = h3 - octave_size; /* fifth reduced by the tempered octave */
|
||||
n = (int) (0.5 + x * ndiv / octave_size); /* fifth in integer steps */
|
||||
w = n * octave_size / ndiv; /* fifth quantized according to temperament */
|
||||
|
||||
6
toabc.c
6
toabc.c
@@ -835,6 +835,12 @@ void event_linebreak()
|
||||
};
|
||||
}
|
||||
|
||||
/* a score linebreak character has been encountered */
|
||||
void event_score_linebreak(char ch)
|
||||
{
|
||||
emit_char(ch);
|
||||
}
|
||||
|
||||
void event_startmusicline()
|
||||
/* encountered the start of a line of notes */
|
||||
{
|
||||
|
||||
17
yapstree.c
17
yapstree.c
@@ -22,7 +22,7 @@
|
||||
/* yapstree.c - back-end for abc parser. */
|
||||
/* generates a data structure suitable for typeset music */
|
||||
|
||||
#define VERSION "1.79 October 01 2020 yaps"
|
||||
#define VERSION "1.80 October 07 2020 yaps"
|
||||
#include <stdio.h>
|
||||
#ifdef USE_INDEX
|
||||
#define strchr index
|
||||
@@ -1413,6 +1413,21 @@ static void divide_ties()
|
||||
};
|
||||
}
|
||||
|
||||
/* A score_linebreak has been encountered [JA] 2020-10-07*/
|
||||
void event_score_linebreak (char ch)
|
||||
{
|
||||
|
||||
if (xinbody) {
|
||||
/* end current score line - code from endmusicline */
|
||||
cv->lineend = addfeature (MUSICSTOP, (void *)NULL);
|
||||
addfeature (PRINTLINE, newvertspacing ());
|
||||
cv->line = newline;
|
||||
divide_ties ();
|
||||
/* start new score line - startmusicline */
|
||||
event_startmusicline ();
|
||||
}
|
||||
}
|
||||
|
||||
void event_endmusicline(endchar)
|
||||
char endchar;
|
||||
/* We are at the end of a line of abc notes */
|
||||
|
||||
Reference in New Issue
Block a user