From 2a3ef07551c5be574c2dde3443e3c515bb62aa7d Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 23:09:46 +0000 Subject: [PATCH] lilypond-1.3.36 --- CHANGES | 37 +++++++ input/test/volta.fly | 16 +-- lily/align-element.cc | 18 +-- lily/axis-group-engraver.cc | 16 +-- lily/axis-group-interface.cc | 134 +++++++++++++++++++++++ lily/axis-group-item.cc | 16 +++ lily/axis-group-spanner.cc | 16 +++ lily/bar.cc | 10 +- lily/break-align-engraver.cc | 5 +- lily/break-align-item.cc | 5 +- lily/collision.cc | 6 +- lily/directional-element-interface.cc | 48 ++++++++ lily/dot-column.cc | 6 +- lily/dynamic-engraver.cc | 36 +++++- lily/dynamic-performer.cc | 4 +- lily/grace-engraver-group.cc | 2 +- lily/grace-performer-group.cc | 2 +- lily/grace-position-engraver.cc | 4 +- lily/hara-kiri-vertical-group-spanner.cc | 5 +- lily/include/align-element.hh | 9 +- lily/include/axis-group-interface.hh | 31 ++++++ lily/include/axis-group-item.hh | 7 +- lily/include/axis-group-spanner.hh | 5 +- lily/include/music.hh | 2 - lily/include/paper-def.hh | 5 +- lily/include/side-position-interface.hh | 2 + lily/include/translator.hh | 2 +- lily/include/volta-spanner.hh | 1 - lily/line-group-group-engraver.cc | 6 +- lily/line-of-score.cc | 6 +- lily/note-column.cc | 10 +- lily/paper-column.cc | 3 +- lily/paper-def.cc | 30 ++--- lily/rest.cc | 1 - lily/rhythmic-head.cc | 1 - lily/scm-hash.cc | 103 ----------------- lily/score-engraver.cc | 12 +- lily/score-performer.cc | 2 +- lily/side-position-interface.cc | 31 ++++-- lily/span-bar.cc | 24 ++-- lily/span-dynamic-performer.cc | 4 +- lily/span-score-bar-engraver.cc | 7 ++ lily/text-engraver.cc | 8 +- lily/translator-group.cc | 2 +- lily/translator.cc | 2 +- lily/vertical-align-engraver.cc | 7 +- lily/volta-spanner.cc | 89 ++++----------- ly/engraver.ly | 8 ++ ly/performer.ly | 3 +- mutopia/Coriolan/clarinetto-1.ly | 36 +++--- mutopia/Coriolan/clarinetto-2.ly | 20 ++-- mutopia/Coriolan/contrabasso.ly | 6 +- mutopia/Coriolan/coriolan-midi.ly | 2 +- mutopia/Coriolan/coriolan-paper.ly | 10 ++ mutopia/Coriolan/coriolan-part-paper.ly | 15 ++- mutopia/Coriolan/coriolan.ly | 2 +- mutopia/Coriolan/corno-1.ly | 8 +- mutopia/Coriolan/corno-2.ly | 18 +-- mutopia/Coriolan/fagotto-1.ly | 48 ++++---- mutopia/Coriolan/fagotto-2.ly | 40 +++---- mutopia/Coriolan/flauto-1.ly | 60 +++++----- mutopia/Coriolan/flauto-2.ly | 12 +- mutopia/Coriolan/oboe-1.ly | 52 ++++----- mutopia/Coriolan/oboe-2.ly | 16 +-- mutopia/Coriolan/timpani.ly | 2 +- mutopia/Coriolan/trombo-1.ly | 12 +- mutopia/Coriolan/trombo-2.ly | 12 +- mutopia/Coriolan/viola-1.ly | 20 ++-- mutopia/Coriolan/violino-1.ly | 2 +- mutopia/Coriolan/violino-2.ly | 2 +- mutopia/Coriolan/violoncello.ly | 2 +- scm/generic-property.scm | 10 ++ scripts/convert-mudela.py | 12 ++ 73 files changed, 737 insertions(+), 491 deletions(-) create mode 100644 lily/axis-group-interface.cc create mode 100644 lily/axis-group-item.cc create mode 100644 lily/axis-group-spanner.cc create mode 100644 lily/directional-element-interface.cc create mode 100644 lily/include/axis-group-interface.hh diff --git a/CHANGES b/CHANGES index a64562175a..25d8b6894f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,40 @@ +.3.35.hwn1 +=========== + +* textEmptyDimension changed into textNonEmpty, default: off, +ie. texts don't occupy space. + +* Use STL map for Lookup::lookup_p_tab_p_ + +* Abstracted Axis_group_element into Axis_group_interface, and removed +Axis_group_element. This eliminates some multiple inheritance in the +backend + +1.3.35.jcn1 +=========== + +* Added minimum-space property to Side_position_interface. Used in + positioning of Volta_spanner: voltaMinimumSpace. + +* Fixed and cleaned-up volta-spanner. + +* Moved directional-element.cc -> directional-element-interface.cc + +* Renamed all `process_requests' to `process_music', which fixes + midi performance. + +* Fixed dimensions (more x-y interchanges) of brace, bracket and + volta-spanner. + +* Bit half-baken fix in to get similar vertical placement of orphaned vs. + line-spanned dynamic elements. + +* Added property bracketCollapseHeight: the minimal size of a staff bracket + that will be typeset. Smaller brackets will not be displayed. This + fixes the (in 1.3.x reintroduced) funny duck-beak-bracket-bug (sorry). + +* Removed some dissonant chords from Coriolan + 1.3.35 ====== diff --git a/input/test/volta.fly b/input/test/volta.fly index 86a57ed0d5..d761f5b389 100644 --- a/input/test/volta.fly +++ b/input/test/volta.fly @@ -2,16 +2,16 @@ % line breaks and special bars. c' d e f | -\repeat semi 2 { g a b c } +\repeat "volta" 2 { g a b c } \alternative { { c b a g a g a g} { f e d c } } -\repeat semi 2 { g a b c } +\repeat "volta" 2 { g a b c } \alternative { { c b a g \break a g a g} { f e d c } } -c, d e f | -\repeat semi 2 { g a b c } +c' d e f | +\repeat "volta" 2 { g a b c } \alternative { { c b a g \break a g a g \break a b a b } { f e d c } } -c, d e f | -\repeat semi 2 { g a b c } +c' d e f | +\repeat "volta" 2 { g a b c } \alternative { { c b a g } { f e d c \break a g a g} } -c, d e f | -\repeat semi 2 { g a b c } +c' d e f | +\repeat "volta" 2 { g a b c } \alternative { { c b a g a g a g} { f e d c \bar "|.";} } diff --git a/lily/align-element.cc b/lily/align-element.cc index d892e73316..a8b34c0693 100644 --- a/lily/align-element.cc +++ b/lily/align-element.cc @@ -10,8 +10,8 @@ #include "interval.hh" #include "direction.hh" #include "debug.hh" -#include "hash-table-iter.hh" #include "dimension-cache.hh" +#include "axis-group-interface.hh" /* This callback is set in the children of the align element. It does @@ -34,7 +34,7 @@ void Align_element::add_element (Score_element* s) { s->add_offset_callback (alignment_callback, axis ()); - Axis_group_element::add_element (s); + axis_group (this).add_element (s); } /* @@ -55,7 +55,8 @@ Align_element::do_side_processing (Axis a) Array dims; Link_array elems; - Link_array all_elts (elem_l_arr ()); + Link_array all_elts + = Group_interface__extract_elements (this, (Score_element*) 0, "elements"); for (int i=0; i < all_elts.size(); i++) { Interval y = all_elts[i]->extent(a) + all_elts[i]->relative_coordinate (this, a); @@ -139,11 +140,10 @@ Align_element::axis () const void Align_element::set_axis (Axis a) { - set_axes (a, a); + axis_group (this).set_axes (a, a); } - - - - - +Align_element::Align_element () +{ + axis_group (this).set_interface (); +} diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index f9d813035a..50b76990e5 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -9,6 +9,7 @@ #include "axis-group-engraver.hh" #include "axis-group-spanner.hh" #include "paper-column.hh" +#include "axis-group-interface.hh" Axis_group_engraver::Axis_group_engraver () { @@ -19,7 +20,7 @@ void Axis_group_engraver::do_creation_processing () { staffline_p_ = get_spanner_p (); - staffline_p_->set_axes (Y_AXIS, Y_AXIS); + axis_group (staffline_p_).set_axes (Y_AXIS, Y_AXIS); staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ()); announce_element (Score_element_info (staffline_p_, 0)); } @@ -49,16 +50,9 @@ Axis_group_engraver::process_acknowledged () /* UGH UGH UGH */ for (int i=0; i < elts_.size (); i++) { - if (!elts_[i]->parent_l (Y_AXIS)) - staffline_p_->add_element (elts_[i]); - else - if ( - // elts_[i]->get_elt_property ("Axis_group_element::add_extra_element") == SCM_UNDEFINED && - ! dynamic_cast (elts_[i]->parent_l (Y_AXIS))) - - { - staffline_p_->add_element (elts_[i]); - } + Score_element *par = elts_[i]->parent_l (Y_AXIS); + if (!par || !axis_group (par).has_interface_b ()) + axis_group (staffline_p_).add_element (elts_[i]); } elts_.clear (); } diff --git a/lily/axis-group-interface.cc b/lily/axis-group-interface.cc new file mode 100644 index 0000000000..d00b7a1cea --- /dev/null +++ b/lily/axis-group-interface.cc @@ -0,0 +1,134 @@ +/* + axis-group-interface.cc -- implement Axis_group_interface + + source file of the GNU LilyPond music typesetter + + (c) 2000 Han-Wen Nienhuys + + */ + +#include "axis-group-interface.hh" +#include "score-element.hh" +#include "dimension-cache.hh" + +Axis_group_interface::Axis_group_interface (Score_element*s) + : Group_interface (s) +{ + elt_l_ = s; +} + +Axis_group_interface +axis_group (Score_element*s) +{ + return Axis_group_interface (s); +} + +void +Axis_group_interface::add_element (Score_element *e) +{ + elt_l_->used_b_ = true; + e->used_b_ = true; + + for (SCM ax = elt_l_->get_elt_property ("axes"); ax != SCM_EOL ; ax = gh_cdr (ax)) + { + Axis a = (Axis) gh_scm2int (gh_car (ax)); + + if (!e->parent_l (a)) + e->set_parent (elt_l_, a); + } + + Group_interface::add_element (e); + + elt_l_->add_dependency (e); +} + + +bool +Axis_group_interface::axis_b (Axis a )const +{ + return elt_l_->dim_cache_[a]->extent_callback_l_ == group_extent_callback; +} + +Interval +Axis_group_interface::group_extent_callback (Dimension_cache const *c) +{ + Axis a = c->axis (); + Score_element * me = c->element_l (); + + Interval r; + for (SCM s = me->get_elt_property ("elements"); gh_pair_p (s); s = gh_cdr (s)) + { + SCM e=gh_car (s); + Score_element * se = SMOB_TO_TYPE (Score_element, e); + + Interval dims = se->extent (a); + if (!dims.empty_b ()) + r.unite (dims + se->relative_coordinate (me, a)); + } + + return r; +} + + +void +Axis_group_interface::set_interface () +{ + if (!has_interface_b ()) + { + elt_l_->set_elt_property ("elements", SCM_EOL); + elt_l_->set_elt_property ("transparent", SCM_BOOL_T); + elt_l_->set_elt_property ("axes" , SCM_EOL); + group (elt_l_, "interfaces").add_thing (ly_symbol2scm ("Axis_group")); + } +} + +void +Axis_group_interface::set_axes (Axis a1, Axis a2) +{ + // set_interface () ? + + SCM ax = gh_cons (gh_int2scm (a1), SCM_EOL); + if (a1 != a2) + ax= gh_cons (gh_int2scm (a2), ax); + + + elt_l_->set_elt_property ("axes", ax); + + if (a1 != X_AXIS && a2 != X_AXIS) + elt_l_->set_empty (X_AXIS); + if (a1 != Y_AXIS && a2 != Y_AXIS) + elt_l_->set_empty (Y_AXIS); + + elt_l_->dim_cache_[a1]->set_callback (Axis_group_interface::group_extent_callback); + elt_l_->dim_cache_[a2]->set_callback (Axis_group_interface::group_extent_callback); +} + +Link_array +Axis_group_interface::get_children () +{ + Link_array childs; + childs.push (elt_l_) ; + + if (!has_interface_b ()) + return childs; + + for (SCM ep = elt_l_->get_elt_property ("elements"); gh_pair_p (ep); ep = gh_cdr (ep)) + { + Score_element* e = unsmob_element (gh_car (ep)); + if (e) + childs.concat (axis_group (e).get_children ()); + } + + return childs; +} + +bool +Axis_group_interface::has_interface_b () +{ + SCM memq = scm_memq (ly_symbol2scm ("Axis_group"), + elt_l_->get_elt_property ("interfaces")); + + return (memq != SCM_BOOL_F); +} + + diff --git a/lily/axis-group-item.cc b/lily/axis-group-item.cc new file mode 100644 index 0000000000..e3dfe358fe --- /dev/null +++ b/lily/axis-group-item.cc @@ -0,0 +1,16 @@ +/* + axis-group-item.cc -- implement Axis_group_interface + + source file of the GNU LilyPond music typesetter + + (c) 2000 Han-Wen Nienhuys + + */ + +#include "axis-group-item.hh" +#include "axis-group-interface.hh" + +Axis_group_item ::Axis_group_item () +{ + axis_group (this).set_interface (); +} diff --git a/lily/axis-group-spanner.cc b/lily/axis-group-spanner.cc new file mode 100644 index 0000000000..00266e0cf7 --- /dev/null +++ b/lily/axis-group-spanner.cc @@ -0,0 +1,16 @@ +/* + axis-group-spanner.cc -- implement Axis_group_spanner + + source file of the GNU LilyPond music typesetter + + (c) 2000 Han-Wen Nienhuys + + */ + +#include "axis-group-spanner.hh" +#include "axis-group-interface.hh" + +Axis_group_spanner::Axis_group_spanner() +{ + axis_group (this).set_interface (); +} diff --git a/lily/bar.cc b/lily/bar.cc index 7bcccfed32..04ea330fb1 100644 --- a/lily/bar.cc +++ b/lily/bar.cc @@ -54,10 +54,11 @@ Molecule Bar::staff_bracket (Real height) const { Paper_def* p= paper_l (); + Real arc_height = p->get_var("bracket_arch_height"); SCM at = gh_list (ly_symbol2scm ("bracket"), gh_double2scm (p->get_var("bracket_arch_angle")), gh_double2scm (p->get_var("bracket_arch_width")), - gh_double2scm (p->get_var("bracket_arch_height")), + gh_double2scm (arc_height), gh_double2scm (p->get_var("bracket_width")), gh_double2scm (height), gh_double2scm (p->get_var("bracket_arch_thick")), @@ -65,7 +66,8 @@ Bar::staff_bracket (Real height) const SCM_UNDEFINED); Real staff_space = p->get_var ("interline"); - Box b (Interval (0, 1.5 * staff_space), Interval (-height/2,height/2)); + Real h = height + 2 * arc_height; + Box b (Interval (0, 1.5 * staff_space), Interval (-h/2, h/2)); Molecule mol (b, at); mol.translate_axis (- mol.dim_[X_AXIS].length () / 2, X_AXIS); @@ -165,8 +167,8 @@ Bar::staff_brace (Real y) const at = fontify_atom (all_fonts_global_p->find_font (nm), at); - Box b ( Interval (-y/2,y/2), - Interval (0,0)); + Box b (Interval (0,0), Interval (-y/2, y/2)); + return Molecule(b, at); } diff --git a/lily/break-align-engraver.cc b/lily/break-align-engraver.cc index c111645eee..82f6dd904d 100644 --- a/lily/break-align-engraver.cc +++ b/lily/break-align-engraver.cc @@ -10,6 +10,7 @@ #include "protected-scm.hh" #include "break-align-item.hh" #include "axis-group-item.hh" +#include "axis-group-interface.hh" class Break_align_engraver : public Engraver { @@ -111,12 +112,12 @@ Break_align_engraver::acknowledge_element (Score_element_info inf) else { group = new Axis_group_item; - group->set_axes (X_AXIS,X_AXIS); + axis_group(group).set_axes (X_AXIS,X_AXIS); group->set_elt_property ("origin", name); group->set_parent (align_l_, Y_AXIS); announce_element (Score_element_info (group, 0)); column_alist_ = scm_assoc_set_x (column_alist_, name, group->self_scm_); } - group->add_element (item_l); + axis_group (group).add_element (item_l); } } diff --git a/lily/break-align-item.cc b/lily/break-align-item.cc index 0d67818da9..c0c2ac4807 100644 --- a/lily/break-align-item.cc +++ b/lily/break-align-item.cc @@ -16,6 +16,7 @@ #include "paper-score.hh" #include "paper-def.hh" #include "paper-column.hh" +#include "group-interface.hh" /* Handle spacing for prefatory matter. @@ -33,7 +34,9 @@ Break_align_item::before_line_breaking () Link_array elems; - Link_array all_elems (elem_l_arr ()); + Link_array all_elems + = Group_interface__extract_elements (this, (Score_element*)0, + "elements"); for (int i=0; i < all_elems.size(); i++) { diff --git a/lily/collision.cc b/lily/collision.cc index 161016104c..f423d2a4a2 100644 --- a/lily/collision.cc +++ b/lily/collision.cc @@ -10,16 +10,18 @@ #include "note-column.hh" #include "note-head.hh" #include "paper-def.hh" +#include "axis-group-interface.hh" + Collision::Collision() { - set_axes (X_AXIS, Y_AXIS); + axis_group (this).set_axes (X_AXIS, Y_AXIS); } void Collision::add_column (Note_column* ncol_l) { - add_element (ncol_l); + axis_group (this).add_element (ncol_l); add_dependency (ncol_l); } diff --git a/lily/directional-element-interface.cc b/lily/directional-element-interface.cc new file mode 100644 index 0000000000..4cc5ebb52f --- /dev/null +++ b/lily/directional-element-interface.cc @@ -0,0 +1,48 @@ +/* + directional-element.cc -- implement Directional_element + + source file of the GNU LilyPond music typesetter + + (c) 1999--2000 Han-Wen Nienhuys + + */ + +#include "directional-element-interface.hh" + + +Directional_element_interface::Directional_element_interface (Score_element const *s) +{ + elt_l_ = (Score_element*)s; +} + +bool +Directional_element_interface::has_interface_b () const +{ + return isdir_b (elt_l_->get_elt_property ("direction")); +} + + + + +Direction +Directional_element_interface::get () const +{ + // return dir_; + SCM d= elt_l_->get_elt_property ("direction"); + if (!isdir_b(d)) + return CENTER; + + return to_dir (d); +} + +void +Directional_element_interface::set (Direction d) +{ + elt_l_->set_elt_property ("direction", gh_int2scm (d)); +} + +Directional_element_interface +directional_element (Score_element const*s) +{ + return s; +} diff --git a/lily/dot-column.cc b/lily/dot-column.cc index d9331f8907..29a5789a22 100644 --- a/lily/dot-column.cc +++ b/lily/dot-column.cc @@ -13,6 +13,8 @@ #include "staff-symbol-referencer.hh" #include "directional-element-interface.hh" #include "side-position-interface.hh" +#include "axis-group-interface.hh" + void Dot_column::add_dots (Dots *d) @@ -21,7 +23,7 @@ Dot_column::add_dots (Dots *d) gi.add_element (d); add_dependency (d); - add_element (d); + axis_group (this).add_element (d); } void @@ -51,7 +53,7 @@ Dot_column::Dot_column () gi.set_interface (); directional_element (this).set (RIGHT); - set_axes(X_AXIS,X_AXIS); + axis_group (this).set_axes(X_AXIS,X_AXIS); } /* diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index ea79cff0fe..038d02ba54 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -29,8 +29,8 @@ /* TODO: - * padding of orphaned items - * direction of orphaned items + * direction of text-dynamic-request if not equalt to direction + of line-spanner */ class Dynamic_line_spanner : public Spanner @@ -39,7 +39,9 @@ public: Dynamic_line_spanner (); VIRTUAL_COPY_CONS(Score_element); void add_column (Item*); - Direction get_default_dir () const; + +protected: + virtual void after_line_breaking (); }; Dynamic_line_spanner::Dynamic_line_spanner () @@ -59,10 +61,29 @@ Dynamic_line_spanner::add_column (Item* n) add_dependency (n); } -Direction -Dynamic_line_spanner::get_default_dir () const +void +Dynamic_line_spanner::after_line_breaking () { - return DOWN; +#if 0 + + /* + We hebben hier een probleempje: er is een verschil tussen + dynamics zonder en met line-spanner. + Allen zijn gecentreerd (aligned-on-self), wat okee is, + maar de losse hebben zelf een padding tov de staff. + + Deze padding werkt niet op items die in line-spanner zitten: + de padding werkt op line-spanner zelf. + De line-spanner moet dus eigenlijk zoveel naar beneden of boven + als er items uitsteken, maar Hmm. + */ +#endif + Direction dir = directional_element (this).get (); + if (!dir) + dir = DOWN; + //Hmm. inf + //translate_axis (extent (Y_AXIS)[dir], Y_AXIS); + translate_axis (staff_symbol_referencer (this).staff_space () * dir, Y_AXIS); } /** @@ -213,6 +234,9 @@ Dynamic_engraver::do_process_music () SCM s = get_property ("dynamicPadding"); if (gh_number_p (s)) e->set_elt_property ("padding", s); + s = get_property ("dynamicMinimumSpace"); + if (gh_number_p (s)) + e->set_elt_property ("minimum-space", s); } pending_element_arr_.clear (); } diff --git a/lily/dynamic-performer.cc b/lily/dynamic-performer.cc index b7472eaf51..7fbca0dd69 100644 --- a/lily/dynamic-performer.cc +++ b/lily/dynamic-performer.cc @@ -31,7 +31,7 @@ public: protected: void do_print () const; virtual bool do_try_music (Music* req_l); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_pre_move_processing (); private: @@ -61,7 +61,7 @@ Dynamic_performer::do_print () const } void -Dynamic_performer::do_process_requests () +Dynamic_performer::do_process_music () { if (text_script_req_l_) { diff --git a/lily/grace-engraver-group.cc b/lily/grace-engraver-group.cc index 20eb4a63ee..91744ff657 100644 --- a/lily/grace-engraver-group.cc +++ b/lily/grace-engraver-group.cc @@ -69,7 +69,7 @@ void Grace_engraver_group::process () { calling_self_b_ = true; - process_requests (); + process_music (); do_announces(); pre_move_processing(); check_removal(); diff --git a/lily/grace-performer-group.cc b/lily/grace-performer-group.cc index f2c8ef2776..fcfad2a339 100644 --- a/lily/grace-performer-group.cc +++ b/lily/grace-performer-group.cc @@ -71,7 +71,7 @@ void Grace_performer_group::process () { calling_self_b_ = true; - process_requests (); + process_music (); do_announces(); pre_move_processing(); check_removal(); diff --git a/lily/grace-position-engraver.cc b/lily/grace-position-engraver.cc index 866b3a2d80..735ba6b69a 100644 --- a/lily/grace-position-engraver.cc +++ b/lily/grace-position-engraver.cc @@ -14,6 +14,8 @@ #include "paper-column.hh" #include "dimension-cache.hh" #include "side-position-interface.hh" +#include "axis-group-interface.hh" + class Grace_position_engraver:public Engraver { @@ -91,7 +93,7 @@ Grace_position_engraver::do_pre_move_processing () warning (_("Unattached grace notes. Attaching to last musical column.")); align_l_->set_parent (0, X_AXIS); - last_musical_col_l_->add_element (align_l_); + axis_group(last_musical_col_l_).add_element (align_l_); } last_musical_col_l_ = get_staff_info ().musical_pcol_l (); diff --git a/lily/hara-kiri-vertical-group-spanner.cc b/lily/hara-kiri-vertical-group-spanner.cc index b6a6416455..ba10c73d46 100644 --- a/lily/hara-kiri-vertical-group-spanner.cc +++ b/lily/hara-kiri-vertical-group-spanner.cc @@ -8,6 +8,7 @@ Han-Wen Nienhuys */ +#include "axis-group-interface.hh" #include "hara-kiri-vertical-group-spanner.hh" #include "debug.hh" #include "item.hh" @@ -15,7 +16,7 @@ Hara_kiri_group_spanner::Hara_kiri_group_spanner() { set_elt_property ("items-worth-living", SCM_EOL); - set_axes(Y_AXIS,Y_AXIS); + axis_group (this).set_axes(Y_AXIS,Y_AXIS); } void @@ -34,7 +35,7 @@ Hara_kiri_group_spanner::after_line_breaking () if (gh_pair_p (worth)) return; - Link_array childs = get_children (); + Link_array childs = axis_group (this).get_children (); for (int i = 0; i < childs.size (); i++) { Score_element* s = childs[i]; diff --git a/lily/include/align-element.hh b/lily/include/align-element.hh index b4fae22642..19a4e9dcc9 100644 --- a/lily/include/align-element.hh +++ b/lily/include/align-element.hh @@ -10,11 +10,7 @@ #ifndef VERTICAL_ALIGN_ITEM_HH #define VERTICAL_ALIGN_ITEM_HH -#include "axis-group-element.hh" -#include "interval.hh" -#include "direction.hh" -#include "axes.hh" -#include "hash-table.hh" +#include "score-element.hh" /** Order elements top to bottom/left to right/right to left etc.. @@ -36,10 +32,11 @@ */ -class Align_element : public virtual Axis_group_element { +class Align_element : public virtual Score_element { public: Axis axis () const; + Align_element (); void set_axis (Axis); int get_count (Score_element*)const; void add_element (Score_element *); diff --git a/lily/include/axis-group-interface.hh b/lily/include/axis-group-interface.hh new file mode 100644 index 0000000000..9ceee2fcb1 --- /dev/null +++ b/lily/include/axis-group-interface.hh @@ -0,0 +1,31 @@ +/* + axis-group-interface.hh -- declare Axis_group_interface + + source file of the GNU LilyPond music typesetter + + (c) 2000 Han-Wen Nienhuys + + */ + +#ifndef AXIS_GROUP_INTERFACE_HH +#define AXIS_GROUP_INTERFACE_HH + +#include "group-interface.hh" + +struct Axis_group_interface : Group_interface +{ + Axis_group_interface (Score_element*); + static Interval group_extent_callback (Dimension_cache const*); + void add_element (Score_element*); + void set_axes (Axis,Axis); + bool axis_b (Axis)const; + Link_array get_children (); + bool has_interface_b (); + void set_interface (); +}; + +Axis_group_interface +axis_group (Score_element*); + +#endif /* AXIS_GROUP_INTERFACE_HH */ + diff --git a/lily/include/axis-group-item.hh b/lily/include/axis-group-item.hh index 0f88cc78bb..aa2e6392bc 100644 --- a/lily/include/axis-group-item.hh +++ b/lily/include/axis-group-item.hh @@ -10,15 +10,12 @@ #ifndef AXIS_ITEM_HH #define AXIS_ITEM_HH -#include "axis-group-element.hh" #include "item.hh" -/** - A grouping item. Its special support is in do_breakable_col_processing(). - */ -class Axis_group_item : public virtual Axis_group_element, public virtual Item +class Axis_group_item : public virtual Item { public: + Axis_group_item (); VIRTUAL_COPY_CONS(Score_element); }; diff --git a/lily/include/axis-group-spanner.hh b/lily/include/axis-group-spanner.hh index d421973f50..9d48108c2e 100644 --- a/lily/include/axis-group-spanner.hh +++ b/lily/include/axis-group-spanner.hh @@ -11,17 +11,16 @@ #define AXIS_GROUP_SPANNER_HH #include "spanner.hh" -#include "axis-group-element.hh" /** An element which groups a line in a certain direction. The most useful example of this is the Vertical_group_spanner */ -class Axis_group_spanner : public virtual Axis_group_element, - public virtual Spanner +class Axis_group_spanner : public virtual Spanner { public: + Axis_group_spanner (); VIRTUAL_COPY_CONS(Score_element); }; diff --git a/lily/include/music.hh b/lily/include/music.hh index fc8d7162dd..ce355795d9 100644 --- a/lily/include/music.hh +++ b/lily/include/music.hh @@ -30,8 +30,6 @@ */ class Music:public Input { public: - - virtual Musical_pitch to_relative_octave (Musical_pitch); /// The duration of this piece of music diff --git a/lily/include/paper-def.hh b/lily/include/paper-def.hh index 987c0f25da..4970d49905 100644 --- a/lily/include/paper-def.hh +++ b/lily/include/paper-def.hh @@ -9,6 +9,9 @@ #ifndef PAPER_DEF_HH #define PAPER_DEF_HH + +#include + #include "lily-proto.hh" #include "lily-guile.hh" #include "real.hh" @@ -44,7 +47,7 @@ */ class Paper_def : public Music_output_def { - Hash_table *lookup_p_tab_p_; + map *lookup_p_tab_p_; static int default_count_i_; protected: diff --git a/lily/include/side-position-interface.hh b/lily/include/side-position-interface.hh index 341b711c67..12495db3af 100644 --- a/lily/include/side-position-interface.hh +++ b/lily/include/side-position-interface.hh @@ -24,6 +24,8 @@ public: static Real quantised_position (Dimension_cache const*); static Real centered_on_parent (Dimension_cache const*); void set_axis (Axis); + void set_minimum_space (Real); + void set_padding (Real); void set_quantised (Axis); Axis get_axis () const; diff --git a/lily/include/translator.hh b/lily/include/translator.hh index f7afd50cfa..c84c109ec4 100644 --- a/lily/include/translator.hh +++ b/lily/include/translator.hh @@ -54,7 +54,7 @@ public: void pre_move_processing(); void add_processing (); void creation_processing (); - void process_requests(); + void process_music(); void post_move_processing(); void removal_processing(); /** diff --git a/lily/include/volta-spanner.hh b/lily/include/volta-spanner.hh index 9630477fa8..e76d6e0537 100644 --- a/lily/include/volta-spanner.hh +++ b/lily/include/volta-spanner.hh @@ -26,7 +26,6 @@ protected: VIRTUAL_COPY_CONS (Score_element); virtual void do_add_processing (); - static Interval dim_callback (Dimension_cache const*); virtual void after_line_breaking (); }; diff --git a/lily/line-group-group-engraver.cc b/lily/line-group-group-engraver.cc index a0f8d10dbc..99dc54a202 100644 --- a/lily/line-group-group-engraver.cc +++ b/lily/line-group-group-engraver.cc @@ -13,6 +13,8 @@ #include "debug.hh" #include "line-group-group-engraver.hh" #include "paper-column.hh" +#include "axis-group-interface.hh" + Line_group_engraver_group::Line_group_engraver_group() { @@ -24,7 +26,7 @@ void Line_group_engraver_group::typeset_element (Score_element *elem) { if (!elem->parent_l (Y_AXIS)) - staffline_p_->add_element (elem); + axis_group (staffline_p_).add_element (elem); Engraver_group_engraver::typeset_element (elem); } @@ -52,7 +54,7 @@ void Line_group_engraver_group::create_line_spanner () { staffline_p_ = new Axis_group_spanner ; - staffline_p_->set_axes (Y_AXIS,Y_AXIS); + axis_group (staffline_p_).set_axes (Y_AXIS,Y_AXIS); } diff --git a/lily/line-of-score.cc b/lily/line-of-score.cc index 3bba1d479b..478a07289d 100644 --- a/lily/line-of-score.cc +++ b/lily/line-of-score.cc @@ -14,11 +14,13 @@ #include "warn.hh" #include "main.hh" #include "debug.hh" +#include "axis-group-interface.hh" + Line_of_score::Line_of_score() { set_elt_property ("columns", SCM_EOL); - set_axes (Y_AXIS,X_AXIS); + axis_group (this).set_axes (Y_AXIS,X_AXIS); } @@ -65,7 +67,7 @@ Line_of_score::add_column (Paper_column*p) { set_elt_property ("columns", gh_cons (p->self_scm_, get_elt_property ("columns"))); - add_element (p); + axis_group (this).add_element (p); } void diff --git a/lily/note-column.cc b/lily/note-column.cc index ab801410ff..3b9a26e89b 100644 --- a/lily/note-column.cc +++ b/lily/note-column.cc @@ -7,7 +7,7 @@ */ #include // ceil - +#include "axis-group-interface.hh" #include "dot-column.hh" #include "note-column.hh" #include "beam.hh" @@ -42,7 +42,7 @@ Note_column::Note_column() { set_elt_property ("rests", SCM_EOL); set_elt_property ("note-heads", SCM_EOL); - set_axes (X_AXIS, Y_AXIS); + axis_group (this).set_axes (X_AXIS, Y_AXIS); } Stem * @@ -92,7 +92,7 @@ Note_column::set_stem (Stem * stem_l) set_elt_property ("stem", stem_l->self_scm_); add_dependency (stem_l); - add_element (stem_l); + axis_group (this).add_element (stem_l); } @@ -110,7 +110,7 @@ Note_column::add_head (Rhythmic_head *h) Group_interface gi (this, "note-heads"); gi.add_element (nh); } - add_element (h); + axis_group (this).add_element (h); } /** @@ -133,7 +133,7 @@ Note_column::translate_rests (int dy_i) void Note_column::set_dotcol (Dot_column *d) { - add_element (d); + axis_group (this).add_element (d); } /* diff --git a/lily/paper-column.cc b/lily/paper-column.cc index 3117df5b95..14f1340464 100644 --- a/lily/paper-column.cc +++ b/lily/paper-column.cc @@ -9,6 +9,7 @@ #include "paper-column.hh" #include "paper-score.hh" #include "debug.hh" +#include "axis-group-interface.hh" void Paper_column::add_rod (Paper_column * p, Real d) @@ -126,7 +127,7 @@ Paper_column::Paper_column (Moment w) scm_unprotect_object (when); set_elt_property ("when", when); - set_axes (X_AXIS, X_AXIS); + axis_group (this).set_axes (X_AXIS, X_AXIS); line_l_=0; rank_i_ = -1; diff --git a/lily/paper-def.cc b/lily/paper-def.cc index 2f60f9e14c..9234da4d1c 100644 --- a/lily/paper-def.cc +++ b/lily/paper-def.cc @@ -7,6 +7,7 @@ */ #include + #include "all-font-metrics.hh" #include "string.hh" #include "misc.hh" @@ -26,16 +27,16 @@ Paper_def::Paper_def () { - lookup_p_tab_p_ = new Hash_table; - lookup_p_tab_p_->hash_func_ = int_hash; + lookup_p_tab_p_ = new map; } Paper_def::~Paper_def () { - for (Hash_table_iter ai(*lookup_p_tab_p_); ai.ok (); ai++) + for (map::const_iterator ai = lookup_p_tab_p_->begin(); + ai != lookup_p_tab_p_->end (); ai++) { - delete ai.val (); + delete (*ai).second; } delete lookup_p_tab_p_; @@ -45,13 +46,13 @@ Paper_def::Paper_def (Paper_def const&s) : Music_output_def (s) { shape_int_a_ = s.shape_int_a_; - lookup_p_tab_p_ = new Hash_table; - lookup_p_tab_p_->hash_func_ = int_hash; + lookup_p_tab_p_ = new map; - for (Hash_table_iter ai(*s.lookup_p_tab_p_); ai.ok (); ai++) + for (map::const_iterator ai = s.lookup_p_tab_p_->begin(); + ai != s.lookup_p_tab_p_->end (); ai++) { - Lookup * l = new Lookup (*ai.val ()); - set_lookup (ai.key(), l); + Lookup * l = new Lookup (* (*ai).second); + set_lookup ((*ai).first, l); } } @@ -112,9 +113,10 @@ Paper_def::line_dimensions_int (int n) const void Paper_def::set_lookup (int i, Lookup*l) { - if (lookup_p_tab_p_->elem_b (i)) + map :: const_iterator it (lookup_p_tab_p_->find (i)); + if (it != lookup_p_tab_p_->end ()) { - delete lookup_p_tab_p_->elem (i); + delete (*it).second; } (*lookup_p_tab_p_)[i] = l; } @@ -139,9 +141,11 @@ Paper_def::print () const #ifndef NPRINT Music_output_def::print (); DEBUG_OUT << "Paper {"; - for (Hash_table_iter ai(*lookup_p_tab_p_); ai.ok (); ai++) + for (map::const_iterator ai = lookup_p_tab_p_->begin(); + ai != lookup_p_tab_p_->end (); ai++) { - DEBUG_OUT << "Lookup: " << ai.key () << " = " << ai.val ()->font_name_ << '\n'; + DEBUG_OUT << "Lookup: " << (*ai).first + << " = " << (*ai).second->font_name_ << '\n'; } DEBUG_OUT << "}\n"; #endif diff --git a/lily/rest.cc b/lily/rest.cc index 0c4aafee66..89c2d1a9e0 100644 --- a/lily/rest.cc +++ b/lily/rest.cc @@ -11,7 +11,6 @@ #include "lookup.hh" #include "rest.hh" #include "dots.hh" -#include "axis-group-element.hh" #include "paper-score.hh" #include "staff-symbol-referencer.hh" diff --git a/lily/rhythmic-head.cc b/lily/rhythmic-head.cc index 015fa2f9aa..64d2bd4bdd 100644 --- a/lily/rhythmic-head.cc +++ b/lily/rhythmic-head.cc @@ -13,7 +13,6 @@ #include "lookup.hh" #include "rest.hh" #include "dots.hh" -#include "axis-group-element.hh" #include "paper-score.hh" #include "stem.hh" #include "staff-symbol-referencer.hh" diff --git a/lily/scm-hash.cc b/lily/scm-hash.cc index 90009ffcd7..551a050a2a 100644 --- a/lily/scm-hash.cc +++ b/lily/scm-hash.cc @@ -12,9 +12,6 @@ #include "hash-table-iter.hh" -#ifdef usestl - - Scheme_hash_table::Scheme_hash_table () { self_scm_ = SCM_EOL; @@ -130,104 +127,4 @@ Scheme_hash_table::to_alist () const IMPLEMENT_UNSMOB(Scheme_hash_table,scheme_hash); IMPLEMENT_SMOBS(Scheme_hash_table); -#else -Scheme_hash_table::Scheme_hash_table () -{ - hash_func_ = ly_scm_hash; - self_scm_ = SCM_EOL; - smobify_self (); -} - -void -Scheme_hash_table::operator =(Scheme_hash_table const & src) -{ - Hash_table::operator = (src); - - // we do not copy the self_scm_ field! -} - -void -Scheme_hash_table::do_smobify_self () -{ -} - -SCM -Scheme_hash_table::mark_smob (SCM s) -{ - /* - can't typecheck naively, since GC bit lives in CAR of S - */ - //assert (SMOB_IS_TYPE_B (Scheme_hash_table, s)); - - Scheme_hash_table *me = SMOB_TO_TYPE(Scheme_hash_table,s); - for (Hash_table_iter i (*me); i.ok(); i++) - { - scm_gc_mark (i.key()); - scm_gc_mark (i.val ()); - } - return SCM_EOL; -} - - -Scheme_hash_table::Scheme_hash_table (Scheme_hash_table const &src) - : Hash_table (src) -{ - hash_func_ = src.hash_func_; - self_scm_ = SCM_EOL; - smobify_self (); -} - -int -Scheme_hash_table::print_smob (SCM s, SCM p, scm_print_state*) -{ - assert (SMOB_IS_TYPE_B (Scheme_hash_table, s)); - char str[1000]; - sprintf (str, "# i (*me); i.ok(); i++) - { - scm_display (i.key(), p); - scm_puts (" = ",p); - scm_display (i.val (), p); - scm_puts ("\n",p); - } - scm_puts ("> ",p); - return 1; -} - - -void -Scheme_hash_table::set (SCM k, SCM v) -{ - elem (k ) = v; - scm_unprotect_object (v); -} - -SCM -Scheme_hash_table::get (SCM k)const -{ - return const_elem (k); -} - - -Scheme_hash_table::~Scheme_hash_table( ) -{ - unsmobify_self (); -} - -SCM -Scheme_hash_table::to_alist () const -{ - SCM l = SCM_EOL; - for (Hash_table_iter i (*this); i.ok(); i++) - l = gh_cons (gh_cons (i.key (), i.val()), l); - return l; -} - - -#include "ly-smobs.icc" -IMPLEMENT_UNSMOB(Scheme_hash_table,scheme_hash); -IMPLEMENT_SMOBS(Scheme_hash_table); -#endif diff --git a/lily/score-engraver.cc b/lily/score-engraver.cc index 09c7ffd47f..15d490bca6 100644 --- a/lily/score-engraver.cc +++ b/lily/score-engraver.cc @@ -5,6 +5,7 @@ (c) 1997--2000 Han-Wen Nienhuys */ + #include "debug.hh" #include "dimension-cache.hh" #include "line-of-score.hh" @@ -15,6 +16,7 @@ #include "paper-column.hh" #include "command-request.hh" #include "paper-def.hh" +#include "axis-group-interface.hh" Score_engraver::Score_engraver() { @@ -80,7 +82,7 @@ Score_engraver::do_removal_processing() void Score_engraver::process() { - process_requests(); + process_music(); do_announces(); pre_move_processing(); check_removal(); @@ -145,14 +147,12 @@ Score_engraver::typeset_all() if (!elem_p->parent_l (X_AXIS)) { bool br = to_boolean (elem_p->remove_elt_property ("breakable")); - if (br) - command_column_l_->add_element(elem_p); - else - musical_column_l_->add_element(elem_p); + Axis_group_interface gi ((br) ? command_column_l_ : musical_column_l_) ; + gi.add_element(elem_p); } } if (!elem_p->parent_l(Y_AXIS)) - scoreline_l_->add_element (elem_p); + axis_group (scoreline_l_).add_element (elem_p); } elem_p_arr_.clear(); } diff --git a/lily/score-performer.cc b/lily/score-performer.cc index 4ba1a270fc..ad868ae9e3 100644 --- a/lily/score-performer.cc +++ b/lily/score-performer.cc @@ -71,7 +71,7 @@ Score_performer::prepare (Moment m) void Score_performer::process() { - process_requests(); + process_music(); do_announces (); pre_move_processing(); check_removal(); diff --git a/lily/side-position-interface.cc b/lily/side-position-interface.cc index 787a22ac94..7f556f0836 100644 --- a/lily/side-position-interface.cc +++ b/lily/side-position-interface.cc @@ -93,18 +93,21 @@ Side_position_interface::side_position (Dimension_cache const * c) dim = Interval(0,0); } - Real off = me->parent_l (axis)->relative_coordinate (common, axis); - - Direction dir = Side_position_interface (me).get_direction (); - SCM pad = me->remove_elt_property ("padding"); - if (gh_number_p (pad)) + Real off = me->parent_l (axis)->relative_coordinate (common, axis); + SCM minimum = me->remove_elt_property ("minimum-space"); + + Real total_off = dim[dir] + off; + SCM padding = me->remove_elt_property ("padding"); + if (gh_number_p (padding)) { - off += gh_scm2double (pad) * dir; + total_off += gh_scm2double (padding) * dir; + } + if (gh_number_p (minimum) && total_off * dir < gh_scm2double (minimum)) + { + total_off = gh_scm2double (minimum) * dir; } - Real total_off = dim[dir] + off; - if (fabs (total_off) > 100 CM) programming_error ("Huh ? Improbable staff side dim."); @@ -257,6 +260,18 @@ Side_position_interface::set_direction (Direction d) elt_l_->set_elt_property ("direction", gh_int2scm (d)); } +void +Side_position_interface::set_minimum_space (Real m) +{ + elt_l_->set_elt_property ("minimum-space", gh_double2scm (m)); +} + +void +Side_position_interface::set_padding (Real p) +{ + elt_l_->set_elt_property ("padding", gh_double2scm (p)); +} + bool Side_position_interface::has_interface_b () const { diff --git a/lily/span-bar.cc b/lily/span-bar.cc index 4aacb94248..7ed3c4a6c7 100644 --- a/lily/span-bar.cc +++ b/lily/span-bar.cc @@ -53,21 +53,29 @@ void Span_bar::after_line_breaking () { Bar::after_line_breaking (); - Interval i(get_spanned_interval ()); + SCM s = get_elt_property ("collapse-height"); + if (gh_number_p (s) + && get_spanned_interval ().length () < gh_scm2double (s)) + { + set_elt_property ("transparent", SCM_BOOL_T); + set_empty (X_AXIS); + set_empty (Y_AXIS); + } + Interval i (get_spanned_interval ()); translate_axis (i.center (), Y_AXIS); } void Span_bar::evaluate_empty () { - if (!gh_pair_p (get_elt_property ("elements"))) - { - set_elt_property ("transparent", SCM_BOOL_T); - set_empty (X_AXIS); - set_empty (Y_AXIS); - } - + if (!gh_pair_p (get_elt_property ("elements"))) + { + set_elt_property ("transparent", SCM_BOOL_T); + set_empty (X_AXIS); + set_empty (Y_AXIS); + } + SCM gl = get_elt_property ("glyph"); if (!gh_string_p (gl)) { diff --git a/lily/span-dynamic-performer.cc b/lily/span-dynamic-performer.cc index 5a64f17922..44b2547008 100644 --- a/lily/span-dynamic-performer.cc +++ b/lily/span-dynamic-performer.cc @@ -30,7 +30,7 @@ public: protected: virtual bool do_try_music (Music* req_l); virtual void acknowledge_element (Audio_element_info); - virtual void do_process_requests (); + virtual void do_process_music (); virtual void do_pre_move_processing (); virtual void do_post_move_processing (); @@ -68,7 +68,7 @@ Span_dynamic_performer::acknowledge_element (Audio_element_info i) } void -Span_dynamic_performer::do_process_requests () +Span_dynamic_performer::do_process_music () { if (finished_dynamic_tuple_arr_.size () > 1 && finished_dynamic_tuple_arr_.top ().audio_l_->volume_i_) diff --git a/lily/span-score-bar-engraver.cc b/lily/span-score-bar-engraver.cc index 98782a58da..4e717788a0 100644 --- a/lily/span-score-bar-engraver.cc +++ b/lily/span-score-bar-engraver.cc @@ -43,6 +43,13 @@ Staff_group_bar_engraver::get_span_bar_p () const Span_bar *s= new Span_bar; s->set_empty (X_AXIS); s->set_elt_property ("glyph", gh_str02scm ("bracket")); + + SCM collapse = get_property ("bracketCollapseHeight"); + if (gh_number_p (collapse)) + s->set_elt_property ("collapse-height", collapse); + else + s->set_elt_property ("collapse-height", gh_double2scm (1)); + return s; } diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index ad69deef94..97b7a18a24 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -102,11 +102,9 @@ Text_engraver::do_process_music () if (r->style_str_.length_i ()) text->set_elt_property ("style", ly_str02scm (r->style_str_.ch_C())); - SCM empty = get_property ("textEmptyDimension"); - if (to_boolean (empty)) - { - text->set_empty (X_AXIS); - } + SCM empty = get_property ("textNonEmpty"); + if (!to_boolean (empty)) + text->set_empty (X_AXIS); announce_element (Score_element_info (text, r)); texts_.push (text); diff --git a/lily/translator-group.cc b/lily/translator-group.cc index ab2bb7c82f..2a071f2e9a 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -390,7 +390,7 @@ Translator_group::do_post_move_processing () void Translator_group::do_process_music () { - each (&Translator::process_requests); + each (&Translator::process_music); } void diff --git a/lily/translator.cc b/lily/translator.cc index 4840b898c4..9471666e8b 100644 --- a/lily/translator.cc +++ b/lily/translator.cc @@ -137,7 +137,7 @@ Translator::try_music (Music * r) } void -Translator::process_requests () +Translator::process_music () { if (status < PROCESSED_REQS) post_move_processing (); diff --git a/lily/vertical-align-engraver.cc b/lily/vertical-align-engraver.cc index 46da337596..2c2d48d9ad 100644 --- a/lily/vertical-align-engraver.cc +++ b/lily/vertical-align-engraver.cc @@ -12,6 +12,7 @@ #include "axis-align-spanner.hh" #include "axis-group-spanner.hh" #include "span-bar.hh" +#include "axis-group-interface.hh" Vertical_align_engraver::Vertical_align_engraver() { @@ -54,9 +55,11 @@ Vertical_align_engraver::qualifies_b (Score_element_info i) const { int sz = i.origin_trans_l_arr ((Translator*)this).size() ; - Axis_group_element * elt = dynamic_cast (i.elem_l_); - return sz > 1 && elt && !elt->parent_l (Y_AXIS) && elt->axis_b (Y_AXIS); + Axis_group_interface agi(i.elem_l_); + + return sz > 1 && agi.has_interface_b () + && !i.elem_l_->parent_l (Y_AXIS) && agi.axis_b (Y_AXIS); } void diff --git a/lily/volta-spanner.cc b/lily/volta-spanner.cc index 743609de93..79c1829824 100644 --- a/lily/volta-spanner.cc +++ b/lily/volta-spanner.cc @@ -19,19 +19,17 @@ #include "stem.hh" #include "dimension-cache.hh" #include "group-interface.hh" - - +#include "side-position-interface.hh" +#include "directional-element-interface.hh" Volta_spanner::Volta_spanner () { - dim_cache_ [Y_AXIS]->set_callback (dim_callback); + //dim_cache_ [Y_AXIS]->set_callback (dim_callback); set_elt_property ("bars", SCM_EOL); - set_elt_property ("note-columns", SCM_EOL); + side_position (this).set_axis (Y_AXIS); + directional_element (this).set (UP); } -/* - FIXME: too complicated. - */ Molecule Volta_spanner::do_brew_molecule () const { @@ -43,9 +41,6 @@ Volta_spanner::do_brew_molecule () const if (!bar_arr.size ()) return mol; - Link_array note_column_arr - = Group_interface__extract_elements (this, (Score_element*)0, "note-columns"); - bool no_vertical_start = false; bool no_vertical_end = to_boolean (get_elt_property ("last-volta")); Spanner *orig_span = dynamic_cast (original_l_); @@ -61,12 +56,11 @@ Volta_spanner::do_brew_molecule () const #endif Real staff_space = paper_l ()->get_var ("interline"); - Real half_staff_space = staff_space/2; - Real t = paper_l ()->get_var ("volta_thick"); + Real half_space = staff_space / 2; - Real dx = half_staff_space; - Real w = spanner_length() - dx - get_broken_left_end_align (); + Real w = spanner_length () - get_broken_left_end_align () - half_space; Real h = paper_l()->get_var ("volta_spanner_height"); + Real t = paper_l ()->get_var ("volta_thick"); SCM at = (gh_list (ly_symbol2scm ("volta"), gh_double2scm (h), @@ -75,33 +69,17 @@ Volta_spanner::do_brew_molecule () const gh_int2scm (no_vertical_start), gh_int2scm (no_vertical_end), SCM_UNDEFINED)); - Box b (Interval (- h/2, h/2), Interval (0, w)); - Molecule volta(b,at); + //Box b (Interval (0, w), Interval (- h/2, h/2)); + Box b (Interval (0, w), Interval (0, h)); + Molecule volta (b, at); + mol.add_molecule (volta); Molecule num (lookup_l ()->text ("volta", ly_scm2string (get_elt_property("text")), paper_l ())); - Real dy = bar_arr.top ()->extent (Y_AXIS) [UP] >? - bar_arr[0]->extent (Y_AXIS) [UP]; - dy += 2 * h; - - - /* - CODE DUPLICATION. - FIXME (see axis-group-elt, side-pos interface.) - */ - for (int i = 0; i < note_column_arr.size (); i++) - dy = dy >? note_column_arr[i]->extent (Y_AXIS)[BIGGER]; - dy -= h; - - Molecule two (lookup_l ()->text ("volta", "2", paper_l ())); - Real gap = two.dim_.x ().length () / 2; - Offset off (num.dim_.x ().length () + gap, - h / half_staff_space - gap); - num.translate (off); - mol.add_molecule (volta); - mol.add_molecule (num); - mol.translate (Offset (0, dy)); + + mol.add_at_edge (X_AXIS, LEFT, num, - num.extent (X_AXIS).length () + - staff_space); return mol; } @@ -119,50 +97,25 @@ Volta_spanner::do_add_processing () } } -/* - Originally the following comment existed here - "in most cases, it's a lot better not no have height...", - but problems existed with collision between volta spanner - and above staff or lyrics for multi-staff music, so the proper - height is now being returned. Additional space should still - be added elsewhere so lyrics from above staff do not sit on - volta spanner. (Roy R. Rankin) -*/ -Interval -Volta_spanner::dim_callback (Dimension_cache const *c) -{ - Volta_spanner * v = dynamic_cast (c->element_l ()); - Real h = v->paper_l()->get_var ("volta_spanner_height") * 2.; - return Interval (0., h); -} - void Volta_spanner::after_line_breaking () { - Link_array bar_arr - = Group_interface__extract_elements (this, (Bar*)0, "bars"); - - if (bar_arr.size()) - translate_axis (bar_arr[0]->extent (Y_AXIS)[UP], Y_AXIS); - translate_axis (get_broken_left_end_align (), X_AXIS); + side_position (this).add_staff_support (); } void -Volta_spanner::add_bar (Bar* c) +Volta_spanner::add_bar (Bar* b) { Group_interface gi(this, "bars"); - gi.add_element (c); + gi.add_element (b); - add_dependency (c); + side_position (this).add_support (b); + add_dependency (b); } void Volta_spanner::add_column (Note_column* c) { - Group_interface gi(this, "note-columns"); - gi.add_element (c); - + side_position (this).add_support (c); add_dependency (c); } - - diff --git a/ly/engraver.ly b/ly/engraver.ly index a97abe6d6e..d5d4842896 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -15,6 +15,9 @@ StaffContext=\translator { \consists "Bar_engraver"; % Bar_engraver must be first so default bars aren't overwritten % with empty ones. + + voltaPadding = #5 % urg, in \pt + voltaMinimumSpace = #25 % urg, in \pt \consists "Repeat_engraver"; @@ -100,6 +103,8 @@ RhythmicStaffContext=\translator{ \consists "Separating_line_group_engraver"; \name RhythmicStaff; + voltaPadding = #5 % urg, in \pt + voltaMinimumSpace = #15 % urg, in \pt \consists "Repeat_engraver"; \consists "Bar_engraver"; \consists "Time_signature_engraver"; @@ -114,6 +119,8 @@ VoiceContext = \translator { \name Voice; dynamicPadding = #5 % urg, in \pt + dynamicMinimumSpace = #10 % urg, in \pt + Generic_property_list = #generic-voice-properties \consists "Output_property_engraver"; @@ -327,6 +334,7 @@ ScoreContext = \translator { \consists "Timing_engraver"; \consists "Output_property_engraver"; + %bracketCollapseHeight = #10 % \pt \consists "Span_score_bar_engraver"; % \consists "Score_priority_engraver"; \consists "Break_align_engraver"; diff --git a/ly/performer.ly b/ly/performer.ly index 132d0e8c84..37ba5b1252 100644 --- a/ly/performer.ly +++ b/ly/performer.ly @@ -14,7 +14,6 @@ StaffContext = \translator { \consists "Key_performer"; \consists "Time_signature_performer"; \consists "Tempo_performer"; -% \consists "Span_dynamic_performer"; dynamicStyle = #"dynamic" }; \translator { \StaffContext } @@ -43,7 +42,7 @@ VoiceContext = \translator { \type "Performer_group_performer"; \name Voice; % All notes fall to Grace if you leave Thread out (huh?) - \consists "Dynamic_performer"; % must come before text_engraver. + \consists "Dynamic_performer"; \consists "Span_dynamic_performer"; \consists "Grace_position_performer"; \accepts Thread; diff --git a/mutopia/Coriolan/clarinetto-1.ly b/mutopia/Coriolan/clarinetto-1.ly index 801427b988..33ba9491ef 100644 --- a/mutopia/Coriolan/clarinetto-1.ly +++ b/mutopia/Coriolan/clarinetto-1.ly @@ -22,8 +22,8 @@ clarinetto1 = \notes \relative c { f4-. r r2 | e4-. r r2 | R1 *4 | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" bes2\p\< ( a | )gis2. \!a4-.\f | R1*13 | @@ -45,8 +45,8 @@ clarinetto1 = \notes \relative c { c2. c4\sf| c4 r r2| R1*5| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" a'2.\p\< ( bes4| a g e)c| c'2.( d4| @@ -59,8 +59,8 @@ clarinetto1 = \notes \relative c { d~| d~| d| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" bes2.\<( c4| bes a fis)d| \!d'2\ff f| @@ -142,8 +142,8 @@ clarinetto1 = \notes \relative c { )e2. f4\sf(| )e4 r r2| R1*9| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" fis2.\p\<(g4| fis e cis)a| \!a2\ff c| @@ -162,8 +162,8 @@ clarinetto1 = \notes \relative c { r2 r4 d(| )cis r r2| r r4 r8 cis| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" d4\< r r2| r r4 r8 d| e4 r r r8 e| @@ -196,18 +196,18 @@ clarinetto1 = \notes \relative c { d4 r8 g f4 r8 c| bes4 r r2| R1*11| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" f'2.\p\<(g4| f e cis)a| a1| - \!b\f~| - b| + \!bes\f~| + bes| c\f~| c\p| d\f~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" d\p\<~| d~| d~| @@ -237,8 +237,8 @@ clarinetto1 = \notes \relative c { R1| d4-. d-. r2| d4-. d-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceOne.decrescendoText = "dim." + \property VoiceOne.decrescendoSpanner = "dashed-line" d4\> r e r| R1| \!a,4\p r r2| diff --git a/mutopia/Coriolan/clarinetto-2.ly b/mutopia/Coriolan/clarinetto-2.ly index c63928dc0b..acfad81c95 100644 --- a/mutopia/Coriolan/clarinetto-2.ly +++ b/mutopia/Coriolan/clarinetto-2.ly @@ -51,8 +51,8 @@ clarinetto2 = \notes \relative c { d~| d| %a deux| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" bes'2.\<(c4| bes a fis)d| \!d'2\ff f,| @@ -68,7 +68,7 @@ clarinetto2 = \notes \relative c { r4 r8 f f4\sf()a| r4 r8 f f4\sf()a| r4 r8 f f4\sf()a| - b2 gis| + bes2 gis| a fis| g f| b a| @@ -98,7 +98,7 @@ clarinetto2 = \notes \relative c { a4 r8 a a4 r8 a| R1*4| %a deux| - b4\ff r8 es d4 r8 a| + bes4\ff r8 es d4 r8 a| g4 r8 c bes4 r8 f| es4 r8 a g4 r8 g| g4 r8 g fis4 r8 fis| @@ -123,8 +123,8 @@ clarinetto2 = \notes \relative c { )e2. f4\sf(| )e4 r r2| R1*9| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" fis2.\p\<( g4| fis e cis)a| %a deux; urg| @@ -171,8 +171,8 @@ clarinetto2 = \notes \relative c { c1\f~| c\p| a1\f| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" d,\p\<~| d~| d~| @@ -204,8 +204,8 @@ clarinetto2 = \notes \relative c { R1| a4-. c-. r2| bes4-. c-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceTwo.decrescendoText = "dim." + \property VoiceTwo.decrescendoSpanner = "dashed-line" bes4\> r a r| R1| \!a4\p r r2| diff --git a/mutopia/Coriolan/contrabasso.ly b/mutopia/Coriolan/contrabasso.ly index 0df39bde33..eeb66e6349 100644 --- a/mutopia/Coriolan/contrabasso.ly +++ b/mutopia/Coriolan/contrabasso.ly @@ -152,8 +152,8 @@ contrabasso = \notes \relative c { )g,4 r r r8 g( | \!)d2\ff e' | dis b | - e4\p r r r8 e(| - )a4 r r r8 a(| + es4\p r r r8 es(| + )a,4 r r r8 a(| %200 )g1 | @@ -161,7 +161,7 @@ contrabasso = \notes \relative c { \skip 1*18; | %220 - f4 r r2 | + f'4 r r2 | f'4 r r2 | f4 r r2 | f4 r r2 | diff --git a/mutopia/Coriolan/coriolan-midi.ly b/mutopia/Coriolan/coriolan-midi.ly index 3d5c9577c8..a7086cbe80 100644 --- a/mutopia/Coriolan/coriolan-midi.ly +++ b/mutopia/Coriolan/coriolan-midi.ly @@ -1,3 +1,3 @@ \midi{ - \tempo 4 = 160; + \tempo 4 = 150; } diff --git a/mutopia/Coriolan/coriolan-paper.ly b/mutopia/Coriolan/coriolan-paper.ly index 9e735356fb..3defda7a5b 100644 --- a/mutopia/Coriolan/coriolan-paper.ly +++ b/mutopia/Coriolan/coriolan-paper.ly @@ -6,6 +6,11 @@ % slurs are never beautiful (no steep slurs) slur_beautiful = 0.0; + \translator { + \VoiceContext + dynamicPadding = #3 % urg, in \pt + dynamicMinimumSpace = #6 % urg, in \pt + } \translator { \VoiceContext \name "VoiceOne"; @@ -33,5 +38,10 @@ \accepts "VoiceOne"; \accepts "VoiceTwo"; } + \translator { + \ScoreContext + textEmptyDimension = ##t + textStyle = #"italic" + } \translator { \OrchestralScoreContext } } diff --git a/mutopia/Coriolan/coriolan-part-paper.ly b/mutopia/Coriolan/coriolan-part-paper.ly index 3d21929758..f16655066b 100644 --- a/mutopia/Coriolan/coriolan-part-paper.ly +++ b/mutopia/Coriolan/coriolan-part-paper.ly @@ -5,10 +5,15 @@ % slurs are never beautiful (no steep slurs) slur_beautiful = 0.0; + \translator { + \VoiceContext + dynamicPadding = #3 % urg, in \pt + dynamicMinimumSpace = #6 % urg, in \pt + } \translator { \VoiceContext \name "VoiceOne"; - \consists "Line_number_engraver"; + %%\consists "Line_number_engraver"; verticalDirection = #1 stemVerticalDirection = #1 dynamicDirection = #-1 @@ -16,7 +21,7 @@ \translator { \VoiceContext \name "VoiceTwo"; - \consists "Line_number_engraver"; + %%\consists "Line_number_engraver"; verticalDirection = #-1 stemVerticalDirection = #-1 \remove "Dynamic_engraver"; @@ -33,5 +38,9 @@ maximumRestCount = #1 } \translator { \OrchestralPartStaffContext } - \translator { \ScoreContext skipBars = ##t } + \translator { + \ScoreContext skipBars = ##t + textEmptyDimension = ##t + textStyle = #"italic" + } } diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index 6059c48393..453fc314a5 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -43,7 +43,7 @@ ottoni = \context StaffGroup = otonni_group < $timpani_g = \context StaffGroup = timpani_group < \$timpani_staff % Force a staff bracket (?) - \context Staff = timpany { \skip 1; } + \context Staff = timpany { \skip 1*314; } > violini = \context GrandStaff = violini_group < diff --git a/mutopia/Coriolan/corno-1.ly b/mutopia/Coriolan/corno-1.ly index 56f44b218a..efaf24e060 100644 --- a/mutopia/Coriolan/corno-1.ly +++ b/mutopia/Coriolan/corno-1.ly @@ -25,8 +25,8 @@ corno1 = \notes \relative c { r4 g-.\f r2 | R1*2 | % `a 2 - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" r8 f\p\< f2 e4 | r8 f f2 e4 | f4. e8 f4. e8 | @@ -172,8 +172,8 @@ corno1 = \notes \relative c { e~| e~| e~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" e\<~| e~| e| diff --git a/mutopia/Coriolan/corno-2.ly b/mutopia/Coriolan/corno-2.ly index f41c2d0dc3..71b0d44526 100644 --- a/mutopia/Coriolan/corno-2.ly +++ b/mutopia/Coriolan/corno-2.ly @@ -26,8 +26,8 @@ corno2 = \notes \relative c { R1*2 | % `a 2 % urg, yes this is a-deux, but lily doesn't know about I. / a2 yet. - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" r8 f'\p\< f2 e4 | r8 f f2 e4 | f4. e8 f4. e8 | @@ -97,7 +97,7 @@ corno2 = \notes \relative c { d4\f r r2| g,4 r r2| g4 r8 g g4 r8 g| - g4 r8 g g'4 r8 g| + g4 r8 g e'4 r8 e| d4\p r r2| R1*3| d4\ff r c r| @@ -129,8 +129,8 @@ corno2 = \notes \relative c { e~| e~| e~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" e\<~| e~| e~| @@ -142,8 +142,8 @@ corno2 = \notes \relative c { %a deux| r4 r8 e,\p e4. e8| r4 r8 e e4. e8| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" r4 r8 e\< e4. e8| r4 r8 e e4. e8| r4 r8 e e4. e8| @@ -189,8 +189,8 @@ corno2 = \notes \relative c { e~| e~| e~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" e\<~| e~| e| diff --git a/mutopia/Coriolan/fagotto-1.ly b/mutopia/Coriolan/fagotto-1.ly index 0a698b4679..05de181984 100644 --- a/mutopia/Coriolan/fagotto-1.ly +++ b/mutopia/Coriolan/fagotto-1.ly @@ -24,14 +24,14 @@ fagotto1 = \notes \relative c { R1*5 | r2 r4 g4-.\f | R1*5 | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" ges'2\p\< f2 ~ | f4 \!e-.\f r2 | R1 | f2\p()es | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" d1\< | d | d2 d | @@ -54,8 +54,8 @@ fagotto1 = \notes \relative c { )d4 r r2| R1*9| \clef "tenor"; - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" g'2.(as4 \p\<| g f d)bes \clef "bass"; @@ -66,8 +66,8 @@ fagotto1 = \notes \relative c { c~| c~| c~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" c\<~| c| \!c2\ff bes| @@ -80,8 +80,8 @@ fagotto1 = \notes \relative c { bes(a bes)g| fis r8 a\pp a4. a8| r4 r8 a a4. a8| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" r4 r8 bes\< bes4. bes8| r4 r8 bes bes4. bes8| r4 r8 c8 c4. c8| @@ -129,8 +129,8 @@ fagotto1 = \notes \relative c { e4 r r2| R1*3| r4 r8 f' es4 r8 bes| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" c4\< r4 r2| R1*2| r4 r8 ges' f4 r8 c| @@ -149,8 +149,8 @@ fagotto1 = \notes \relative c { [g,: bes: c: des:][f,: bes: c: des:]|| [e,: g: bes: des:][c: e: g: c:]|| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" c1\p\< ~| c1~| c1~| @@ -217,8 +217,8 @@ fagotto1 = \notes \relative c { es(d es)c| b r8 d\p d4. d8| r4 r8 d d4. d8| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" r4 r8 es\< es4. es8| r4 r8 es es4. es8| r4 r8 % @@ -259,8 +259,8 @@ fagotto1 = \notes \relative c { es d b)g| g'2.(as4| g2)f| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" es2.\<( f4| es d b)g| R1| @@ -269,8 +269,8 @@ fagotto1 = \notes \relative c { d\f| es\p| e\f| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" as,4.\p\< as8 g4. g8| f4. f8 es4. es8| as4. as8 g4. g8| @@ -306,8 +306,8 @@ fagotto1 = \notes \relative c { R1| g,4-. g-. r2| as4-. bes-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceOne.decrescendoText = "dim." + \property VoiceOne.decrescendoSpanner = "dashed-line" c4\> r d r| R1| \!c,4\p r r2| @@ -315,8 +315,8 @@ fagotto1 = \notes \relative c { g4 r r2| R1| c4\pp r r2| - \property Voice.decrescendoText = "sempre pi\\`u piano" - \property Voice.decrescendoSpanner = "" + \property VoiceOne.decrescendoText = "sempre pi\\`u piano" + \property VoiceOne.decrescendoSpanner = "" r r4 g\p\>~| g1~| g~| diff --git a/mutopia/Coriolan/fagotto-2.ly b/mutopia/Coriolan/fagotto-2.ly index fc958dd74a..165e89d3be 100644 --- a/mutopia/Coriolan/fagotto-2.ly +++ b/mutopia/Coriolan/fagotto-2.ly @@ -43,8 +43,8 @@ fagotto2 = \notes \relative c { )d4 r r2| R1*9| \clef "tenor"; - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" g''2.(as4 \p\<|| g f d)bes|| \clef "bass"; @@ -55,14 +55,14 @@ fagotto2 = \notes \relative c { c~| c~| c~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" c\<~| c| \!c2\ff g'| fis d| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" g,4 \p\< r r r8 g(| )c4 r r r8 c(| \!)b1\sf\>| @@ -70,8 +70,8 @@ fagotto2 = \notes \relative c { R1*2| r4 r8 fis\pp fis4. fis8| r4 r8 fis fis4. fis8| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" r4 r8 g\< g4. g8| r4 r8 g g4. g8| r4 r8 a a4. a8| @@ -130,8 +130,8 @@ fagotto2 = \notes \relative c { e| f| g| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" as\<| g| as| @@ -191,8 +191,8 @@ fagotto2 = \notes \relative c { g~| g~| g~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" g\<~| g~| g~| @@ -205,8 +205,8 @@ fagotto2 = \notes \relative c { a~| a~| a~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" a\<~| a| \!f'2\ff e| @@ -219,8 +219,8 @@ fagotto2 = \notes \relative c { R1*3| r4 r8 b'' b4. b8| r4 r8 b b4. b8| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" r4 r8 c\< c4. c8| r4 r8 c c4. c8| \clef "tenor"; @@ -269,8 +269,8 @@ fagotto2 = \notes \relative c { g\p| bes\f| %a deux| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" as4.\p\< as8 g4. g8| f4. f8 es4. es8| as4. as8 g4. g8| @@ -307,8 +307,8 @@ fagotto2 = \notes \relative c { R1| es,4-. e-. r2| f4-. g-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceTwo.decrescendoText = "dim." + \property VoiceTwo.decrescendoSpanner = "dashed-line" as4\> r b r| R1| %a deux| diff --git a/mutopia/Coriolan/flauto-1.ly b/mutopia/Coriolan/flauto-1.ly index 484f5e1337..fb64ff1d5f 100644 --- a/mutopia/Coriolan/flauto-1.ly +++ b/mutopia/Coriolan/flauto-1.ly @@ -20,19 +20,19 @@ flauto1 = \notes \relative c { g4-. r r2 | b,4-. r r2 | R1 *4 | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" r2 g'\p\< ( | )fis2. \!g4-.\f | R1*5 | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" r2 f\p\< ~ | f4 \!e-.\f r2 | R1 | - f2()es | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + f2\p()es | + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" d1\< | d1 | d2 d2 | @@ -55,22 +55,24 @@ flauto1 = \notes \relative c { )f2. ges4\sf| f4 r r2 | R1*9| - g2.(f4| + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" + g2.\p\<(f4| as g d)bes - bes2\ff des| + \!bes2\ff des| c1~| c\p~| c~| c~| c~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" c\<~| c~| \!c2\ff es| d1~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" d\p\<~| d~| d2.()f4| @@ -80,8 +82,8 @@ flauto1 = \notes \relative c { \!fis\pp r r2| r2 r4 r8 a| bes4 r r2| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" r r4 r8 bes\<| c4 r r r8 c | d4 r r r8 d| @@ -127,8 +129,8 @@ flauto1 = \notes \relative c { r4 r8 f' es4 r8 bes| c4 r r2| R1*2| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "" r4 r8 ges'\< f4 r8 c| des4 r r2| R1*5| @@ -137,13 +139,13 @@ flauto1 = \notes \relative c { bes4 r8 e f4 r8 f| g4 r8 g e4 r8 e| R1*4| - as,4\ff r8 des8 c4 r8 g| + \!as,4\ff r8 des8 c4 r8 g| f4 r8 bes as4 r8 es| des4 r8 g f4 r8 f'| f4 r8 f e4 r8 e| f4 r r2| R1| - \!des4-.\ff r r2| + des4-.\ff r r2| R1*3| d2\sf r| d2\sf r| @@ -162,15 +164,15 @@ flauto1 = \notes \relative c { )d2. es4\sf(| )d r r2| R1*9| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" e2.\p\<(f4| e d b )g| \!g2\ff bes| a1~a4\p r r2| R1*3| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" a1\<~| a| \!a2\ff c| @@ -204,17 +206,17 @@ flauto1 = \notes \relative c { f4 r as r| f r g r| c,\p r r2| - r r4 r8 des\f| + r r4 r8 d\f| es4 r r2| - r r4 r8 des\f| + r r4 r8 d\f| es4 r r2| R1*3| es4\f r d r | c r8 f8 es4 r8 bes| as4-. des4-. r2| R1*11| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" es2.\p\<(f4| es d b)g| g1| @@ -253,8 +255,8 @@ flauto1 = \notes \relative c { R1| c4-. c4-. r2| c4-. c4-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceOne.decrescendoText = "dim." + \property VoiceOne.decrescendoSpanner = "dashed-line" c4\> r d r| R1| \!es4\p r r2| diff --git a/mutopia/Coriolan/flauto-2.ly b/mutopia/Coriolan/flauto-2.ly index d4cc025a6d..f1b70a133a 100644 --- a/mutopia/Coriolan/flauto-2.ly +++ b/mutopia/Coriolan/flauto-2.ly @@ -77,10 +77,10 @@ flauto2 = \notes \relative c { R1*21| f4\f r r r8 es| des4 r r r8 c| - bes4 r8 bes bes4 r8 bes| + bes4 r8 bes' bes4 r8 bes| bes4 r8 bes bes4 r8 bes| R1*4| - as4\ff r8 des c4 r8 g| + as,4\ff r8 des c4 r8 g| f4 r8 bes as4 r8 es| des4 r8 g f4 r8 as'| g4 r8 g g4 r8 g| @@ -129,8 +129,8 @@ flauto2 = \notes \relative c { bes\f~| bes\p| c1\f~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" c\p\<~| c~| c~| @@ -164,8 +164,8 @@ flauto2 = \notes \relative c { R1| c4-. g'-. r2| as4-. e-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceTwo.decrescendoText = "dim." + \property VoiceTwo.decrescendoSpanner = "dashed-line" f4\> r f r| R1| \!es4\p r r2| diff --git a/mutopia/Coriolan/oboe-1.ly b/mutopia/Coriolan/oboe-1.ly index 6a08addc60..d652792f9f 100644 --- a/mutopia/Coriolan/oboe-1.ly +++ b/mutopia/Coriolan/oboe-1.ly @@ -20,19 +20,19 @@ oboe1 = \notes \relative c'' { g4-. r r2 | g4-. r r2 | R1 *4 | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" as2\p\< ( g | )fis2. \!g4-.\f | R1*5 | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" ges2\p\< f ~ | f4 \!e\f r2 | R1 | f2\p()es | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" d1\< | d | d2 d | @@ -55,22 +55,22 @@ oboe1 = \notes \relative c'' { )f2. ges4(| )f4 r r2| R1*9| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" g2.\p\<( as4| g f d)bes| \!bes'2\ff des| c bes| as4\p r r2| R1*3| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" as2.\p\<( bes4| as g e)c| \!c'2\ff es,| d1~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" d\p\< ~| d~| \!d2.\sf\>()f4| @@ -80,8 +80,8 @@ oboe1 = \notes \relative c'' { fis\pp r r2| r r4 r8 fis' | g4 r r2| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" r r4 r8 g\<| a4 r r r8 a| bes4 r r r8 bes| @@ -127,8 +127,8 @@ oboe1 = \notes \relative c'' { des4 r r r8 c| bes4 r8 es f4 r8 f| g4 r8 g e4 r 8 e| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" c'1\p\< ~| c~| c~| @@ -158,8 +158,8 @@ oboe1 = \notes \relative c'' { )g2. fis4\sf(| )g4 r r2| R1*5| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" e2.\p\< (f4| e d b)g| g'2.(a4 g2)f| @@ -171,8 +171,8 @@ oboe1 = \notes \relative c'' { a~| a~| a| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" f2.\<( g4| f e cis)a| \!a'2\ff c| @@ -187,8 +187,8 @@ oboe1 = \notes \relative c'' { es(d es)c| b r r2| r r4 r8 d| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" es4\< r r2| r r4 r8 es| f4 r r r8 f| @@ -224,8 +224,8 @@ oboe1 = \notes \relative c'' { es d b)g| g'2.(as4| g2)f| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" es2.\<( f4| es d b)g| c1| @@ -234,8 +234,8 @@ oboe1 = \notes \relative c'' { f\f| g\p| g\f| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" c\p\<~| c~| c~| diff --git a/mutopia/Coriolan/oboe-2.ly b/mutopia/Coriolan/oboe-2.ly index dc32f60845..32870617b3 100644 --- a/mutopia/Coriolan/oboe-2.ly +++ b/mutopia/Coriolan/oboe-2.ly @@ -76,8 +76,8 @@ oboe2 = \notes \relative c{ bes4 r8 bes bes4 r8 bes| bes4\p r r2| R1*15| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" r4 r8 as'\< ges4 r8 des| es4 r8 bes' as4 r8 es| f4 r r2| @@ -87,8 +87,8 @@ oboe2 = \notes \relative c{ des4 r r r8 c| bes4 r8 bes bes4 r8 bes| bes4 r8 bes bes4 r8 bes| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" c1\p\< ~|| c~| c~| @@ -152,8 +152,8 @@ oboe2 = \notes \relative c{ d\f| es\p| e\f| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" c\p\< ~| c~| c~| @@ -185,8 +185,8 @@ oboe2 = \notes \relative c{ R1| c4-. c-. r2| c4-. c-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceTwo.decrescendoText = "dim." + \property VoiceTwo.decrescendoSpanner = "dashed-line" c4\> r d r| R1| \!c4\p r r2| diff --git a/mutopia/Coriolan/timpani.ly b/mutopia/Coriolan/timpani.ly index d000a5c929..bd5acb4455 100644 --- a/mutopia/Coriolan/timpani.ly +++ b/mutopia/Coriolan/timpani.ly @@ -153,7 +153,7 @@ $timpani_staff = \context Staff = timpani < \notes< % \global \time 4/4; - \context VoiceOne=timpani + \context Voice=timpani \$timpani > > diff --git a/mutopia/Coriolan/trombo-1.ly b/mutopia/Coriolan/trombo-1.ly index d4b5b418b3..a3c1300de7 100644 --- a/mutopia/Coriolan/trombo-1.ly +++ b/mutopia/Coriolan/trombo-1.ly @@ -24,8 +24,8 @@ trombo1 = \notes \relative c { R1*6 | r4 c-.\f r2 | R1*2 | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" r2 c4\p\< r | r2 c4 r | r2 c4 r | @@ -116,8 +116,8 @@ trombo1 = \notes \relative c { c4 r r2| R1*18| e1\f(| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceOne.crescendoText = "cresc." + \property VoiceOne.crescendoSpanner = "dashed-line" )c\p\< ~| c~| c~| @@ -149,8 +149,8 @@ trombo1 = \notes \relative c { R1| c4-. c-. r2| c4-. c-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceOne.decrescendoText = "dim." + \property VoiceOne.decrescendoSpanner = "dashed-line" c4\> r g r| R1| \!g4\p r r2| diff --git a/mutopia/Coriolan/trombo-2.ly b/mutopia/Coriolan/trombo-2.ly index 8f2be3458a..658fb7a8bf 100644 --- a/mutopia/Coriolan/trombo-2.ly +++ b/mutopia/Coriolan/trombo-2.ly @@ -24,8 +24,8 @@ trombo2 = \notes \relative c { R1*6 | r4 c-.\f r2 | R1*2 | - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" r2 c4\p\< r | r2 c4 r | r2 c4 r | @@ -116,8 +116,8 @@ trombo2 = \notes \relative c { c4 r r2| R1*18| c1\f~| - \property Voice.crescendoText = "cresc." - \property Voice.crescendoSpanner = "dashed-line" + \property VoiceTwo.crescendoText = "cresc." + \property VoiceTwo.crescendoSpanner = "dashed-line" c\p\< ~| c~| c~| @@ -149,8 +149,8 @@ trombo2 = \notes \relative c { R1| c,4-. c-. r2| c4-. c-. r2| - \property Voice.decrescendoText = "dim." - \property Voice.decrescendoSpanner = "dashed-line" + \property VoiceTwo.decrescendoText = "dim." + \property VoiceTwo.decrescendoSpanner = "dashed-line" c4\> r g r| R1| \!g4\p r r2| diff --git a/mutopia/Coriolan/viola-1.ly b/mutopia/Coriolan/viola-1.ly index 8ce909a15f..d288e3212a 100644 --- a/mutopia/Coriolan/viola-1.ly +++ b/mutopia/Coriolan/viola-1.ly @@ -236,9 +236,9 @@ viola1 = \notes \relative c { %155 f,1 ~ | f | - d'2\sf [g,8-. bes-.][bes()as] | + d'2\sf [f,8-. as-.][as()g] | - es'2\sf [g,8-. bes-.][bes()as] | + d'2\sf [f,8-. as-.][as()g] | % ugh, should be quoted and transposed... %160 [f8-.\p as-.][as()f][g-. c-.][c()b] | @@ -247,7 +247,7 @@ viola1 = \notes \relative c { g2\ff [es8-. g-.][g()f] | g2\sf [es8-. g-.][g()f] | %165 - [e-. bes'-.][bes()as][g-. des'-.][des()c] | + [e-.\p bes'-.][bes()as][g-. des'-.][des()c] | R1*2 | r4 [e,8-.\ff g-.][g()f] r4 | r4 [e8-. g-.][g()f] r4 | @@ -318,21 +318,21 @@ viola1 = \notes \relative c { g'2: g: | %214 - b,2:16\ff b4: c: | + bes,2:16\ff bes4: c: | g'2: g: | e2:16\ff e4: f: | - b,: c: b: c: | + bes,: c: bes: c: | e2:16\ff e4: f: | b,: c: b: c: | %220 - r4 r8 es8 es4\sf()fes | - r4 r8 es8 es4\sf()fes | - r4 r8 es8 es4\sf()fes | - r4 r8 es8 es4\sf()fes | - [des16 des f f]des4: [b16 b d d]b4: | + r4 r8 as as2| + r4 r8 as as2| + r4 r8 as as2| + r4 r8 as as2| + [des'16 des f f]des4: [b16 b d d]b4: | %225 % check [bes16 bes c c]bes4: [a16 a c c]a4: | diff --git a/mutopia/Coriolan/violino-1.ly b/mutopia/Coriolan/violino-1.ly index 3938fc528b..f9cd07a6d3 100644 --- a/mutopia/Coriolan/violino-1.ly +++ b/mutopia/Coriolan/violino-1.ly @@ -212,7 +212,7 @@ violino1 = \notes \relative c { f4\f r8 bes as4 r8 es | des4 r8 ges f4 r8 c | bes4 r8 e f4 r8 bes, | - bes4 r8 g'! es4 r8 bes' | + bes4 r8 g'! e4 r8 bes' | \property Voice.crescendoText = "cresc." \property Voice.crescendoSpanner = "dashed-line" as4\p r8 des\< c4 r8 g | diff --git a/mutopia/Coriolan/violino-2.ly b/mutopia/Coriolan/violino-2.ly index 6134ce7a32..41ef2e4a8a 100644 --- a/mutopia/Coriolan/violino-2.ly +++ b/mutopia/Coriolan/violino-2.ly @@ -213,7 +213,7 @@ violino2 = \notes \relative c { f4\f r8 bes as4 r8 es | des4 r8 ges f4 r8 c | bes4 r8 e f4 r8 bes, | - bes4 r8 g'! es4 r8 bes' | + bes4 r8 g'! e4 r8 bes' | \property Voice.crescendoText = "cresc." \property Voice.crescendoSpanner = "dashed-line" as4\p r8 des\< c4 r8 g | diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly index 27f80fbbc8..578ceb41d1 100644 --- a/mutopia/Coriolan/violoncello.ly +++ b/mutopia/Coriolan/violoncello.ly @@ -414,7 +414,7 @@ violoncello = \notes \relative c { g,4. g'8 g2\sf | g,4. g'8 g2\sf | as,4. as'8 as2\sf | - a,4. a'8 a2\sf | + b,4. b'8 b2\sf | %270 [c,8-"sempre"\ff b c d][es\ff d es c]| diff --git a/scm/generic-property.scm b/scm/generic-property.scm index a71efc94d3..dc20e838cc 100644 --- a/scm/generic-property.scm +++ b/scm/generic-property.scm @@ -57,6 +57,7 @@ (list 'verticalDirection dir? 'direction) (list 'dynamicDirection dir? 'direction) (list 'dynamicPadding number? 'padding) + (list 'dynamicMinimumSpace number? 'minimum-space) ))) (define generic-dynamic-line-spanner-properties @@ -64,6 +65,14 @@ (list 'verticalDirection dir? 'direction) (list 'dynamicDirection dir? 'direction) (list 'dynamicPadding number? 'padding) + (list 'dynamicMinimumSpace number? 'minimum-space) + ))) + +(define generic-volta-spanner-properties + (cons "Volta_spanner" (list + (list 'voltaVerticalDirection dir? 'direction) + (list 'voltaPadding number? 'padding) + (list 'voltaMinimumSpace number? 'minimum-space) ))) (define generic-bar-properties @@ -179,6 +188,7 @@ generic-clef-properties generic-collision-properties generic-rest-collision-properties + generic-volta-spanner-properties ; generic-staff-symbol-properties generic-All-properties ) diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py index ede540b40b..7714a5695c 100644 --- a/scripts/convert-mudela.py +++ b/scripts/convert-mudela.py @@ -414,6 +414,18 @@ if 1: conversions.append ((1,3,18), conv, 'staffLineLeading -> staffSpace') +if 1: + def conv (str): + str = re.sub ('textEmptyDimension *= *##t', + 'textNonEmpty = ##f', + str) + str = re.sub ('textEmptyDimension *= *##f', + 'textNonEmpty = ##t', + str) + return str + + conversions.append ((1,3,35), conv, 'textEmptyDimension -> textNonEmpty') + ############################ -- 2.39.5