From 8941ab4f6fde2600bff1d6d1e9b693a348077458 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 20:09:26 +0000 Subject: [PATCH] lilypond-0.1.55 --- init/engraver.ly | 1 + init/table16.ly | 7 ++--- init/table20.ly | 7 ++--- input/test-lyrics.ly | 2 +- lily/include/lookup.hh | 1 + lily/include/span-score-bar-grav.hh | 19 ++++++++++--- lily/include/span-score-bar.hh | 10 +++++++ lily/lookup.cc | 42 ++++++++++++++++++++++++++--- lily/span-score-bar-grav.cc | 26 +++++++++++++----- lily/span-score-bar.cc | 13 +++++++++ lily/staff-sym.cc | 3 ++- mutopia/Coriolan/coriolan.ly | 1 + mutopia/J.S.Bach/preludes-1.ly | 6 ++--- mutopia/J.S.Bach/preludes-5.ly | 13 ++++++--- mutopia/standchen.ly | 8 +++--- mutopia/standje.ly | 2 +- 16 files changed, 127 insertions(+), 34 deletions(-) diff --git a/init/engraver.ly b/init/engraver.ly index f31288c87d..a1b51de4cb 100644 --- a/init/engraver.ly +++ b/init/engraver.ly @@ -69,6 +69,7 @@ Staff_group = \translator { \type "Engraver_group_engraver"; \consists "Span_bar_engraver"; \consists "Vertical_align_engraver"; + \consists "Staff_group_bar_engraver"; \consists "Line_group_engraver"; \accepts "Staff"; \accepts "Rhythmic_staff"; diff --git a/init/table16.ly b/init/table16.ly index 83f0e3c9bb..b0fd33ef0a 100644 --- a/init/table16.ly +++ b/init/table16.ly @@ -14,7 +14,7 @@ table_sixteen= "bold" "\setbold{%}" 0.0\pt 7.50\pt 0.0\pt 8.0\pt "dynamic" "\setdynamic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt "finger" "\setfinger{%}" 0.0\pt 0.0\pt 0.0\pt 4.0\pt - "italic" "\setitalic{%}" 0.0\pt 0.0\pt 0.0\pt 8.0\pt + "italic" "\setitalic{%}" 0.0\pt 7.5\pt 0.0\pt 8.0\pt "large" "\setlarge{%}" 0.0\pt 9.50\pt 0.0\pt 10.0\pt "roman" "\settext{%}" 0.0\pt 7.50\pt 0.0\pt 8.0\pt } @@ -64,13 +64,14 @@ table_sixteen= "param" = \table { % "brace" "\pianobrace{%}" 0.0\pt 0.0\pt 0.0\pt 0.0\pt "brace" "\pianobrace{%}" 0.0\pt 0.0\pt 32.0\pt 80.0\pt + "bracket" "\staffbracket{%}" 0.0\pt 4.0\pt 16.0\pt 128.0\pt "meter" "\generalmeter{%}{%}" 0.0\pt 10.0\pt -8.0\pt 8.0\pt "rule" "\rulesym{%}{%}" "stem" "\stem{%}{%}" "fill" "\hbox{}" % ugh. 8pt - "crescendosym" "\crescendosym{%}" 0.0\pt 0.0\pt -2.0\pt 2.0\pt - "decrescendosym" "\decrescendosym{%}" 0.0\pt 0.0\pt -3.0\pt 3.0\pt + "crescendosym" "\crescendosym{%}" 0.0\pt 0.0\pt -5.0\pt 5.0\pt + "decrescendosym" "\decrescendosym{%}" 0.0\pt 0.0\pt -5.0\pt 5.0\pt } diff --git a/init/table20.ly b/init/table20.ly index 597cbe0ef3..eee1669ee8 100644 --- a/init/table20.ly +++ b/init/table20.ly @@ -15,7 +15,7 @@ table_twenty = "bold" "\setbold{%}" 0.0\pt 7.50\pt 0.0\pt 8.0\pt "dynamic" "\setdynamic{%}" 0.0\pt 0.0\pt 0.0\pt 10.0\pt "finger" "\setfinger{%}" 0.0\pt 0.0\pt 0.0\pt 5.0\pt - "italic" "\setitalic{%}" 0.0\pt 0.0\pt 0.0\pt 10.0\pt + "italic" "\setitalic{%}" 0.0\pt 7.5\pt 0.0\pt 10.0\pt "large" "\setlarge{%}" 0.0\pt 9.50\pt 0.0\pt 12.0\pt "roman" "\settext{%}" 0.0\pt 7.5\pt 0.0\pt 10.0\pt } @@ -67,14 +67,15 @@ table_twenty = % dims ignored for this table "param" = \table { % "brace" "\pianobrace{%}" 0.0\pt 0.0\pt 0.0\pt 0.0\pt + "bracket" "\staffbracket{%}" 0.0\pt 0.0\pt 20.0\pt 160.0\pt "rule" "\rulesym{%}{%}" "brace" "\pianobrace{%}" 0.0\pt 0.0\pt 40.0\pt 100.0\pt "meter" "\generalmeter{%}{%}" 0.0\pt 10.0\pt -5.0\pt 5.0\pt "stem" "\stem{%}{%}" "fill" "\hbox{}" % ugh. 8\pt - "crescendosym" "\crescendosym{%}" 0.0\pt 0.0\pt -3.0\pt 3.0\pt - "decrescendosym" "\decrescendosym{%}" 0.0\pt 0.0\pt -3.0\pt 3.0\pt + "crescendosym" "\crescendosym{%}" 0.0\pt 0.0\pt -6.25\pt 6.25\pt + "decrescendosym" "\decrescendosym{%}" 0.0\pt 0.0\pt -6.25\pt 6.25\pt } "beamslopes" = \table { diff --git a/input/test-lyrics.ly b/input/test-lyrics.ly index c1a8a944b8..4d42f97030 100644 --- a/input/test-lyrics.ly +++ b/input/test-lyrics.ly @@ -56,7 +56,7 @@ $melodic_staff = \type Staff = mel < \$melodic_staff \$somewhat_long_lyrics_staff % \$rather_long_lyrics_staff -% \$quite_long_lyrics_staff + \$quite_long_lyrics_staff > \paper{ % castingalgorithm = \Wordwrap; diff --git a/lily/include/lookup.hh b/lily/include/lookup.hh index c290cbd64f..9f7bb3f023 100644 --- a/lily/include/lookup.hh +++ b/lily/include/lookup.hh @@ -39,6 +39,7 @@ struct Lookup { Atom streepje (int type) const; Atom vbrace (Real &dy) const; + Atom vbracket (Real &dy) const; Atom meter (Array) const; Atom stem (Real y1_pos, Real y2_pos) const; Atom rule_symbol (Real height, Real width) const; diff --git a/lily/include/span-score-bar-grav.hh b/lily/include/span-score-bar-grav.hh index fbdb2fb131..dee2a30db3 100644 --- a/lily/include/span-score-bar-grav.hh +++ b/lily/include/span-score-bar-grav.hh @@ -22,9 +22,9 @@ class Span_score_bar_engraver : public Span_bar_engraver { public: - TRANSLATOR_CLONE(Span_score_bar_engraver); + TRANSLATOR_CLONE (Span_score_bar_engraver); DECLARE_MY_RUNTIME_TYPEINFO; - virtual Span_bar* get_span_bar_p() const; + virtual Span_bar* get_span_bar_p () const; }; /** @@ -33,9 +33,20 @@ public: class Piano_bar_engraver : public Span_score_bar_engraver { public: - TRANSLATOR_CLONE(Piano_bar_engraver); + TRANSLATOR_CLONE (Piano_bar_engraver); DECLARE_MY_RUNTIME_TYPEINFO; - virtual Span_bar * get_span_bar_p() const; + virtual Span_bar * get_span_bar_p () const; +}; + +/** + + */ +class Staff_group_bar_engraver : public Span_score_bar_engraver +{ +public: + TRANSLATOR_CLONE (Staff_group_bar_engraver); + DECLARE_MY_RUNTIME_TYPEINFO; + virtual Span_bar * get_span_bar_p () const; }; #endif // SPAN_SCORE_BAR_GRAV_HH diff --git a/lily/include/span-score-bar.hh b/lily/include/span-score-bar.hh index 4afe8c9d8d..193dc8c1d0 100644 --- a/lily/include/span-score-bar.hh +++ b/lily/include/span-score-bar.hh @@ -34,4 +34,14 @@ protected: virtual Atom get_bar_sym (Real) const; }; +class Staff_bracket : public Span_score_bar +{ +public: + DECLARE_MY_RUNTIME_TYPEINFO; + SCORE_ELEM_CLONE(Staff_bracket); +protected: + virtual Interval do_width() const; + virtual Atom get_bar_sym (Real) const; +}; + #endif // SPAN_SCORE_BAR_HH diff --git a/lily/lookup.cc b/lily/lookup.cc index da4083afe6..1ee100caa9 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -162,9 +162,9 @@ Lookup::hairpin (Real &wid, bool decresc, bool continued) const bool embedded_b = postscript_global_b; String embed; Atom ret; + Real height = paper_l_->get_var ("barsize") / 6; if (embedded_b) { - Real height = paper_l_->get_var ("barsize") / 6; embed = "\\embeddedps{\n" ; embed += String (wid) + " " + String (height) + " " @@ -191,8 +191,9 @@ Lookup::hairpin (Real &wid, bool decresc, bool continued) const ret.tex_ = substitute_args (ret.tex_, a); } - ret.dim_.x() = Interval (0,wid); - // ret.translate_axis (-ret.dim_[Y_AXIS][DOWN], Y_AXIS); + ret.dim_.x () = Interval (0,wid); + ret.dim_.y () = Interval (-2*height,2*height); +// ret.translate_axis (ret.dim_[Y_AXIS][DOWN], Y_AXIS); return ret; } @@ -263,3 +264,38 @@ Lookup::vbrace (Real &y) const return brace; } + +Atom +Lookup::vbracket (Real &y) const +{ + Atom bracket = (*symtables_p_)("param")->lookup ("bracket"); + Interval ydims = bracket.dim_[Y_AXIS]; + Real min_y = ydims[LEFT]; + Real max_y = ydims[RIGHT]; + Real step = 1.0 PT; + + if (y < min_y) + { + warning (_("bracket too small (") + print_dimen (y)+ ")"); + y = min_y; + } + if (y > max_y) + { + warning (_("bracket too big (") + print_dimen (y)+ ")"); + y = max_y; + } + + + int idx = int (rint ((y- min_y)/step)) + 1; + + { + Array a; + a.push (idx); + bracket.tex_ = substitute_args (bracket.tex_,a); + bracket.dim_[Y_AXIS] = Interval (-y/2,y/2); + } + + return bracket; +} + + diff --git a/lily/span-score-bar-grav.cc b/lily/span-score-bar-grav.cc index dabe4ee746..4d5f57190e 100644 --- a/lily/span-score-bar-grav.cc +++ b/lily/span-score-bar-grav.cc @@ -1,5 +1,6 @@ /* - span-score-bar-grav.cc -- implement Span_score_bar_engraver and Piano_bar_engraver + span-score-bar-grav.cc -- implement Span_score_bar_engraver, + Piano_bar_engraver and Staff_group_bar_engraver source file of the GNU LilyPond music typesetter @@ -11,7 +12,7 @@ Span_bar* -Span_score_bar_engraver::get_span_bar_p() const +Span_score_bar_engraver::get_span_bar_p () const { Span_bar*s = new Span_score_bar; s->break_priority_i_ = -4; @@ -21,16 +22,27 @@ Span_score_bar_engraver::get_span_bar_p() const } -IMPLEMENT_IS_TYPE_B1(Span_score_bar_engraver, Span_bar_engraver); -IMPLEMENT_IS_TYPE_B1(Piano_bar_engraver, Span_score_bar_engraver); +IMPLEMENT_IS_TYPE_B1 (Span_score_bar_engraver, Span_bar_engraver); +IMPLEMENT_IS_TYPE_B1 (Piano_bar_engraver, Span_score_bar_engraver); +IMPLEMENT_IS_TYPE_B1 (Staff_group_bar_engraver, Span_score_bar_engraver); Span_bar* -Piano_bar_engraver::get_span_bar_p() const +Piano_bar_engraver::get_span_bar_p () const { Span_bar *s= new Piano_brace; s->break_priority_i_ = -4; return s; } -ADD_THIS_TRANSLATOR(Piano_bar_engraver); -ADD_THIS_TRANSLATOR(Span_score_bar_engraver); +Span_bar* +Staff_group_bar_engraver::get_span_bar_p () const +{ + Span_bar *s= new Staff_bracket; + s->break_priority_i_ = -4; + return s; +} + +ADD_THIS_TRANSLATOR (Piano_bar_engraver); +ADD_THIS_TRANSLATOR (Staff_group_bar_engraver); +ADD_THIS_TRANSLATOR (Span_score_bar_engraver); + diff --git a/lily/span-score-bar.cc b/lily/span-score-bar.cc index 52b3e15333..ffd7ce0763 100644 --- a/lily/span-score-bar.cc +++ b/lily/span-score-bar.cc @@ -48,8 +48,21 @@ Piano_brace::do_width() const return Interval (0,0); } +Atom +Staff_bracket::get_bar_sym (Real dy) const +{ + return paper()->lookup_l ()->vbracket (dy); +} + +Interval +Staff_bracket::do_width() const +{ + return Interval (0,0); +} + IMPLEMENT_IS_TYPE_B2(Span_score_bar, Span_bar, Score_bar); IMPLEMENT_IS_TYPE_B1(Piano_brace, Span_score_bar); +IMPLEMENT_IS_TYPE_B1(Staff_bracket, Span_score_bar); diff --git a/lily/staff-sym.cc b/lily/staff-sym.cc index e51f1d37c5..b22a36592f 100644 --- a/lily/staff-sym.cc +++ b/lily/staff-sym.cc @@ -35,7 +35,8 @@ Interval Staff_symbol::do_height() const { int n = no_lines_i_ -1; - return 2* inter_note_f () * Interval (-n, n); +// return 2* inter_note_f () * Interval (-n, n); + return inter_note_f () * Interval (-n, n); } Molecule* diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index f55fe473bf..f3ccd57cbb 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -60,6 +60,7 @@ strijkers = \type Staff_group = strijkers_group < \score{ < + \textstyle "italic"; \$legno \$koper \$timpani_g diff --git a/mutopia/J.S.Bach/preludes-1.ly b/mutopia/J.S.Bach/preludes-1.ly index 651e0c8bb7..a248586c76 100644 --- a/mutopia/J.S.Bach/preludes-1.ly +++ b/mutopia/J.S.Bach/preludes-1.ly @@ -65,13 +65,13 @@ one = \melodic{ two = \melodic{ \octave c; \textstyle "roman"; - c4-5 e-3 g-\mordent-"(\\textsharp)" 'g4 | - d-\mordent-5 f-3 a-\mordent-"(\\textsharp)" 'a4 | + c4-5 e-3 g-\mordent^"(\\textsharp)" 'g4 | + d-\mordent-5 f-3 a-\mordent^"(\\textsharp)" 'a4 | e-5 e'-\mordent-1 a-4 b-\upprall | c'4 e-4 fis gis-\downprall | a4 c-4 d e-\upprall | f4-1 e d-3-\prall c | - g-\mordent-"(\\textsharp)" 'g g-\mordent 'g | + g-\mordent^"(\\textsharp)" 'g g-\mordent 'g | g-\mordent 'g g-\mordent 'g | % ugh, f should be at upper staff g-\mordent r r16 ['g-5( 'b-4 d] )f-1 s s s | diff --git a/mutopia/J.S.Bach/preludes-5.ly b/mutopia/J.S.Bach/preludes-5.ly index d0446ef4ba..4753fdc05c 100644 --- a/mutopia/J.S.Bach/preludes-5.ly +++ b/mutopia/J.S.Bach/preludes-5.ly @@ -24,8 +24,10 @@ one = \melodic{ < { \voiceone; - c'4-\mordent-"(\\textsharp)"\p r r | - c'4-\mordent-"(\\textsharp)" r r + \textstyle "roman"; + c'4-\mordent^"(\\textsharp)"\p r r | + c'4-\mordent^"(\\textsharp)" r r + \textstyle "italic"; } { \voicetwo; a4 r r | a4 r r } > | @@ -94,7 +96,8 @@ one = \melodic{ two = \melodic{ \clef "bass"; \octave c; - [d32( cis )d8.] r4 r | +% [d32( cis )d8.] r4 r | + d4-\mordent r r | 'd4 r r | d-\mordent r r | 'd4 r r | @@ -109,7 +112,9 @@ two = \melodic{ [g!-5 es'-1 c'-1 g-5 es'-1 c'-1 ] | fis4-5 r r d-4( ) fis d-5 | - g4-\mordent-"(\\textsharp)" r r f!8 | + \textstyle "roman"; + g4-\mordent^"(\\textsharp)" r r8 f!8 | + \textstyle "italic"; e4-\prall r r | f4-\mordent r r8 e | d4 r8 [f-1 e d] | diff --git a/mutopia/standchen.ly b/mutopia/standchen.ly index a3d90b25de..bf860c4126 100644 --- a/mutopia/standchen.ly +++ b/mutopia/standchen.ly @@ -503,8 +503,8 @@ themusic = < % 20pt music uses whole pagewidth % ja Vette Pech. Koop maar een A3 printer % huh? [jcn] - linewidth= 195.\mm; - arithmetic_multiplier = 7.\pt; + linewidth= 193.\mm; +% arithmetic_multiplier = 7.\pt; gourlay_maxmeasures = 9.; \output "standchen-20.out"; @@ -512,8 +512,8 @@ themusic = < \paper{ % 16pt mustn't use whole page width linewidth= 160.\mm; - arithmetic_multiplier = 6.\pt; - gourlay_maxmeasures = 9.; +% arithmetic_multiplier = 6.\pt; +% gourlay_maxmeasures = 9.; \output "standchen-16.out"; } } diff --git a/mutopia/standje.ly b/mutopia/standje.ly index d191707165..7a10d0e0f4 100644 --- a/mutopia/standje.ly +++ b/mutopia/standje.ly @@ -301,7 +301,7 @@ $grand_staff = \type Grandstaff< \paper{ % how does this work? % previously we had the clear 'ideal whole note space' setting? - arithmetic_multiplier = 6.\pt; +% arithmetic_multiplier = 6.\pt; % ugh: the *first* (intro) line may only have four measures... gourlay_maxmeasures = 4.; } -- 2.39.5