From c5f4a0324c78423d91ccc2dd44823f692256d600 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Tue, 26 Jan 1999 13:10:43 +0100 Subject: [PATCH] release: 1.1.25 --- Documentation/tex/lilypond-overview.doc | 2 +- Documentation/tex/refman.yo | 20 +- NEWS | 38 +- TODO | 16 + VERSION | 4 +- input/praeludium-fuga-E.ly | 2 +- input/test/GNUmakefile | 2 +- input/test/grace.ly | 3 - input/test/harmonics.fly | 8 + input/test/tchaikovsky.ly | 43 ++ lily/heads-engraver.cc | 3 + lily/include/lookup.hh | 3 + lily/include/musical-request.hh | 3 +- lily/include/note-head.hh | 2 + lily/lookup.cc | 9 + lily/lookup.cc.orig | 541 ------------------------ lily/musical-request.cc | 11 + lily/note-head.cc | 16 +- ly/dynamic.ly | 32 +- make/out/lelievijver.lsm | 8 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- mf/feta-bolletjes.mf | 22 +- mutopia/D.Scarlatti/sonata-k3-l378.ly | 4 +- mutopia/L.Mozart/sinfonia.ly | 260 ++++++------ 25 files changed, 336 insertions(+), 728 deletions(-) create mode 100644 input/test/harmonics.fly create mode 100644 input/test/tchaikovsky.ly delete mode 100644 lily/lookup.cc.orig diff --git a/Documentation/tex/lilypond-overview.doc b/Documentation/tex/lilypond-overview.doc index 0ab7fdfe17..885faa6727 100644 --- a/Documentation/tex/lilypond-overview.doc +++ b/Documentation/tex/lilypond-overview.doc @@ -512,7 +512,7 @@ to be shifted horizontally. An example of this is given in Figure~\ref{fig:coll \begin{figure}[h] \begin{center} \begin{mudela} - + c4 \end{mudela} \caption{Collisions} \label{fig:collision} diff --git a/Documentation/tex/refman.yo b/Documentation/tex/refman.yo index 67be77b94d..97255bab01 100644 --- a/Documentation/tex/refman.yo +++ b/Documentation/tex/refman.yo @@ -553,8 +553,10 @@ mudela()( Dynamic marks are specified by using an identifier after a note without a dash: code(c4 \ff). Note that this syntax is inconsistent with the syntax for other types of ornaments. The available dynamic -marks are: code(\ppp), code(\pp), code(\p), code(\mp), code(\mf), -code(\f), code(\ff), code(\fff), code(\fp), code(sf), and code(\sfz). +marks are: code(\pppppp), code(\ppppp), code (\pppp), code(\ppp), code(\pp), +code(\p), code(\mp), code(\mf), code(\f), code(\ff), code(\fff), +code(\ffff), code(\fffff), code(\ffffff), +code(\fp), code(sf), code(\sff), code(\sp), code(\spp), (\sfz) and code (\rfz). A crescendo mark is started with code(\cr) and terminated with code(\rc). A decrescendo mark is started with code(\decr) and @@ -1449,6 +1451,9 @@ equal to -1. dit(code(\f)) Print forte symbol on the preceeding note. dit(code(\ff)) Print fortissimo symbol on the preceeding note. dit(code(\fff)) Print fortississimo symbol on preceeding note. +dit(code(\ffff)) Print fortissississimo symbol on preceeding note. +dit(code(\fffff)) Print fffff symbol on preceeding note. +dit(code(\ffffff)) Print ffffff symbol on preceeding note. dit(code(\fp)) Print fortepiano symbol on preceeding note. dit(code(\free)) Used for setting direction setting properties. Is equal to 0. @@ -1474,11 +1479,16 @@ has the same key signature. This sets the Staff.keyoctaviation property. dit(code(\p)) Print a piano symbol on preceeding note. dit(code(\pp)) Print pianissimo symbol on preceeding note. dit(code(\ppp)) Print pianississimo symbol on preceeding note. +dit(code(\pppp)) Print pianissississimo symbol on preceeding note. +dit(code(\ppppp)) Print ppppp symbol on preceeding note. +dir(code(\pppppp)) Print pppppp symbol on preceeding note. dit(code(\rc)) Terminate a crescendo. dit(code(\rced)) Terminate a decrescendo +dit(code(\rfz)) Print a rinforzato symbol on preceeding note. dit(code(\right)) Used for setting textalignment property. Is set to 1. -dit(code(\sf)) Print a ?? symbol on preceeding note. -dit(code(\sfz)) Print a ?? symbol on preceeding note. +dit(code(\sf)) Print a subito-forte symbol on preceeding note. +dit(code(\sff)) Print a subito-fortissimo symbol on preceeding note. +dit(code(\sfz)) Print a sforzato symbol on preceeding note. dit(code(\shiftoff)) Disable horizontal shifting of note heads that collide. Sets the Voice.hshift property. dit(code(\shifton)) Enable note heads that collide with other note heads @@ -1489,6 +1499,8 @@ dit(code(\slurdown)) Force slurs to be below notes. This sets the Voice.slurydirection property. dit(code(\slurup)) Force slurs to be above notes. This sets the Voice.slurydirection property. +dit(code(\sp)) Print a subito-piano symbol on preceeding note. +dit(code(\spp)) Print a subito-forte symbol on preceeding note. dit(code(\specialkey)) Allow keys signatures do differ in different octaves. This sets the Staff.keyoctaviation property. dit(code(\stemboth)) Allow stems, beams, and slurs to point either diff --git a/NEWS b/NEWS index 156cc698fb..d182cc1488 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,17 @@ ---- ../lilypond-1.1.24.jcn1/NEWS Mon Jan 25 17:34:49 1999 -++ b/NEWS Mon Jan 25 23:43:11 1999 -@@ -1,3 +1,14 @@ + +pl 23.ms2 + - property noteheadStyle + - first attempt to make harmonics : see input/test/harmonics.fly + +pl 23.ms1 + - sinfonia.ly: several fixes + - dynamics + * increased range pppppp to ffffff + * added sp, spp, sff, rfz + * example see input/test/tchaikovsky.ly + * updated dynamics in refman + + pl 24.jcn2 - website fixes - bf's: chords: @@ -13,22 +24,23 @@ pl 24.jcn2 - bf's: autobeamer pl 24.jcn1 - - bf: rest collisions - - separate tfm-reader--- ../lilypond-1.1.24/NEWS Mon Jan 25 22:38:25 1999 -++ b/NEWS Mon Jan 25 22:36:28 1999 -@@ -1,3 +1,6 @@ -pl 24.mb1 - - bf: Correct units now used in the .afm files. - - pl 24, Hacking Apart Together (Jan 25) - - pl 23.jbr1pl 24.jcn1 - bf: rest collisions - separate tfm-reader - bf: :|: should not have thin lines + +pl 24.mb1 + - bf: Correct units now used in the .afm files. + +****** + pl 24, Hacking Apart Together (Jan 25) +pl 23.jcn9 + - bf's: preludes-* (found a \meter and \transpose c`` there!) + - bf: ly2dvi: don't barf on 'linewidth = -1.;' + - bf: lily-version + pl 23.jbr1 - scripts/ly2dvi.py: Windows 95 shell does not support redivrection of stderr. We now distribute ash and use it when needed. diff --git a/TODO b/TODO index b7ed39218c..6fa02b569f 100644 --- a/TODO +++ b/TODO @@ -19,6 +19,15 @@ I also found a few bugs: be to the left of the staff lines. ************** +- Textual scripts and dynamics are printed in the middle of the staff. + + * fix AFM for BlueSky AFM files. + +- I didn't find any working example of the Staff_margin-engraver in + input/test, and I couldn't invent one myself either. + bar-scripts.ly, score-bar-scripts.ly and hara-kiri.ly don't work + properly. + * check widths of TFM, something's wrong here. * hang Item on Spanner @@ -29,6 +38,8 @@ I also found a few bugs: * do --safe for PS output? + * convert-mudela --output + * staff_margin (with a partial measure.) * fix "I've been drinking too much" @@ -67,9 +78,14 @@ I also found a few bugs: BUGS: + * collisions/voices \voiceone \voicetwo are broken; see + input/praeludium-fuga-E.ly + mutopia/J.S.Bach/wtk1-fugue2.ly + * fix: text on rests: rediculous dims * ly2dvi + - bottomnote for ly2dvi - deps for ly2dvi * fix midi output: diff --git a/VERSION b/VERSION index c35a2b5a0e..29658f68d2 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=24 -MY_PATCH_LEVEL=jcn2 +PATCH_LEVEL=25 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly index 93495cf179..3c7cd3a03f 100644 --- a/input/praeludium-fuga-E.ly +++ b/input/praeludium-fuga-E.ly @@ -177,7 +177,7 @@ breakmusic = \notes { % these should be two separate scores... \score{ \type Score < - \type GrandStaff < + \type PianoStaff < \type Staff = treble { \praeludium_right \breakmusic \fugaII_right } \type Staff = bass { diff --git a/input/test/GNUmakefile b/input/test/GNUmakefile index 8b6e80e716..193b5b94fc 100644 --- a/input/test/GNUmakefile +++ b/input/test/GNUmakefile @@ -1,7 +1,7 @@ # input/test/Makefile depth = ../.. -examples=font20 mark knee beam-interstaff slur-interstaff denneboom sleur chords chord-table repeat hara-kiri grace +examples=font20 mark knee beam-interstaff slur-interstaff denneboom sleur repeat hara-kiri grace LOCALSTEPMAKE_TEMPLATES=mutopia include $(depth)/make/stepmake.make diff --git a/input/test/grace.ly b/input/test/grace.ly index 315df05808..af7f830ba4 100644 --- a/input/test/grace.ly +++ b/input/test/grace.ly @@ -18,9 +18,6 @@ > \paper { linewidth = 120.0\mm; - -2 = \font "feta13" - -1 = \font "feta16" - } } diff --git a/input/test/harmonics.fly b/input/test/harmonics.fly new file mode 100644 index 0000000000..59d8925dc9 --- /dev/null +++ b/input/test/harmonics.fly @@ -0,0 +1,8 @@ +% this should be normal notes: +c'1 | d2 d | e4 e + +% and this should be harmonics: +\property Voice.noteheadStyle = "harmonic" +e8 e e16 e e e32 e + + diff --git a/input/test/tchaikovsky.ly b/input/test/tchaikovsky.ly new file mode 100644 index 0000000000..78afbe96ed --- /dev/null +++ b/input/test/tchaikovsky.ly @@ -0,0 +1,43 @@ +\header{ +filename = "tchaikovsky.ly"; +title = "Extracts from 6th symphony"; +subtitle = "Ist movement"; +composer= "Pjotr Iljitsj Tchaikovsky"; +enteredby = "Maarten Storm"; +instrument= "Violoncello"; +} + +\version "1.0.14"; + +% this is an example of extreme dynamics + +% adagio mosso - 7 measures before Allegro vivo +\score{ + \notes + \relative c{ + \clef "bass"; + \key D; + | ~ r8 r4 | + a2\ppp\cr a2\rc\p\decr | ~ r8 r4 | + a2\pppp ~ a8 r8 r4 | a2\ppppp ~ a8 r8 r4 | r4 a8_"pizz" + r8 r2^\fermata + } + \header{ + piece="example 1"; + } +} + +% 8 measures before Andante come prima +\score{ + \notes + \relative c{ + \clef "bass"; + \key C; + | | + ~ ~ | + } + \header{ + piece="example 2"; + } +} + diff --git a/lily/heads-engraver.cc b/lily/heads-engraver.cc index c2d52cf139..4e894ba438 100644 --- a/lily/heads-engraver.cc +++ b/lily/heads-engraver.cc @@ -49,6 +49,9 @@ Note_heads_engraver::do_process_requests() note_p->steps_i_ = note_req_l->pitch_.steps (); // note_p->position_i_ = note_req_l->pitch_.steps (); + String noteheadstyle = get_property ("noteheadStyle", 0); + if (noteheadstyle.length_i ()) + note_p->note_head_type_str_ = noteheadstyle; Score_element_info itinf (note_p,note_req_l); announce_element (itinf); diff --git a/lily/include/lookup.hh b/lily/include/lookup.hh index 78a0126786..955ce1e87d 100644 --- a/lily/include/lookup.hh +++ b/lily/include/lookup.hh @@ -24,7 +24,10 @@ class Lookup public: Lookup (); Lookup (Lookup const&); + + + Atom special_ball (int, String) const; Atom simple_bar (String s, Real w) const; Molecule accidental (int, bool cautionary) const; Atom afm_find (String, bool warn=true) const; diff --git a/lily/include/musical-request.hh b/lily/include/musical-request.hh index f42a50cfa0..cdc293a5f6 100644 --- a/lily/include/musical-request.hh +++ b/lily/include/musical-request.hh @@ -170,8 +170,7 @@ public: for FP, SF, SFZ (FP is *not* louder than FFF) */ enum Loudness { - FFF, FF, F, MF, MP, P, PP, PPP, FP, SF, SFZ - }; + FFFFFF, FFFFF, FFFF, FFF, FF, F, MF, MP, P, PP, PPP, PPPP, PPPPP, PPPPPP, FP, SF, SFF, SFZ, SP, SPP, RFZ }; static String loudness_static_str (Loudness); REQUESTMETHODS(Dynamic_req); }; diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 1cc0bad9b8..853fee3581 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -18,6 +18,8 @@ class Note_head : public Rhythmic_head { public: + String note_head_type_str_; + /// position of top line (5 linestaff: 8) int position_i_; diff --git a/lily/lookup.cc b/lily/lookup.cc index 53375b93ec..7cc0d6b8a0 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -546,3 +546,12 @@ Lookup::volta (Real w, bool last_b) const return a; } + +Atom +Lookup::special_ball (int j, String kind_of_ball) const +{ + if (j > 2) + j = 2; + + return afm_find (String ("balls") + String ("-") + kind_of_ball); +} diff --git a/lily/lookup.cc.orig b/lily/lookup.cc.orig deleted file mode 100644 index da8272b549..0000000000 --- a/lily/lookup.cc.orig +++ /dev/null @@ -1,541 +0,0 @@ -/* - lookup.cc -- implement simple Lookup methods. - - source file of the GNU LilyPond music typesetter - - (c) 1997--1998 Han-Wen Nienhuys - - Jan Nieuwenhuizen - - TODO - Glissando -*/ - -#include -#include "lookup.hh" -#include "debug.hh" -#include "dimensions.hh" -#include "scalar.hh" -#include "paper-def.hh" -#include "string-convert.hh" -#include "file-path.hh" -#include "main.hh" -#include "lily-guile.hh" -#include "all-fonts.hh" -#include "afm.hh" -#include "scope.hh" -#include "molecule.hh" - -SCM -array_to_list (SCM *a , int l) -{ - SCM list = SCM_EOL; - for (int i= l; i--; ) - { - list = gh_cons (a[i], list); - } - return list; -} - - -Lookup::Lookup () -{ - paper_l_ = 0; - afm_l_ = 0; -} - -Lookup::Lookup (Lookup const& s) -{ - font_name_ = s.font_name_; - paper_l_ = 0; - afm_l_ = 0; -} - - - -Molecule -Lookup::accidental (int j, bool cautionary) const -{ - Molecule m(afm_find (String ("accidentals") + String ("-") + to_str (j))); - if (cautionary) - { - Atom open = afm_find (String ("accidentals") + String ("-(")); - Atom close = afm_find (String ("accidentals") + String ("-)")); - m.add_at_edge(X_AXIS, LEFT, Molecule(open), 0); - m.add_at_edge(X_AXIS, RIGHT, Molecule(close), 0); - } - return m; -} - - - -Atom -Lookup::afm_find (String s, bool warn) const -{ - if (!afm_l_) - ((Lookup*)this)->afm_l_ = all_fonts_global_p->find_afm (font_name_); - - Adobe_font_char_metric m = afm_l_->find_char (s, warn); - - Atom a; - if (m.code () < 0) - return a; - - a.dim_ = m.dimensions(); - - a.lambda_ = gh_list (ly_symbol ("char"), - gh_int2scm (m.code ()), - SCM_UNDEFINED); - a.font_ = font_name_; - return a; -} - -Atom -Lookup::ball (int j) const -{ - if (j > 2) - j = 2; - - return afm_find (String ("balls") + String ("-") + to_str (j)); -} - -Atom -Lookup::simple_bar (String type, Real h) const -{ - SCM thick = ly_symbol ("barthick_" + type); - Real w = 0.1 PT; - if (paper_l_->scope_p_->elem_b (thick)) - { - w = paper_l_->get_realvar (thick); - } - - Atom a; - a.lambda_ = gh_list (ly_symbol ("filledbox"), - gh_double2scm (0), - gh_double2scm (w), - gh_double2scm (h/2), - gh_double2scm (h/2), - SCM_UNDEFINED); - - a.dim_[X_AXIS] = Interval(0,w); - a.dim_[Y_AXIS] = Interval (-h/2, h/2); - return a; -} - - -Molecule -Lookup::bar (String str, Real h) const -{ - Real kern = paper_l_->get_var ("bar_kern"); - Real thinkern = paper_l_->get_var ("bar_thinkern"); - Atom thin = simple_bar ("thin", h); - Atom thick = simple_bar ("thick", h); - Atom colon = afm_find ("dots-repeatcolon"); - - Molecule m; - - if (str == "") - { - return fill (Box (Interval(0,0),Interval (-h/2, h/2))); - } - else if (str == "|") - { - return thin; - } - else if (str == "|.") - { - m.add_at_edge (X_AXIS, LEFT, thick, 0); - m.add_at_edge (X_AXIS, LEFT, thin,kern); - } - else if (str == ".|") - { - m.add_at_edge (X_AXIS, RIGHT, thick, kern); - m.add_at_edge (X_AXIS, RIGHT, thin, 0); - } - else if (str == ":|") - { - m.add_at_edge (X_AXIS, LEFT, thick, 0); - m.add_at_edge (X_AXIS, LEFT, thin, kern); - m.add_at_edge (X_AXIS, LEFT, colon, kern); - } - else if (str == "|:") - { - m.add_at_edge (X_AXIS, RIGHT, thick,0); - m.add_at_edge (X_AXIS, RIGHT, thin,kern); - m.add_at_edge (X_AXIS, RIGHT, colon,kern); - } - else if (str == ":|:") - { - m.add_at_edge (X_AXIS, LEFT, thick,kern/2); - m.add_at_edge (X_AXIS, LEFT, colon,kern); - m.add_at_edge (X_AXIS, RIGHT, thick,kern); - m.add_at_edge (X_AXIS, RIGHT, colon,kern); - } - else if (str == "||") - { - m.add_at_edge (X_AXIS, RIGHT, thin,0); - m.add_at_edge (X_AXIS, RIGHT, thin,thinkern); - } - - else if (str == ".|.") - { - m.add_at_edge (X_AXIS, RIGHT, thick, 0); - m.add_at_edge (X_AXIS, RIGHT, thick, kern); - } - - return m; -} - -Atom -Lookup::beam (Real slope, Real width, Real thick) const -{ - Real height = slope * width; - Real min_y = (0 ? height) + thick/2; - - Atom a; - a.lambda_ = gh_list (ly_symbol ("beam"), - gh_double2scm (width), - gh_double2scm (slope), - gh_double2scm (thick), - SCM_UNDEFINED); - - a.dim_[X_AXIS] = Interval (0, width); - a.dim_[Y_AXIS] = Interval (min_y, max_y); - return a; -} - -Atom -Lookup::clef (String st) const -{ - return afm_find (String ("clefs") + String ("-") + st); -} - -SCM -offset2scm (Offset o) -{ - return gh_list (gh_double2scm (o[X_AXIS]), gh_double2scm(o[Y_AXIS]), - SCM_UNDEFINED); -} - -Atom -Lookup::dashed_slur (Array controls, Real thick, Real dash) const -{ - assert (controls.size () == 8); - Offset d = controls[3] - controls[0]; - - Real dx = d[X_AXIS]; - Real dy = d[Y_AXIS]; - - Atom a; - a.font_ = font_name_; - a.dim_[X_AXIS] = Interval (0, dx); - a.dim_[Y_AXIS] = Interval (0 ? dy); - - SCM sc[4]; - for (int i=0; i< 4; i++) - { - sc[i] = offset2scm (controls[i]); - } - - a.lambda_ = - gh_list (ly_symbol ("dashed-slur"), - gh_double2scm (thick), - gh_double2scm (dash), - ly_quote_scm (array_to_list (sc, 4)), - SCM_UNDEFINED); - - return a; -} - -Atom -Lookup::dots () const -{ - return afm_find (String ("dots") + String ("-") + String ("dot")); -} - - -Atom -Lookup::extender (Real width) const -{ - Atom a; - a.lambda_ = gh_list (ly_symbol ("extender"), - gh_double2scm (width), - SCM_UNDEFINED); - - a.dim_[X_AXIS] = Interval (0, width); - a.dim_[Y_AXIS] = Interval (0,0); - - a.font_ = font_name_; - return a; -} - -Atom -Lookup::fill (Box b) const -{ - Atom a; - a.dim_ = b; - return a; -} - -Atom -Lookup::flag (int j, Direction d) const -{ - char c = (d == UP) ? 'u' : 'd'; - Atom a = afm_find (String ("flags") + String ("-") + to_str (c) + to_str (j)); - return a; -} - -Atom -Lookup::rest (int j, bool o) const -{ - return afm_find (String ("rests") - + String ("-") + to_str (j) + (o ? "o" : "")); -} - -Atom -Lookup::rule_symbol (Real height, Real width) const -{ - Atom a; - a.lambda_ = gh_list (ly_symbol ("rulesym"), - gh_double2scm (height), - gh_double2scm (width), - SCM_UNDEFINED); - a.dim_.x () = Interval (0, width); - a.dim_.y () = Interval (0, height); - return a; -} - -Atom -Lookup::script (String str) const -{ - return afm_find (String ("scripts") + String ("-") + str); -} - -Atom -Lookup::special_time_signature (String s, Array arr) const -{ - // First guess: s contains only the signature style - assert (arr.size () >1); - String symbolname = "timesig-" + s + to_str (arr[0]) + "/" + to_str (arr[1]); - - Atom a = afm_find (symbolname, false); - if (!a.empty ()) - return a; - - // Second guess: s contains the full signature name - a = afm_find ("timesig-"+s, false); - if (!a.empty ()) - return a; - - // Resort to default layout with numbers - return time_signature (arr); -} - -Atom -Lookup::stem (Real y1, Real y2) const -{ - if (y1 > y2) - { - Real t = y1; - y1 = y2; - y2 = t; - } - Atom a; - - a.dim_.x () = Interval (0,0); - a.dim_.y () = Interval (y1,y2); - - Real stem_width = paper_l_->get_var ("stemthickness"); - - a.lambda_ = gh_list (ly_symbol ("filledbox"), - gh_double2scm(stem_width /2), - gh_double2scm(stem_width/2), - gh_double2scm(y2), - gh_double2scm(-y1), - SCM_UNDEFINED); - - a.font_ = font_name_; - return a; -} - -Atom -Lookup::streepje (int type) const -{ - if (type > 2) - type = 2; - - return afm_find ("balls" + String ("-") +to_str (type) + "l"); -} - -static Dict_initialiser cmr_init[] = { - {"bold", "cmbx"}, - {"dynamic", "feta-din"}, - {"finger", "feta-nummer"}, - {"italic", "cmti"}, - {"roman", "cmr"}, - {"large", "cmbx"}, - {"Large", "cmbx"}, - {"mark", "feta-nummer"}, - {"nummer", "feta-nummer"}, - {0,0} -}; - -static Dictionary cmr_dict (cmr_init); - -Atom -Lookup::text (String style, String text) const -{ - Atom a; - a.lambda_ = gh_list(ly_symbol ("set" + style), - gh_str02scm (text.ch_C()), - SCM_UNDEFINED); - - Real font_h = paper_l_->get_var ("font_normal"); - if (paper_l_->scope_p_->elem_b ("font_" + style)) - { - font_h = paper_l_->get_var ("font_" + style); - } - - if (cmr_dict.elem_b (style)) - { - style = String (cmr_dict [style]) + to_str ((int)font_h); // ugh - } - Real w = 0; - Font_metric* afm_l = all_fonts_global_p->find_font (style); - DOUT << "\nChars: "; - - for (int i = 0; i < text.length_i (); i++) - { - if (text[i]=='\\') - for (i++; (i < text.length_i ()) && isalpha(text[i]); i++) - ; - else - { - Character_metric *c = afm_l->get_char (text[i],false); - w += c->dimensions()[X_AXIS].length (); - } - } - - DOUT << "\n" << to_str (w) << "\n"; - a.dim_.x () = Interval (0, w); - a.font_ = font_name_; - return a; -} - - -/* - TODO: should return a molecule with 2 stacked nums. - */ -Atom -Lookup::time_signature (Array a) const -{ - Atom s; - s.lambda_ = gh_list (ly_symbol ("generalmeter"), - gh_int2scm (a[0]), - gh_int2scm (a[1]), - SCM_UNDEFINED); - - Real r = paper_l_->interline_f () ; - s.dim_[Y_AXIS] = Interval (-2*r, 2*r); - s.dim_[X_AXIS] = Interval (0, 2*r); - return s; -} - -Atom -Lookup::vbrace (Real &y) const -{ - Atom a; - a.lambda_ = gh_list (ly_symbol ("pianobrace"), - gh_double2scm (y), - SCM_UNDEFINED - ); - a.dim_[Y_AXIS] = Interval (-y/2,y/2); - a.dim_[X_AXIS] = Interval (0,0); - a.font_ = font_name_; - return a; -} - -Atom -Lookup::hairpin (Real width, bool decresc, bool continued) const -{ - Atom a; - Real height = paper_l_->staffheight_f () / 6; - - String hairpin = String (decresc ? "de" : "") + "crescendo"; - a.lambda_ = gh_list (ly_symbol (hairpin), - gh_double2scm (width), - gh_double2scm (height), - gh_double2scm (continued ? height/2 : 0.0), - SCM_UNDEFINED); - a.dim_.x () = Interval (0, width); - a.dim_.y () = Interval (-2*height, 2*height); - a.font_ = font_name_; - return a; -} - -Atom -Lookup::plet (Real dy , Real dx, Direction dir) const -{ - Atom a; - a.lambda_ = gh_list(ly_symbol ("tuplet"), - gh_double2scm (dx), - gh_double2scm (dy), - gh_int2scm (dir), SCM_UNDEFINED); - return a; -} - - -Atom -Lookup::slur (Array controls) const -{ - assert (controls.size () == 8); - Real dx = controls[3].x () - controls[0].x (); - Real dy = controls[3].y () - controls[0].y (); - Atom a; - - SCM scontrols [8]; - int indices[] = {5,6,7,4,1,2,3,0}; - - for (int i= 0; i < 8; i++) - scontrols[i] = offset2scm (controls[indices[i]]); - - - a.lambda_ =gh_list (ly_symbol ("slur"), - ly_quote_scm (array_to_list (scontrols, 8)), - SCM_UNDEFINED); - - a.dim_[X_AXIS] = Interval (0, dx); - a.dim_[Y_AXIS] = Interval (0 ? dy); - a.font_ = font_name_; - return a; -} - -Atom -Lookup::vbracket (Real &y) const -{ - Atom a; - a.lambda_ = gh_list (ly_symbol ("bracket"), - gh_double2scm (y), - SCM_UNDEFINED); - a.dim_[Y_AXIS] = Interval (-y/2,y/2); - a.dim_[X_AXIS] = Interval (0,4 PT); - return a; -} - -Atom -Lookup::volta (Real w, bool last_b) const -{ - Atom a; - a.lambda_ = gh_list (ly_symbol ("volta"), - gh_double2scm (w), - gh_int2scm (last_b), - SCM_UNDEFINED); - - Real interline_f = paper_l_->interline_f (); - - a.dim_[Y_AXIS] = Interval (-interline_f, interline_f); - a.dim_[X_AXIS] = Interval (0, w); - return a; -} - diff --git a/lily/musical-request.cc b/lily/musical-request.cc index 540bc6b6a0..a359be8dfd 100644 --- a/lily/musical-request.cc +++ b/lily/musical-request.cc @@ -340,6 +340,9 @@ Dynamic_req::loudness_static_str (Loudness l) { switch (l) { + case FFFFFF: return "ffffff"; + case FFFFF : return "fffff"; + case FFFF: return "ffff"; case FFF: return "fff"; case FF: return "ff"; case F: return "f"; @@ -348,9 +351,17 @@ Dynamic_req::loudness_static_str (Loudness l) case P: return "p"; case PP: return "pp"; case PPP: return "ppp"; + case PPPP: return "pppp"; + case PPPPP: return "ppppp"; + case PPPPPP: return "pppppp"; + case FP: return "fp"; case SF: return "sf"; + case SFF: return "sff"; case SFZ: return "sfz"; + case SP: return "sp"; + case SPP: return "spp"; + case RFZ: return "rfz"; } return ""; } diff --git a/lily/note-head.cc b/lily/note-head.cc index 10cb7b1c25..f26cfc4c51 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -65,10 +65,24 @@ Note_head::do_brew_molecule_p() const ? 0 : (abs(position_i_) - staff_size_i_/2) /2; - Atom s = lookup_l()->ball (balltype_i_); + //Atom s = lookup_l()->ball (balltype_i_); + + Atom s; // = lookup_l()->ball (balltype_i_); + + if (note_head_type_str_.length_i ()) { + if (note_head_type_str_ == "normal") + note_head_type_str_ = ""; + s = lookup_l()->special_ball (balltype_i_, note_head_type_str_); + } + else + s = lookup_l()->ball (balltype_i_); out = new Molecule (Atom (s)); out->translate_axis (x_dir_ * s.dim_[X_AXIS].length (), X_AXIS); + + //out = new Molecule (Atom (s)); + //out->translate_axis (x_dir_ * s.dim_[X_AXIS].length (), X_AXIS); + if (streepjes_i) { int dir = sign (position_i_); diff --git a/ly/dynamic.ly b/ly/dynamic.ly index 737a4ffe77..68f02880db 100644 --- a/ly/dynamic.ly +++ b/ly/dynamic.ly @@ -2,18 +2,28 @@ % declare the standard dynamic identifiers. % -ppp = \absdynamic {7 } -pp = \absdynamic { 6 } -p = \absdynamic { 5 } -mp = \absdynamic { 4 } -mf = \absdynamic { 3 } -f = \absdynamic { 2 } % f is a notename too. -ff = \absdynamic { 1 } -fff = \absdynamic { 0 } +pppppp = \absdynamic { 13 } +ppppp = \absdynamic { 12 } +pppp = \absdynamic { 11 } +ppp = \absdynamic { 10 } +pp = \absdynamic { 9 } +p = \absdynamic { 8 } +mp = \absdynamic { 7 } +mf = \absdynamic { 6 } +f = \absdynamic { 5 } % f is a notename too. +ff = \absdynamic { 4 } +fff = \absdynamic { 3 } +ffff = \absdynamic { 2 } +fffff = \absdynamic { 1 } +ffffff = \absdynamic { 0 } -fp = \absdynamic { 8 } -sf = \absdynamic { 9 } -sfz = \absdynamic { 10 } +fp = \absdynamic { 14 } +sf = \absdynamic { 15 } +sff = \absdynamic { 16 } +sfz = \absdynamic { 17 } +sp = \absdynamic { 18 } +spp = \absdynamic { 19 } +rfz = \absdynamic { 20 } cr = \spandynamic { 1 1 } decr = \spandynamic { -1 1 } diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index 291318a82d..8e06c9d106 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,15 +1,15 @@ Begin3 Titel: LilyPond -Versie: 1.1.24 -Inschrijf datum: 25JAN99 +Versie: 1.1.25 +Inschrijf datum: 26JAN99 Beschrijving: @FLAPTEKST@ Trefwoorden: muziek typezetten midi notatie Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 770k lilypond-1.1.24.tar.gz + 770k lilypond-1.1.25.tar.gz Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.24.tar.gz + 770k lilypond-1.1.25.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index ad9601aeb7..4ae38d2c18 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.1.24 -Entered-date: 25JAN99 +Version: 1.1.25 +Entered-date: 26JAN99 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 770k lilypond-1.1.24.tar.gz + 770k lilypond-1.1.25.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.24.tar.gz + 770k lilypond-1.1.25.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 1ae0955c19..b954aca890 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.24 +Version: 1.1.25 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.24.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.25.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index 5ef657ad80..410e4375bf 100644 --- a/mf/feta-bolletjes.mf +++ b/mf/feta-bolletjes.mf @@ -241,8 +241,8 @@ fet_endchar; -if test = 0: -else: +%if test = 0: +%else: def draw_harmonic_notehead(expr harmwid) = save beamheight, head_width, head_char_width; save holeheight, stem_width; @@ -269,8 +269,8 @@ def draw_harmonic_notehead(expr harmwid) = % ht# = noteheight#; head_char_width = 1.54 noteheight; head_char_width# := 1.54 ht#; - schuif_op = head_char_width - head_width; %ugh - schuif_op# := head_char_width# - head_width#; + %schuif_op = head_char_width - head_width; %ugh + %schuif_op# := head_char_width# - head_width#; % set_char_box(0, head_char_width#, noteheight#/2, noteheight#/2); set_char_box(0, head_width#, head_width#/2, head_width#/2); % 2 beamheight + holeheight = noteheight; @@ -288,15 +288,15 @@ def draw_harmonic_notehead(expr harmwid) = penpos8(thick, 225); % 1.5 noteheight = head_width; - z1l = (schuif_op, 0); + z1l = (0, 0); z2l = z1l; -% z3l = (schuif_op + head_width/2,-head_width/2); - z3l = (schuif_op + head_width/2, -noteheight/2); +% z3l = (head_width/2,-head_width/2); + z3l = (head_width/2, -noteheight/2); z4l = z3l; - z5l = (schuif_op + head_width, 0); + z5l = (head_width, 0); z6l = z5l; -% z7l = (schuif_op + head_width/2, head_width/2); - z7l = (schuif_op + head_width/2, noteheight/2); +% z7l = (head_width/2, head_width/2); + z7l = (head_width/2, noteheight/2); z8l = z7l; pickup pencircle; %scaled stemthick; @@ -319,7 +319,7 @@ fet_endchar; fet_beginchar("Harmonic ledger", "harmonicl", "harmonicledger") draw_ledger(harmonic_wid#); fet_endchar; -fi +%fi fet_endgroup("balls"); diff --git a/mutopia/D.Scarlatti/sonata-k3-l378.ly b/mutopia/D.Scarlatti/sonata-k3-l378.ly index 8dec651b9c..47f49c89de 100644 --- a/mutopia/D.Scarlatti/sonata-k3-l378.ly +++ b/mutopia/D.Scarlatti/sonata-k3-l378.ly @@ -249,7 +249,5 @@ LHtoL = { \tolower \stemdown } > > - \paper{ - barsize=50.0; - } + } diff --git a/mutopia/L.Mozart/sinfonia.ly b/mutopia/L.Mozart/sinfonia.ly index 17bc4457e0..f7d2ed9589 100644 --- a/mutopia/L.Mozart/sinfonia.ly +++ b/mutopia/L.Mozart/sinfonia.ly @@ -1,31 +1,3 @@ - %{ -Dit is de fout: - -GNU LilyPond 1.1.19. -Parsing...[/home/lily/usr/share/lilypond/ly/init.ly[/home/lily/usr/share/lilypond/ly/declarations.ly[/home/lily/usr/share/lilypond/ly/dynamic.ly][/home/lily/usr/share/lilypond/ly/nederlands.ly][/home/lily/usr/share/lilypond/ly/chord-modifiers.ly][/home/lily/usr/share/lilypond/ly/script.ly][/home/lily/usr/share/lilypond/ly/paper20.ly[/home/lily/usr/share/lilypond/ly/table20.ly][/home/lily/usr/share/lilypond/ly/table13.ly][/home/lily/usr/share/lilypond/ly/table16.ly][/home/lily/usr/share/lilypond/ly/params.ly[/home/lily/usr/share/lilypond/ly/a4.ly][/home/lily/usr/share/lilypond/ly/paper.ly][/home/lily/usr/share/lilypond/ly/engraver.ly]]][/home/lily/usr/share/lilypond/ly/midi.ly[/home/lily/usr/share/lilypond/ly/performer.ly]][/home/lily/usr/share/lilypond/ly/property.ly][/home/lily/usr/share/lilypond/scm/lily.scm]][Sinfonia.ly]] -Interpreting music...[8][16][24][32][40] -Sinfonia.ly:239:24: warning: barcheck failed by: 1/4: - \times 2/3 {[e g fis] | - [e fis g]} | fis4 r | - -Sinfonia.ly:87:34: warning: barcheck failed by: 1/4: - \times 2/3 {[g'8 b a] [g fis e] | - [a d, cis] [d cis d] | - -Sinfonia.ly:240:25: warning: barcheck failed by: 1/4: - \times 2/3 {[e8 g fis] | - [e fis g]} | fis4 r | - -Sinfonia.ly:88:21: warning: barcheck failed by: 1/4: - [g, b a] [g fis e] | - [a d, cis] [d cis d]} | -[48][56][64][72][80][88][96][104][112][120][123] -time: 24.16 seconds -Preprocessing elements... lilypond: score-element.cc:134: class -Paper_def * Score_element::paper() const: Assertion `pscore_l_' failed. - -%} - \header{ filename="Sinfonia.ly"; title="Sinfonia"; @@ -34,6 +6,7 @@ composer="Leopold Mozart"; arranger="(1719-1787)"; copyright="public domain"; enteredby="Maarten Storm"; + } @@ -59,11 +32,11 @@ global = \notes{ s2*5 \break s2*5 \break s2*5 \break - s2*5 \break s2*5 \break s2*5 \break s2*4 \break s2*5 \bar ":|"; + %fine } @@ -74,17 +47,27 @@ tempi = \notes{ } dynamics = \notes{ -% \type Voice=i + \type Voice=i + s16\f s8. s4 | s2*17 + s8\p s4. | s8\f s4. | s2*4 + s8\p s4. | s8\f s4. | s2*29 + s8\p s4. | s2 | + s8\f s4. | s2 | s8\p s4. | s2 | s8\f s4. | s2*47 + s16 s16\p s4. | s2 | + s16 s16\f s4. | + s16 s16\p s4. | + s16 s16\f s4. | } violinoi = \notes \relative c'{ \type Voice=i \clef "violin"; - [ g'' g g] | [g16 a b a] [g a b a] | - [ g'' g g] | [g16 a b a] [g a b a] | + \stemup + [ g'' g g] \stemboth | [g16 a b a] [g a b a] | + \stemup [ g'' g g] \stemboth | [g16 a b a] [g a b a] | %5 - [ g'' g g] | [g16 d c b] [a g fis g] | + \stemup [ g'' g g] \stemboth | [g16 d c b] [a g fis g] | [e' fis g fis] [g e d c] | [b c d c] [d b a g] | [e' fis g fis] [g e d c] | [b c d c] [d b a g] | %11 @@ -92,69 +75,82 @@ violinoi = \notes \relative c'{ [a b c d] [e c b a] | [b c d c] [d b a g] | %15 [fis g a g] [fis e d c] | [b a g8] r4 | - [ g'' g g] | \times 2/3 {[g8 d c] [b a g] | - [g'8\p d c] [b a g] | + \stemup [ g'' g g] \stemboth | + \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} | + \times 2/3 {[g'8 d c]} \times 2/3 {[b a g]} | %20 - [f'\f d c] [b a g]} | - [ e' e e] | | - [ a'' a a] | - \times 2/3 {[a8 e d] [cis b a] | [a'\p e d] [cis b a] | + \times 2/3 {[f' d c]} \times 2/3 {[b a g]} | + \stemup [ e' e e] | | + [ a'' a a] \stemboth | + \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} | + \times 2/3 {[a' e d]} \times 2/3 {[cis b a]} | %26 - [g'\f e d] [cis b a]} | [ fis' fis fis] | - | \times 2/3 {[b'8 c d] [e fis g] | - [g fis g] [b, a g] | [a b cis] [d e fis] | + \times 2/3 {[g' e d] [cis b a]} | + \stemup [ fis' fis fis] \stemboth| + | \times 2/3 {[b'8 c d]} \times 2/3 {[e fis g]} | + \times 2/3 {[g fis g]} \times 2/3 {[b, a g]} | + \times 2/3 {[a b cis]} \times 2/3 {[d e fis]} | %32 - [fis e fis] [a, g fis] | [g a b] [cis d e] | - [e d e] [g, fis e]} + \times 2/3 {[fis e fis]} \times 2/3 {[a, g fis]} | + \times 2/3 {[g a b]} \times 2/3 {[cis d e]} | + \times 2/3 {[e d e]} \times 2/3 {[g, fis e]} | %35 [fis16 d e d] [e d e d] | [g d e d] [e d e d] | [a' d, e d] [e d e d] | [b' d, e d] [e d e d] | [cis' a b a] [b a b a] | [d a b a] [b a b a] | [e' a, b a] [a b a b] | [fis' a, b a] [a b a b] | %43 - \times 2/3 {[g'8 b a] [g fis e] | [a d, cis] [d cis d] | - [g, b a] [g fis e] | [a d, cis] [d cis d]} | + \times 2/3 {[g'8 b a]} \times 2/3 {[g fis e]} | + \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} | + \times 2/3 {[g, b a]} \times 2/3 {[g fis e]} | + \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} | %47 [b''16 g fis e] [a fis e d] | [g e d cis] [fis d cis b] | gis,2 | %50 a4 g'! | [fis16 fis e d] e4 | d d' | r8 r16 gis,16 a4 | r8 [fis g! a] | d,2 - [d'8\p e f a,] | [gis a] r4 | - \times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 | + [d'8 e f a,] | [gis a] r4 | + \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 | %60 - [c'8\p d e g,?] | [fis g] r4 | - \times 2/3 {[d8\f a' c] [b a b]} | [b a] r4 | + [c'8 d e g,?] | [fis g] r4 | + \times 2/3 {[d8 a' c]} \times 2/3 {[b a b]} | [b a] r4 | %64 : reprise - [ g'' g g] | [g16 a b a] [g a b a] | - [ g'' g g] | [g16 a b a] [g a b a] | - [ g'' g g] | [g16 d c b] [a g fis g] | + \stemup [ g'' g g] | \stemdown [g16 a b a] [g a b a] | + \stemup [ g'' g g] | \stemdown [g16 a b a] [g a b a] | + \stemup [ g'' g g] | \stemboth [g16 d c b] [a g fis g] | %70 [e' fis g fis] [g e d c] | [b c d c] [d b a g] | [fis g a g] [fis e d c] | [b a g8] r4 | - [ g'' g g] | \times 2/3 {[g8 d c] [b a g] | - [f\f d c] [b a g]} | [e' c] r4 | + \stemup [ g'' g g] \stemboth | + \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} | + \times 2/3 {[f d c]} \times 2/3 {[b a g]} | [e' c] r4 | %78 - [ a'' a a] | - \times 2/3 {[a8 e d] [cis b a] | - [g e d] [cis b a]} | [fis' d] r4 | - \times 2/3 {[e'8 fis g] [a b c] | [c b c] [e, d c] | - [d e fis] [g a b] | [b a b] [d, c b] | [c d e] [fis g a] | - [a g a] [c, b a]} | + \stemup [ a'' a a] \stemboth | + \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} | + \times 2/3 {[g e d]} \times 2/3 {[cis b a]} | [fis' d] r4 | + \times 2/3 {[e'8 fis g]} \times 2/3 {[a b c]} | + \times 2/3 {[c b c]} \times 2/3 {[e, d c]} | + \times 2/3 {[d e fis]} \times 2/3 {[g a b]} | + \times 2/3 {[b a b]} \times 2/3 {[d, c b]} | + \times 2/3 {[c d e]} \times 2/3 {[fis g a]} | + \times 2/3 {[a g a]} \times 2/3 {[c, b a]} | %88 [b16 g a g] [a g a g] | [c g a g] [a g a g] | [d' g, a g] [a g a g] | [e' g, a g] [a g a g] | [fis' d e d] [e d e d] | [g d e d] [e d e d] | [a' d, e d] [e d e d] | [b' d, e d] [e d e d] | %96 - \times 2/3 {[c'8 e, d] [c b a] | [d g, fis] [g fis g] | - [d c' c] [c b a] | [d g, fis] [g fis g]} | + \times 2/3 {[c'8 e, d]} \times 2/3 {[c b a]} | + \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} | + \stemup \times 2/3 {[d c' c]} \times 2/3 {[c b a]} \stemboth | + \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} | %100 [e'16 c b a] [d b a g] | [c a g fis] [b g fis e] | cis2 | d4 c'! | - [b16 b a g] a4 | g g' | + [b16 b a g] a4^\trill | g g' | %106 r8 r16 cis,, d4 | r8 [b c? d] | [g,16 g'' g g] g4:16 | [fis16 g a g] [fis e d c] | [b g' g g] g4:16 | - [fis16 g a g] [fis e d c] | [b g' g, a] a4 | - [b16 g' g, a] a4 | [b16 g' g, a] a4 | [g8 d] g,4 + [fis16 g a g] [fis e d c] | [b g' g, a] a4^\trill | + [b16 g' g, a] a4^\trill | [b16 g' g, a] a4^\trill | [g8 d] g,4 %fine } @@ -162,10 +158,10 @@ violinoi = \notes \relative c'{ violinoii = \notes \relative c'{ \type Voice=i \clef "violin"; - [ g'' g g] | [b,16 c d c] [b c d c] | - [ g'' g g] | [b,16 c d c] [b c d c] | + \stemup [ g'' g g] \stemboth | [b,16 c d c] [b c d c] | + \stemup [ g'' g g] \stemboth | [b,16 c d c] [b c d c] | %5 - [ g'' g g] | [g16 d c b] [a g fis g] | + \stemup [ g'' g g] \stemboth | [g16 d c b] [a g fis g] | [e' fis g fis] [g e d c] | [b c d c] [d b a g] | [e' fis g fis] [g e d c] | [b c d c] [d b a g] | %11 @@ -173,68 +169,82 @@ violinoii = \notes \relative c'{ [a b c d] [e c b a] | [b c d c] [d b a g] | %15 [fis g a g] [fis e d c] | [b a g8] r4 | - [ g'' g g] | \times 2/3 {[g8 d c] [b a g] | - [g'8\p d c] [b a g] | [f'\f d c] [b a g]} | + \stemup [ g'' g g] \stemboth | + \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} | + \times 2/3 {[g'8 d c]} \times 2/3 {[b a g]} | + \times 2/3 {[f' d c]} \times 2/3 {[b a g]} | %21 - [ e' e e] | | - [ a'' a a] | - \times 2/3 {[a8 e d] [cis b a] | [a'\p e d] [cis b a] | + \stemup [ e' e e] | | + [ a'' a a] \stemboth | + \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} | + \times 2/3 {[a' e d]} \times 2/3 {[cis b a]} | %26 - [g'\f e d] [cis b a]} | [ fis' fis fis] | - | \times 2/3 {[b'8 c d] [e fis g] | - [g fis g] [b, a g] | [a b cis] [d e fis] | + \times 2/3 {[g' e d]} \times 2/3 {[cis b a]} | + \stemup [ fis' fis fis] \stemboth | + | \times 2/3 {[b'8 c d]} \times 2/3 {[e fis g]} | + \times 2/3 {[g fis g]} \times 2/3 {[b, a g]} | + \times 2/3 {[a b cis]} \times 2/3 {[d e fis]} | %32 - [fis e fis] [a, g fis] | [g a b] [cis d e] | - [e d e] [g, fis e]} + \times 2/3 {[fis e fis]} \times 2/3 {[a, g fis]} | + \times 2/3 {[g a b]} \times 2/3 {[cis d e]} | + \times 2/3 {[e d e]} \times 2/3 {[g, fis e]} %35 [fis16 d e d] [e d e d] | [g d e d] [e d e d] | [a' d, e d] [e d e d] | [b' d, e d] [e d e d] | [cis' a b a] [b a b a] | [d a b a] [b a b a] | [e' a, b a] [a b a b] | [fis' a, b a] [a b a b] | %43 - \times 2/3 {[g'8 b a] [g fis e] | [a d, cis] [d cis d] | - [g, b a] [g fis e] | [a d, cis] [d cis d]} | + \times 2/3 {[g'8 b a]} \times 2/3 {[g fis e]} | + \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} | + \times 2/3 {[g, b a]} \times 2/3 {[g fis e]} | + \times 2/3 {[a d, cis]} \times 2/3 {[d cis d]} | %47 [b''16 g fis e] [a fis e d] | [g e d cis] [fis d cis b] | gis,2 | %50 a4 g'! | [fis16 fis e d] e4 | d d' | r8 r16 g,16 a4 | r8 [fis g! a] | d,2 - f4\p r8 f | [e-. ~ e-.] r4 | - \times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 | + f4 r8 f | [e-. ~ e-.] r4 | + \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 | %60 - e'4\p r8 e | [d-. ~ d-.] r4 | - \times 2/3 {[d8\f a' c] [b a b]} | [b a] r4 | + e'4 r8 e | [d-. ~ d-.] r4 | + \times 2/3 {[d8 a' c]} \times 2/3 {[b a b]} | [b a] r4 | %64 : reprise - [ g'' g g] | [b,16 c d c] [b c d c] | - [ g'' g g] | [b,16 c d c] [b c d c] | - [ g'' g g] | [g16 d c b] [a g fis g] | + \stemup [ g'' g g] \stemboth | [b,16 c d c] [b c d c] | + \stemup [ g'' g g] \stemboth | [b,16 c d c] [b c d c] | + \stemup [ g'' g g] \stemboth | [g16 d c b] [a g fis g] | %70 [e' fis g fis] [g e d c] | [b c d c] [d b a g] | [fis g a g] [fis e d c] | [b a g8] r4 | - [ g'' g g] | \times 2/3 {[g8 d c] [b a g] | - [f\f d c] [b a g]} | [e' c] r4 | + \stemup [ g'' g g] \stemboth | + \times 2/3 {[g8 d c]} \times 2/3 {[b a g]} | + \times 2/3 {[f d c]} \times 2/3 {[b a g]} | [e' c] r4 | %78 - [ a'' a a] | - \times 2/3 {[a8 e d] [cis b a] | - [g e d] [cis b a]} | [fis' d] r4 | - \times 2/3 {[e'8 fis g] [a b c] | [c b c] [e, d c] | - [d e fis] [g a b] | [b a b] [d, c b] | [c d e] [fis g a] | - [a g a] [c, b a]} | + \stemup [ a'' a a] \stemboth | + \times 2/3 {[a8 e d]} \times 2/3 {[cis b a]} | + \times 2/3 {[g e d]} \times 2/3 {[cis b a]} | [fis' d] r4 | + \times 2/3 {[e'8 fis g]} \times 2/3 {[a b c]} | + \times 2/3 {[c b c]} \times 2/3 {[e, d c]} | + \times 2/3 {[d e fis]} \times 2/3 {[g a b]} | + \times 2/3 {[b a b]} \times 2/3 {[d, c b]} | + \times 2/3 {[c d e]} \times 2/3 {[fis g a]} | + \times 2/3 {[a g a]} \times 2/3 {[c, b a]} | %88 [b16 g a g] [a g a g] | [c g a g] [a g a g] | [d' g, a g] [a g a g] | [e' g, a g] [a g a g] | [fis' d e d] [e d e d] | [g d e d] [e d e d] | [a' d, e d] [e d e d] | [b' d, e d] [e d e d] | %96 - \times 2/3 {[c'8 e, d] [c b a] | [d g, fis] [g fis g] | - [d c' c] [c b a] | [d g, fis] [g fis g]} | + \times 2/3 {[c'8 e, d]} \times 2/3 {[c b a]} | + \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} | + \stemup \times 2/3 {[d c' c]} \times 2/3 {[c b a]} \stemboth | + \times 2/3 {[d g, fis]} \times 2/3 {[g fis g]} | %100 [e'16 c b a] [d b a g] | [c a g fis] [b g fis e] | cis2 | d4 c'! | - [b16 b a g] a4 | g g' | + [b16 b a g] a4^\trill | g g' | %106 r8 r16 cis,, d4 | r8 [b c? d] | [g,16 g'' g g] g4:16 | [fis16 g a g] [fis e d c] | [b g' g g] g4:16 | - [fis16 g a g] [fis e d c] | [b g' g, a] a4 | - [b16 g' g, a] a4 | [b16 g' g, a] a4 | [g8 d] g,4 + [fis16 g a g] [fis e d c] | [b g' g, a] a4^\trill | + [b16 g' g, a] a4^\trill | [b16 g' g, a] a4^\trill | [g8 d] g,4 %fine } @@ -256,22 +266,22 @@ viola = \notes \relative c'{ [e16 f? g f] [e f g f] | [g8 e e d] | [cis16 d e d] [cis d e d] | cis4 r | %25 - e\p e | e\f e | [fis16 g a g] [fis g a g] | - [fis8 fis a a] | d4 b | b g' | cis,? a | + e e | e e | [fis16 g a g] [fis g a g] | + [fis8 fis a a] | d,4 b | b g' | cis,? a | a fis' b, g' | a a, | %35 [a8 fis' fis fis] | r [g g g] | r [a a a] | r [b, b b] | r [cis cis cis] | r [d d d] | r [e e e] | r [fis fis fis] | %43 - \times 2/3 {[e g fis] | [e fis g]} | fis4 r | - \times 2/3 {[e8 g fis] | [e fis g]} | fis4 r | + \times 2/3 {[e g fis]} \times 2/3 {[e fis g]} | fis4 r | + \times 2/3 {[e8 g fis]} \times 2/3 {[e fis g]} | fis4 r | %47 [d8 g d fis] | r [e a, d] | r b [b cis16 d] | [e8 d e cis] | [d d d cis] | d4 d' | r8 r16 gis, a4 | r8 [fis8 g! a] | d,2 - [d8\p d d d] | [d c!] r4 | - \times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 | + [d8 d d d] | [d c!] r4 | + \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 | %60 [c8\p c c c] | [c b] r4 | [a8 fis e g] | [g fis] r4 | %64 : reprise @@ -290,10 +300,11 @@ viola = \notes \relative c'{ [d8 b b b] | r [c c c] | r [d d d] | r [e e e] | r [fis fis fis] | r [g g g] | r [a a a] | r [b b b] | %96 - \times 2/3 {[a c b] [a b c]} | b4 r | \times 2/3 {[a,8 a g] [a b c]} | + \times 2/3 {[a c b]} \times 2/3 {[a b c]} | b4 r | + \times 2/3 {[a,8 a g]} \times 2/3 {[a b c]} | b4 r | [g8 c g b] | r [a' d, g] | r e [e fis16 g] | [a8 g a fis] | %104 - g8 g4 fis8 | g4 g | r8 r16 cis, d4 | r8 [b c! d] | [g, b d e] | + g8 g4 fis8 | g4 g | r8 r16 cis, d4 | r8 [b c? d] | [g, b d e] | [a, a a' a] | [d, b d e] | [a, a a' a] | [d, d e d] | [d d e d] | [d g g fis] | [g d] g,4 %fine @@ -307,11 +318,11 @@ bassocontinuo = \notes \relative c'{ [g16 a b a] [g a b a] | [g8 g, g g'] | %5 [g16 a b a] [g a b a] | [g8 g,] r4 | - [c'8 c,] [e_"6" fis_"6"_"5" | [g g g b,_"6"] | - [c c] [e_"6" fis_"6"_"5" | [g g b_"6" c] | + [c'8 c,] [e fis] | [g g g b,] | + [c c] [e fis] | [g g b c] | %11 - [d d d c_"2"] | [b_"6" b b b] | [fis_"6"_"5" fis fis fis] | - [g g b_"6" c] | [d fis,_"6"_"5" fis fis] | [g16 g fis e] [d c b a] | + [d d d c] | [b b b b] | [fis fis fis fis] | + [g g b c] | [d fis, fis fis] | [g16 g fis e] [d c b a] | %17 [g g' b a] [g a b a] | g4 r | b, b | b b | %21 @@ -327,7 +338,7 @@ bassocontinuo = \notes \relative c'{ g8 r fis r | e r d r | r [e e d] | [cis b cis a] | [d fis g a] | d,4 d' | r8 r16 gis, a4 | r8 [fis g! a] | d,2 r2 | r | - \times 2/3 {[f8\f e d] [c b a]} | [gis a] r4 | + \times 2/3 {[f8 e d]} \times 2/3 {[c b a]} | [gis a] r4 | %60 r2 | r | [f'8 d g g,] | [d' d'] [d16 c b a] | @@ -336,19 +347,19 @@ bassocontinuo = \notes \relative c'{ [g16 a b a] [g a b a] | [g8 g, g g'] | %68 [g16 a b a] [g a b a] | g4 r | - [c8 c,] [e fis] | [g g b c] | [e fis fis fis] | + [c8 c,] [e fis] | [g g b, c] | [e fis fis fis] | %73 [g16 g, a b] [c d e fis] | [g a b a] [g a b a] | g4 r | b, b | [c8 c'16 d] [e d cis b] | [a b cis b] [a b cis b] | %79 a4 r | cis,4 cis | [d8 d'16 e] [d8 b] | - c?4 c | a a | b b | g g | a a | fis fis | g2:8 | a2:8 | + c4 c | a a | b b | g g | a a | fis fis | g2:8 | a2:8 | %90 [b8 b, b b] | c2:8 | d2:8 | e2:8 | fis2:8 | g2:8 | fis4 fis | g r | fis fis | g r | c8 r b r | a r g r | r [a a g] | [fis e fis d] | [g, b c d] | g,4 g' | %106 - r8 r16 cis, d4 | r8 [b c! d] | [g, g' b c] | [d fis, fis fis] | + r8 r16 cis, d4 | r8 [b c? d] | [g, g' b c] | [d fis, fis fis] | [g g, b c] | [d fis fis fis] | [g b, c d] | [g, b c d] | [g, b c d] | [g d] g,4 %fine @@ -357,17 +368,18 @@ bassocontinuo = \notes \relative c'{ \score{ \type StaffGroup < - \type Staff = i < \tempi \global \dynamics \violinoi > + \type Staff = i < %\tempi + \global \dynamics \violinoi > \type Staff = ii < \global \dynamics \violinoii > \type Staff = iii < \global \dynamics \viola > \type Staff = iv < \global \dynamics \bassocontinuo > > - \paper{ - % \translator { \OrchestralScoreContext } - } + \header{ + piece="I. Allegro"; + } + \paper{ + \translator { \OrchestralScoreContext } + } \midi{ \tempo 4 = 100; } } - - - -- 2.39.5