+pl 9.jcn1
+ - bf (urg): no |: at start of piece
+ - bf?: text defs without width
+ - alignment absolute dynamics
+ - mutopia/opus-130.ly (excerpt, triggered by GUIDO)
+ - bf: crescendo symbol
+
pl 9
- fixed \relative
MAJOR_VERSION=1
MINOR_VERSION=1
PATCH_LEVEL=9
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
}
Text_def * td_p = new Text_def;
- td_p->align_dir_ = CENTER;
String loud = absd->loudness_str ();
td_p->text_str_ = paper ()->lookup_l (0)->dynamic (loud).str_; // ugh
td_p->style_str_ = "dynamic";
-
-
+ td_p->align_dir_ = RIGHT;
+ Real nw_f = paper ()->note_width () * 0.8;
dynamic_p_ = new Text_item (td_p);
+ dynamic_p_->translate (Offset (nw_f, 0));
+
announce_element (Score_element_info (dynamic_p_, dreq_l));
}
else if (Span_dynamic_req *span_l = dynamic_cast <Span_dynamic_req *> (dreq_l))
Atom a;
Real height = paper_l_->staffheight_f () / 6;
- String hairpin = String (decresc ? "de" : "") + "crescendo\n";
+ String hairpin = String (decresc ? "de" : "") + "crescendo";
a.lambda_ = gh_list (ly_symbol (hairpin),
gh_double2scm (width),
gh_double2scm (height),
void
Repeat_engraver::do_process_requests ()
{
+ Moment now = now_moment ();
for (int i = bar_p_arr_.size (); i < repeated_music_arr_.size (); i++)
{
Bar* bar_p = new Bar;
bar_p-> type_str_ = "|:";
bar_p_arr_.push (bar_p);
- announce_element (Score_element_info (bar_p, repeated_music_arr_[i]));
+ if (now > Moment (0))
+ announce_element (Score_element_info (bar_p, repeated_music_arr_[i]));
}
#if 0 //urg, try pre-ceating and announcing
- Moment now = now_moment ();
for (int i = 0; i < bar_p_arr_.size (); i++)
{
if (!bar_p_arr_[i] && (now >= stop_mom_arr_[i]))
void
Repeat_engraver::do_pre_move_processing ()
{
+ Moment now = now_moment ();
for (int i = bar_p_arr_.size (); i--; )
{
if (bar_p_arr_[i])
{
- typeset_element (bar_p_arr_[i]);
+ if (now > Moment (0))
+ typeset_element (bar_p_arr_[i]);
+ else
+ delete bar_p_arr_[i];
bar_p_arr_[i] = 0;
}
}
- Moment now = now_moment ();
for (int i = volta_p_arr_.size (); i--; )
{
if (now >= alternative_stop_mom_arr_[i])
{
Atom a (tdef_p_->get_atom (paper (), dir_));
-
- if (fat_b_)
- a.dim_[X_AXIS] = tdef_p_->width (paper ());
+ if (!fat_b_)
+ a.dim_[X_AXIS] = Interval (0,0);
Molecule* mol_p = new Molecule (a);
if (dir_<0) // should do something better anyway.
--- /dev/null
+\header{
+filename = "opus-130.ly";
+title = "Quartett";
+description = "";
+composer = "Ludwig van Beethoven (1770-1827)";
+opus = "130";
+enteredby = "JCN";
+copyright = "public domain";
+}
+
+% \version "1.0.10";
+
+global = \notes {
+ \key g;
+ \time 3/8;
+ \skip 4.*8;
+% 1.1.9 broken
+% \bar ":|";
+}
+
+tempi = \notes {
+ \property Voice.textstyle = "large"
+ s8^"Allegro assai"
+}
+
+dynamics = \notes {
+ \type Voice=i
+ s8\p\< \!s8.\> \!s16 | s4.\p | s8\< s8. \!s16 | s4.\p |
+ s8\p\< \!s8.\> \!s16 | s4.\p | s8\< s8. \!s16 | s4.\p |
+}
+
+violinei = \notes\relative c''{
+ \type Voice=i
+ [d8(b)d16] r | g,4. | [a16(b c8)e16] r | g,8~fis4 |
+ [d''8(b)d16] r | g,4. | [a16(b c8)fis,16] r | fis8~g4 |
+}
+
+violineii = \notes\relative c'{
+ \type Voice=i
+ [b8(d)b] | [e(g,)e'] | [e(c)a'] | [a(c)a] |
+ % copy from violinei: 5-8
+ [d8(b)d16] r | g,4. | [a16( b c8)fis,16] r | fis8~g4 |
+}
+
+viola = \notes\relative c'{
+ \type Voice=i
+ \clef "alto";
+ [g8(b)g] | [b(e,)b'] | [c,(a')c,] | [c'(d,)c'] | [b(d)b] |
+ [e(g,)e'] | [e(e,<)a' c,]> | <[a(c,> <fis b,> )b,] |
+}
+
+cello = \notes\relative c'{
+ \type Voice=i
+ \clef "bass";
+ g4 r8 | e'4 r8 | c4 r8 | d4 r8 | [g,,8 b g] | [b(e,)b'] |
+ [c,(a')d,] | [d'(d,)g] |
+}
+
+\score{
+ \type StaffGroup <
+ \type Staff = i < \tempi \global \dynamics \violinei >
+ \type Staff = ii < \global \dynamics \violineii >
+ \type Staff = iii < \global \dynamics \viola >
+ \type Staff = iv < \global \dynamics \cello >
+ >
+ \paper{
+ \translator { \OrchestralScoreContext }
+ }
+ \midi{ \tempo 4 = 160; }
+}
+