]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.1.59
authorfred <fred>
Tue, 26 Mar 2002 22:23:42 +0000 (22:23 +0000)
committerfred <fred>
Tue, 26 Mar 2002 22:23:42 +0000 (22:23 +0000)
Documentation/tex/lilypond-regtest.doc
NEWS
TODO
VERSION
input/bugs/2pianobrace.ly [new file with mode: 0644]
input/test/repeat-semifold.ly
lily/bar-engraver.cc
lily/lookup.cc
ly/engraver.ly
scm/lily.scm

index 611478d23ad7e4add3c8f59f67b4a3ca9616298c..2b5d51e917426c854eee348a79d6cc63da2b5b32 100644 (file)
@@ -130,6 +130,7 @@ Unfolded behavior:
 \mudelafile{repeat-unfold.ly}
 
 Semi (un)folded behavior.  Voltas can start on non-barline moments.
+If they don't barlines should still be shown.
 
 \mudelafile{repeat-semifold.ly}
 
diff --git a/NEWS b/NEWS
index cc7169ce80e81d7b54739fc6d31f5d263b92a324..c722b2bafaa1b74045eaa3db66242d417c771b4e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,16 @@
+pl 58.uu1
+       - experimental pdftex support, courtesy Stephen Peters.
+       - --version support
+       - junked complicated loose column handling.
+       - only stretch the extra space after prefatory matter, not the
+entire width of prefatory matter.
+       - standardise(d) switches:-d for debug, -M for Make deps, -m for midi-only.
+       - bf: non_musical_space_strength  now works. Set to 8 (-> Strong! )
+       - bf: space after time_sig.
+       - bf: decrescendi.
+       - bf: barlines on voltas
+
+************
 pl 57.hwn1
        - bf: accidentals on grace notes.
        - \property graceAccidentalSpace
diff --git a/TODO b/TODO
index 92e9b48a21fd665ca7ccc568b2409a2d34d6f7db..304e29b7fe2b659c0718785ee6dbeb20cb5a43bb 100644 (file)
--- a/TODO
+++ b/TODO
@@ -20,12 +20,88 @@ typeface. ie. leading is vertical space  --hwn]
 . * junk delayed spanner breaking.
 . * check dangling_scm_sym working.
 . * revise pianobrace to put font stuff into Lookup
-. * standardise(d) switches: -v, --version; -d, --debug,
 . * spacing of accidentals
 . * restorations & repeats
-. * dotted rests?
-. * input/test/grace.ly spacing (triplet!)
+. * \score {
+  \context Staff \notes {
+c'2 fis'~
+% accidential after bar
+fis'4 % accidential should be here
+fis' g'2
+\repeat semi 2 {
+c' c'
+}
+\alternative {
+% no bars at the beginning of alternative 1 and at the end of alternative 2
+{
+d' d'
+}
+{
+c'1 c'
+}
+}
+d'4_"normal" d' \times 2/3 {e' e' e'}
+% no triplet bracket in \tiny
+\tiny d'4_"tiny" d' \times 2/3 {e' e' e'}
+  }
+}
+
+. * 
+So how do I do what I want to do?
+
+In Caro Mio Ben, bar 8, there's a syllable that starts on a note, and
+ends on a pair of grace notes.  Standard practice is to mark this with
+a slur starting on the main note and ending on the grace note, so a
+singer knows where to break the words.
+
+In bar 26, there's a \p marker that should appear below the grace
+note.
+
+In bar 27, there's a crescendo that's supposed to start at the start
+of the grace notes and extend to the note after the grace notes.
+
+How do I specify these?
+
+How can I control whether a grace note takes its time from the note
+before or the note after it (for the purposes of alignment with
+lyrics)?
+. *  / distance after 4/4 \key.
 . * spanners from grace to  normal ctxt
+. * Glen:
+1. I got a vertical line where I asked for a decrescendo.
+
+2. Slurs -- good to see some spacing between slurs and lyrics, but not
+there's several times too much space.
+
+3. Slurs with wrong slopes. Where a slur between two notes goes from the
+head of one to the stem of another it can have the wrong slope:
+         |   ___
+         |  /   \
+         | /    |
+        x|/     |
+                |
+               x|
+   The music goes down but the slur goes up (or vice versa). This looks
+wrong.
+
+4. Lyrics and \fermata collide. I know that the TODO has lyrics and scripts
+colliding; I'm just including it here because it's really an issue for me
+with fermata. Other scripts aren't a problem for me, but sometimes I need
+fermata on both sides of the staff (when sop and alto hold different notes,
+for example). In fact it's not just scripts and lyrics: In a choirstaff,
+scripts above the bass clef collide with scripts below the treble clef.
+
+5. Sometimes lyrics extend past the right end of the staff. I guess that
+this is a similar problem (if not another symptom of the same problem) as
+one of the spacing bugs mentioned in the TODO.
+
+6. The bar line at the beginning of an \alternative section has disappeared
+altogether.
+
+7. When it's a tight fit to get all the notes in the first line, the first
+note collides with the time signature. Is this the same as one of the
+spacing bugs mentioned in the TODO?
+
 .* 4.  Lyrics and grace sections don't go too well together.
         The words are aligned with the main note, not the start of the
         grace note.  This is usually wrong, but is sometimes right.
@@ -53,16 +129,12 @@ typeface. ie. leading is vertical space  --hwn]
 - The paper11/13/26 files have to be updated.
 . * Grace_slur_engraver.
 . * input/star-spangled-banner.ly: fold for lyrics?
+. * don't create $srcdir/share/
 . * Break_req handling is silly (break_forbid () + \break fucks up.)
 . * hangOnClef with non-breakable clefs.
-. * do scaled fonts generally 
+. * account for accidentals in spacing.
+. * collision of lyrics with span_bars. See star-spangled.
 . * fix partial measures in meaningful way.
-. * Michael
-
-- The two spacing bugs in the choral-1.ly I sent you earlier, small
-GIFs attached for easy reference: #1: time meter and first note on the
-line are too close; #2: last note on the line and next bar are too
-close.
 . * relative mode for midi2ly
 . * 
 Crescendi/diminuendi that cross a line break lose their vertical
diff --git a/VERSION b/VERSION
index 0e9fb9aa7bd458399e036a65968cb969120180c9..2e50a6e99631d6db00589ca345819b4363d360d8 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
-PATCH_LEVEL=58
+PATCH_LEVEL=59
 MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
diff --git a/input/bugs/2pianobrace.ly b/input/bugs/2pianobrace.ly
new file mode 100644 (file)
index 0000000..a5c7cb4
--- /dev/null
@@ -0,0 +1,6 @@
+\score { \notes {
+\context StaffGroup <\context PianoStaff = PA< c4 d4 >
+ \context PianoStaff =PB < c4 d4 >
+>}
+}
+
index 58d03f8cc88e8b98ccac3ecc6eff612b4665fd7e..6baf4e60fd8449b4f2c88193366d3fd3b47722a9 100644 (file)
@@ -4,6 +4,7 @@
 \repeat semi 3 { c^"3$\\times$ 0alt" d }
 % less alts than body
 \repeat semi 4 { c^"4$\\times$ 2alt" d } \alternative { e f }
+
 % more alts than body
 \repeat semi 2 { c^"2$\\times$ 3alt" d } \alternative { e f g } 
 }}
index 2d48eb6c4a3e5e1fa00c169ca67a8f8b19cc8a5e..84ada321e8157fb34bfb7e00f882fe9ace962f5a 100644 (file)
@@ -74,11 +74,11 @@ Bar_engraver::create_bar ()
 
 /**
    Make a barline.  If there are both |: and :| requested, merge them
-   to :|:
+   to :|:.
 
 */
 void
-Bar_engraver::request_bar (String type_str)
+Bar_engraver::request_bar (String requested_type)
 {
   Scalar prop = get_property ("barAtLineStart", 0);
   if (!now_mom ())
@@ -87,13 +87,17 @@ Bar_engraver::request_bar (String type_str)
       if (!prop.to_bool ())
        return;
     }
+  bool  bar_existed = bar_p_;
   create_bar ();
-
-  if (((type_str == "|:") && (bar_p_->type_str_ == ":|"))
-    || ((type_str == ":|") && (bar_p_->type_str_ == "|:")))
+  if (bar_existed && requested_type == "")
+    {
+      return;
+    }
+  else if (((requested_type == "|:") && (bar_p_->type_str_ == ":|"))
+    || ((requested_type == ":|") && (bar_p_->type_str_ == "|:")))
     bar_p_->type_str_ = ":|:";
-  else if (type_str_.length_i ())
-    bar_p_->type_str_ = type_str;
+  else
+    bar_p_->type_str_ = requested_type;
 }
 
 void 
index e82dd2f808ba2e620eee290fcce3226c799e1c83..9dee0018d242b69fe1bada20135633585e1bfa8c 100644 (file)
@@ -490,6 +490,19 @@ Molecule
 Lookup::staff_brace (Real y, int staff_size) const
 {
   Molecule m;
+  /*
+  (define (pianobrace y staffht)
+    (let* ((step 1.0)
+          (minht (* 2 staffht))
+          (maxht (* 7 minht))
+          )
+      (string-append
+       (select-font (string-append "feta-braces" (number->string (inexact->exact staffht))) 0)
+       (char (max 0 (/  (- (min y (- maxht step)) minht) step))))
+      )
+    )
+  */
+
   
   Atom at  (gh_list (pianobrace_scm_sym,
                     gh_double2scm (y),
index 36fe34569181b6663b971b9b310d168afd9ed27d..dfd6ca731ed93793397a4bf2e93acda6d91083f1 100644 (file)
@@ -9,8 +9,10 @@ StaffContext=\translator {
        voltaVisibility = "1";
 
        \consists "Multi_measure_rest_engraver";
-       \consists "Repeat_engraver";
        \consists "Bar_engraver";
+ % Bar_engraver must be first so default bars aren't overwritten
+% with empty ones.
+       \consists "Repeat_engraver";
        \consists "Clef_engraver";
        \consists "Key_engraver";
        \consists "Time_signature_engraver";
index 139b94cfa81b2c7ce19064e0f09e57df06e28fc2..cdeca540f1671890216ef58f427285b204c4ef52 100644 (file)
    (("Clef_item"  "Span_bar") . (minimum_space 3.7))
    (("Time_signature" "Span_bar") . (minimum_space 2.0))
    (("Key_item"  "Span_bar") . (minimum_space 2.5))
-   (("Staff_bar" "Time_signature") . (minimum_space 2.0))
-   (("Time_signature" "begin-of-note") . (extra_space 1.0))    ; Huh? see twinkle.ly
+   (("Staff_bar" "Time_signature") . (minimum_space 1.5)) ;double check this.
+   (("Time_signature" "begin-of-note") . (extra_space 2.0)) ;double check this.
    (("Key_item" "begin-of-note") . (extra_space 2.5))
    (("Staff_bar" "begin-of-note") . (extra_space 1.0))
    (("Clef_item" "begin-of-note") . (minimum_space 5.0))
    )
 )
  
-
 (define (break-align-spacer this next)
   (let ((entry (assoc `(,this ,next) space-alist)))
     (if entry
   ; by executing a 0 0 moveto
        
   (define (embedded-ps s)
-    (string-append "\\special{ps: @beginspecial @setspecial " s " @endspecial}"))
+    (string-append "\\embeddedps{" s "}"))
 
   (define (end-output) 
     "\n\\EndLilyPondOutput")
 
   ;; UGH
    
-  (define (header-end) (string-append
-"\\special{!"
-"/stafflinethickness \\mudelapaperstaffline0 def " ;may we burn in hell.
-"/interline \\mudelapaperinterline0 %\n def "
-"interline 3 div /bracket_b exch def "
-"interline 2 mul /bracket_w exch def "
-"stafflinethickness 2 mul /bracket_t exch def "
-"interline 1.5 mul /bracket_v exch def "
-"bracket_v /bracket_u exch def "
-"50 /bracket_alpha exch def "
-"1 setlinecap}"))
+  (define (header-end) "\\turnOnPostScript")
 
   (define (header creator generate) 
     (string-append
                  
   (define (beam width slope thick)
     (string-append
-     (numbers->string (list width slope thick)) " draw_beam " ))
+     (numbers->string (list width slope thick)) " draw_beam" ))
 
   (define (bracket h)
     (invoke-dim1 " draw_bracket" h))
      (number->string (* 2 thick))
      " ] 0 draw_dashed_slur"))
 
-  (define (decrescendo w h cont thick)
+  (define (decrescendo thick w h cont)
     (string-append 
      (numbers->string (list w h (inexact->exact cont) thick))
      " draw_decrescendo"))