diff options
Diffstat (limited to 'Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c')
-rw-r--r-- | Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c index 0350d71f41c..1f9b915a7e4 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c +++ b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c @@ -2,7 +2,7 @@ * Gregorio is a program that translates gabc files to GregorioTeX * This file contains functions for writing GregorioTeX from Gregorio structures. * - * Copyright (C) 2008-2018 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2008-2019 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -136,6 +136,7 @@ SHAPE(QuilismaPes); SHAPE(QuilismaPesQuadratum); SHAPE(QuilismaPesQuadratumLongqueue); SHAPE(QuilismaPesQuadratumOpenqueue); +SHAPE(StansPunctumInclinatum); SHAPE(Salicus); SHAPE(SalicusFlexus); SHAPE(SalicusLongqueue); @@ -599,6 +600,9 @@ static const char *determine_note_glyph_name(const gregorio_note *const note, case S_PUNCTUM_INCLINATUM_ASCENDENS: *type = AT_PUNCTUM_INCLINATUM; return SHAPE_AscendensPunctumInclinatum; + case S_PUNCTUM_INCLINATUM_STANS: + *type = AT_PUNCTUM_INCLINATUM; + return SHAPE_StansPunctumInclinatum; case S_PUNCTUM_INCLINATUM_DESCENDENS: *type = AT_PUNCTUM_INCLINATUM; return SHAPE_DescendensPunctumInclinatum; @@ -1683,6 +1687,12 @@ static void write_bar(FILE *f, const gregorio_score *const score, case B_DIVISIO_MAIOR_DOTTED: fprintf(f, "DivisioMaiorDotted"); break; + case B_DIVISIO_MINIMIS: + fprintf(f, "DivisioMinimis"); + break; + case B_DIVISIO_MINIMIS_HIGH: + fprintf(f, "DivisioMinimisHigh"); + break; default: /* not reachable unless there's a programming error */ /* LCOV_EXCL_START */ @@ -1708,9 +1718,17 @@ static void write_bar(FILE *f, const gregorio_score *const score, break; } switch (type) { + case B_DIVISIO_MINIMIS_HIGH: + ++ far_pitch_adjustment; + /* fall through */ + case B_VIRGULA_HIGH: case B_DIVISIO_MINIMA_HIGH: - far_pitch_adjustment = 2; + ++ far_pitch_adjustment; + /* fall through */ + + case B_DIVISIO_MINIMIS: + ++ far_pitch_adjustment; /* fall through */ case B_VIRGULA: @@ -1967,6 +1985,7 @@ static void write_punctum_mora(FILE *f, const gregorio_glyph *glyph, } switch (current_note->u.note.shape) { case S_PUNCTUM_INCLINATUM_ASCENDENS: + case S_PUNCTUM_INCLINATUM_STANS: case S_PUNCTUM_INCLINATUM_DESCENDENS: case S_PUNCTUM_INCLINATUM_DEMINUTUS: punctum_inclinatum = 1; @@ -2057,7 +2076,7 @@ static __inline int get_punctum_inclinatum_space_case( switch (note->u.note.shape) { case S_PUNCTUM_INCLINATUM_ASCENDENS: if (note->previous) { - /* means that it is the first note of the puncta inclinata + /* means that it is not the first note of the puncta inclinata * sequence */ temp = note->previous->u.note.pitch - note->u.note.pitch; /* negative values = ascending ambitus */ @@ -2079,9 +2098,16 @@ static __inline int get_punctum_inclinatum_space_case( } } break; + case S_PUNCTUM_INCLINATUM_STANS: + if (note->previous) { + /* means that it is not the first note of the puncta inclinata + * sequence */ + return 26; + } + break; case S_PUNCTUM_INCLINATUM_DESCENDENS: if (note->previous) { - /* means that it is the first note of the puncta inclinata + /* means that it is not the first note of the puncta inclinata * sequence */ temp = note->previous->u.note.pitch - note->u.note.pitch; /* negative values = ascending ambitus */ @@ -2105,7 +2131,7 @@ static __inline int get_punctum_inclinatum_space_case( break; case S_PUNCTUM_INCLINATUM_DEMINUTUS: if (note->previous) { - /* means that it is the first note of the puncta inclinata + /* means that it is not the first note of the puncta inclinata * sequence */ temp = note->previous->u.note.pitch - note->u.note.pitch; if (temp < -2) { @@ -2588,6 +2614,8 @@ static int gregoriotex_syllable_first_type(gregorio_syllable *syllable) case B_VIRGULA_HIGH: result = 10; break; + case B_DIVISIO_MINIMIS: + case B_DIVISIO_MINIMIS_HIGH: case B_DIVISIO_MINIMA: case B_DIVISIO_MINIMA_HIGH: result = 11; |