mirror of
https://github.com/sshlien/abcmidi.git
synced 2026-04-17 15:23:41 +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.
|
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
|
midi2abc version 3.46 June 22 2020
|
||||||
abc2midi version 4.42 October 01 2020
|
abc2midi version 4.42 October 01 2020
|
||||||
abc2abc version 2.10 October 10 2020
|
abc2abc version 2.10 October 01 2020
|
||||||
yaps version 1.79 October 01 2020
|
yaps version 1.80 October 07 2020
|
||||||
abcmatch version 1.74 October 01 2020
|
abcmatch version 1.74 October 01 2020
|
||||||
midicopy version 1.36 June 04 2019
|
midicopy version 1.36 June 04 2019
|
||||||
|
|
||||||
|
|||||||
@@ -591,6 +591,11 @@ void event_linebreak()
|
|||||||
addfeature(LINENUM, lineno, 0, 0);
|
addfeature(LINENUM, lineno, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* a score linebreak character has been encountered */
|
||||||
|
void event_score_linebreak(char ch)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void event_startmusicline()
|
void event_startmusicline()
|
||||||
/* starting to parse line of abc music */
|
/* starting to parse line of abc music */
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2608,6 +2608,10 @@ parsemusic (field)
|
|||||||
decorators_passback[i] = 0; /* [SS] 2012-03-30 */
|
decorators_passback[i] = 0; /* [SS] 2012-03-30 */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case '$':
|
||||||
|
p = p + 1;
|
||||||
|
event_score_linebreak ('$'); /* [JA] 2020-10-07 */
|
||||||
|
break;
|
||||||
/* hidden rest */
|
/* hidden rest */
|
||||||
case 'x':
|
case 'x':
|
||||||
{
|
{
|
||||||
@@ -2841,8 +2845,6 @@ parsemusic (field)
|
|||||||
{
|
{
|
||||||
event_reserved (*p);
|
event_reserved (*p);
|
||||||
}
|
}
|
||||||
else if (fileprogram == ABC2MIDI && *p == '$') ; /* ignore [SS] 2019-12-9 */
|
|
||||||
/* $ sometimes used as a score linebreak character */
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprintf (msg, "Unrecognized character: %c", *p);
|
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_text(char *s);
|
||||||
extern void event_reserved(char p);
|
extern void event_reserved(char p);
|
||||||
extern void event_tex(char *s);
|
extern void event_tex(char *s);
|
||||||
|
extern void event_score_linebreak(char ch);
|
||||||
extern void event_linebreak(void);
|
extern void event_linebreak(void);
|
||||||
extern void event_startmusicline(void);
|
extern void event_startmusicline(void);
|
||||||
extern void event_endmusicline(char endchar);
|
extern void event_endmusicline(char endchar);
|
||||||
@@ -152,6 +153,7 @@ extern void event_init();
|
|||||||
extern void event_text();
|
extern void event_text();
|
||||||
extern void event_reserved();
|
extern void event_reserved();
|
||||||
extern void event_tex();
|
extern void event_tex();
|
||||||
|
extern void event_score_linebreak();
|
||||||
extern void event_linebreak();
|
extern void event_linebreak();
|
||||||
extern void event_startmusicline();
|
extern void event_startmusicline();
|
||||||
extern void event_endmusicline();
|
extern void event_endmusicline();
|
||||||
|
|||||||
7
store.c
7
store.c
@@ -1787,6 +1787,11 @@ void event_linebreak()
|
|||||||
addfeature(LINENUM, lineno, 0, 0);
|
addfeature(LINENUM, lineno, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* a score linebreak character has been encountered */
|
||||||
|
void event_score_linebreak(char ch)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void event_startmusicline()
|
void event_startmusicline()
|
||||||
/* starting to parse line of abc music */
|
/* starting to parse line of abc music */
|
||||||
{
|
{
|
||||||
@@ -1903,7 +1908,7 @@ double x, h3;
|
|||||||
int n;
|
int n;
|
||||||
float w;
|
float w;
|
||||||
/* h3 (1901.955) is the 3rd harmonic (fifth+octave) represented in cents */
|
/* 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 */
|
x = h3 - octave_size; /* fifth reduced by the tempered octave */
|
||||||
n = (int) (0.5 + x * ndiv / octave_size); /* fifth in integer steps */
|
n = (int) (0.5 + x * ndiv / octave_size); /* fifth in integer steps */
|
||||||
w = n * octave_size / ndiv; /* fifth quantized according to temperament */
|
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()
|
void event_startmusicline()
|
||||||
/* encountered the start of a line of notes */
|
/* 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. */
|
/* yapstree.c - back-end for abc parser. */
|
||||||
/* generates a data structure suitable for typeset music */
|
/* 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>
|
#include <stdio.h>
|
||||||
#ifdef USE_INDEX
|
#ifdef USE_INDEX
|
||||||
#define strchr 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)
|
void event_endmusicline(endchar)
|
||||||
char endchar;
|
char endchar;
|
||||||
/* We are at the end of a line of abc notes */
|
/* We are at the end of a line of abc notes */
|
||||||
|
|||||||
Reference in New Issue
Block a user