2020.10.19

This commit is contained in:
Seymour Shlien
2020-10-20 11:52:56 -04:00
parent a1f745bb30
commit 5a81dc34fe
29 changed files with 2355 additions and 664 deletions

20
store.c
View File

@@ -185,7 +185,7 @@ int main()
*/
#define VERSION "4.43 Ocober 12 2020 abc2midi"
#define VERSION "4.44 Ocober 19 2020 abc2midi"
/* enables reading V: indication in header */
#define XTEN1 1
@@ -2972,6 +2972,10 @@ struct voice_params *vp;
addfeature(VOICE, v->indexno, 0, 0);
dependent_voice[v->indexno] = 0;
if (vp->gotclef)
{
event_octave(vp->new_clef.octave_offset, 1);
}
if (vp->gotoctave) {
event_octave(vp->octave,1);
};
@@ -4262,9 +4266,10 @@ int num, denom;
};
}
void event_note(decorators, accidental, mult, note, xoctave, n, m)
void event_note(decorators, clef, accidental, mult, note, xoctave, n, m)
/* handles a note in the abc */
int decorators[DECSIZE];
cleftype_t *clef; /* [JA] 2020-10-19 */
int mult;
char accidental, note;
int xoctave, n, m;
@@ -5842,19 +5847,20 @@ static void headerprocess()
voicesused = 0;
}
void event_key(sharps, s, modeindex, modmap, modmul, modmicrotone, gotkey, gotclef, clefname,
void event_key(sharps, s, modeindex, modmap, modmul, modmicrotone, gotkey, gotclef, clefname, clef,
octave, transpose, gotoctave, gottranspose, explict)
/* handles a K: field */
int sharps; /* sharps is number of sharps in key signature */
int modeindex; /* 0 major, 1,2,3 minor, 4 locrian, etc. */
char *s; /* original string following K: */
int modeindex; /* 0 major, 1,2,3 minor, 4 locrian, etc. */
char modmap[7]; /* array of accidentals to be applied */
int modmul[7]; /* array giving multiplicity of each accent (1 or 2) */
struct fraction modmicrotone[7]; /* [SS] 2014-01-06 */
int gotkey, gotclef;
char* clefname;
cleftype_t *clef; /* [JA] 2020-10-19 */
int octave, transpose, gotoctave, gottranspose;
int explict;
char* clefname;
{
int minor;
minor =0;
@@ -5883,6 +5889,10 @@ char* clefname;
v = getvoicecontext(1);
if (!inbody) v1index = notes; /* save position in case of split voice */
};
if (gotclef)
{
event_octave(clef->octave_offset, 0);
}
if (gotoctave) {
event_octave(octave,0);
};