+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
======
MAJOR_VERSION=1
MINOR_VERSION=3
PATCH_LEVEL=35
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
% 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 "|.";} }
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")),
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);
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);
}
--- /dev/null
+/*
+ directional-element.cc -- implement Directional_element
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#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;
+}
-/*
- directional-element.cc -- implement Directional_element
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
-
-#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;
-}
/*
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
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 ()
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);
}
/**
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 ();
}
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:
}
void
-Dynamic_performer::do_process_requests ()
+Dynamic_performer::do_process_music ()
{
if (text_script_req_l_)
{
Grace_engraver_group::process ()
{
calling_self_b_ = true;
- process_requests ();
+ process_music ();
do_announces();
pre_move_processing();
check_removal();
Grace_performer_group::process ()
{
calling_self_b_ = true;
- process_requests ();
+ process_music ();
do_announces();
pre_move_processing();
check_removal();
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;
void pre_move_processing();
void add_processing ();
void creation_processing ();
- void process_requests();
+ void process_music();
void post_move_processing();
void removal_processing();
/**
VIRTUAL_COPY_CONS (Score_element);
virtual void do_add_processing ();
- static Interval dim_callback (Dimension_cache const*);
virtual void after_line_breaking ();
};
void
Score_engraver::process()
{
- process_requests();
+ process_music();
do_announces();
pre_move_processing();
check_removal();
void
Score_performer::process()
{
- process_requests();
+ process_music();
do_announces ();
pre_move_processing();
check_removal();
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.");
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
{
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))
{
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 ();
}
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_)
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;
}
void
Translator_group::do_process_music ()
{
- each (&Translator::process_requests);
+ each (&Translator::process_music);
}
void
}
void
-Translator::process_requests ()
+Translator::process_music ()
{
if (status < PROCESSED_REQS)
post_move_processing ();
#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
{
if (!bar_arr.size ())
return mol;
- Link_array<Score_element> 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<Spanner*> (original_l_);
#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),
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;
}
}
}
-/*
- 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<Volta_spanner*> (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> 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);
}
-
-
\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";
\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";
\name Voice;
dynamicPadding = #5 % urg, in \pt
+ dynamicMinimumSpace = #10 % urg, in \pt
+
Generic_property_list = #generic-voice-properties
\consists "Output_property_engraver";
\consists "Timing_engraver";
\consists "Output_property_engraver";
+ %bracketCollapseHeight = #10 % \pt
\consists "Span_score_bar_engraver";
% \consists "Score_priority_engraver";
\consists "Break_align_engraver";
\consists "Key_performer";
\consists "Time_signature_performer";
\consists "Tempo_performer";
-% \consists "Span_dynamic_performer";
dynamicStyle = #"dynamic"
};
\translator { \StaffContext }
\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;
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 |
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|
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|
)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|
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|
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~|
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|
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,|
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|
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|
)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|
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~|
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|
)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 |
\skip 1*18; |
%220
- f4 r r2 |
+ f'4 r r2 |
f'4 r r2 |
f4 r r2 |
f4 r r2 |
\midi{
- \tempo 4 = 160;
+ \tempo 4 = 150;
}
% 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";
\accepts "VoiceOne";
\accepts "VoiceTwo";
}
+ \translator {
+ \ScoreContext
+ textEmptyDimension = ##t
+ textStyle = #"italic"
+ }
\translator { \OrchestralScoreContext }
}
% 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
\translator {
\VoiceContext
\name "VoiceTwo";
- \consists "Line_number_engraver";
+ %%\consists "Line_number_engraver";
verticalDirection = #-1
stemVerticalDirection = #-1
\remove "Dynamic_engraver";
maximumRestCount = #1
}
\translator { \OrchestralPartStaffContext }
- \translator { \ScoreContext skipBars = ##t }
+ \translator {
+ \ScoreContext skipBars = ##t
+ textEmptyDimension = ##t
+ textStyle = #"italic"
+ }
}
$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 <
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 |
e~|
e~|
e~|
- \property Voice.crescendoText = "cresc."
- \property Voice.crescendoSpanner = "dashed-line"
+ \property VoiceOne.crescendoText = "cresc."
+ \property VoiceOne.crescendoSpanner = "dashed-line"
e\<~|
e~|
e|
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 |
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|
e~|
e~|
e~|
- \property Voice.crescendoText = "cresc."
- \property Voice.crescendoSpanner = "dashed-line"
+ \property VoiceTwo.crescendoText = "cresc."
+ \property VoiceTwo.crescendoSpanner = "dashed-line"
e\<~|
e~|
e~|
%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|
e~|
e~|
e~|
- \property Voice.crescendoText = "cresc."
- \property Voice.crescendoSpanner = "dashed-line"
+ \property VoiceTwo.crescendoText = "cresc."
+ \property VoiceTwo.crescendoSpanner = "dashed-line"
e\<~|
e~|
e|
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 |
)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";
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|
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|
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|
[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~|
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 %
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|
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|
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|
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~|
)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";
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\>|
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|
e|
f|
g|
- \property Voice.crescendoText = "cresc."
- \property Voice.crescendoSpanner = "dashed-line"
+ \property VoiceTwo.crescendoText = "cresc."
+ \property VoiceTwo.crescendoSpanner = "dashed-line"
as\<|
g|
as|
g~|
g~|
g~|
- \property Voice.crescendoText = "cresc."
- \property Voice.crescendoSpanner = "dashed-line"
+ \property VoiceTwo.crescendoText = "cresc."
+ \property VoiceTwo.crescendoSpanner = "dashed-line"
g\<~|
g~|
g~|
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|
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";
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|
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|
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 |
)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|
\!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|
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|
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|
)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|
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|
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|
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|
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~|
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|
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 |
)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|
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|
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~|
)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|
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|
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|
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|
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~|
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|
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~|
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~|
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|
\notes<
% \global
\time 4/4;
- \context VoiceOne=timpani
+ \context Voice=timpani
\$timpani
>
>
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 |
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~|
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|
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 |
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~|
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|
%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] |
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 |
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: |
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 |
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 |
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]|
(list 'verticalDirection dir? 'direction)
(list 'dynamicDirection dir? 'direction)
(list 'dynamicPadding number? 'padding)
+ (list 'dynamicMinimumSpace number? 'minimum-space)
)))
(define generic-dynamic-line-spanner-properties
(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
generic-clef-properties
generic-collision-properties
generic-rest-collision-properties
+ generic-volta-spanner-properties
; generic-staff-symbol-properties
generic-All-properties
)