]> git.donarmstrong.com Git - lilypond.git/commitdiff
release commit release/2.1.23
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 14 Feb 2004 12:38:16 +0000 (12:38 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 14 Feb 2004 12:38:16 +0000 (12:38 +0000)
17 files changed:
ChangeLog
Documentation/topdocs/NEWS.texi
input/regression/note-head-harmonic.ly
input/test/staff-size.ly
lily/accidental-engraver.cc
lily/accidental-placement.cc
lily/completion-note-heads-engraver.cc
lily/new-fingering-engraver.cc
lily/note-heads-engraver.cc
lily/parser.yy
lily/rhythmic-head.cc
lily/separating-group-spanner.cc
lily/separation-item.cc
scm/define-grob-properties.scm
scm/define-translator-properties.scm
scm/document-backend.scm
scm/documentation-lib.scm

index f6b854a8c8fbf2ec6aefed0a7f0415e80180a10b..97b9e74066e87ff945465b7ecf8e8ee70bd63fdf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,12 @@
 
 2004-02-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
 
 2004-02-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * lily/accidental-engraver.cc (acknowledge_grob): don't make
+       accidentals for harmonic notes
+
+       * lily/new-fingering-engraver.cc (acknowledge_grob): kill dots,
+       for harmonic notes.
+
        * scm/document-backend.scm (interface-doc): prune Grob
        documentation: don't duplicate interface information.
 
        * scm/document-backend.scm (interface-doc): prune Grob
        documentation: don't duplicate interface information.
 
index 2e433361500ab31f29a2c57ffb3ff7a362950c83..349eebd549621b8cba281a915861461601d686ff 100644 (file)
@@ -18,6 +18,8 @@ Version 2.1.13
 
 @itemize @bullet
 
 
 @itemize @bullet
 
+@item The program reference has been cleaned up and revised.
+
 @item The syntax for setting properties has been simplified:
 the following table lists the differences:
 
 @item The syntax for setting properties has been simplified:
 the following table lists the differences:
 
index e30d0eb719e5988efe9f97997bf211854bda07cb..11f5bacdaab034e40666e95ab8eae0e02f9dc0a7 100644 (file)
@@ -1,16 +1,19 @@
 \header
 {
     texidoc = "  The handling of stems for harmonic notes must be
 \header
 {
     texidoc = "  The handling of stems for harmonic notes must be
-   completely identical to normal note heads."
+   completely identical to normal note heads.
+
+  Harmonic heads do not get accidentals or dots."
 }
 
 \version "2.1.22"
 
 \score {
  \notes {
 }
 
 \version "2.1.22"
 
 \score {
  \notes {
-    < c''     f''\harmonic >4
+    < c'' f''\harmonic >4
     \stemUp
     \stemUp
-    < c''     f''\harmonic >
+    < c'' f''\harmonic >4.
+    < cis'' fis''\harmonic >8
   }
 
   \paper {
   }
 
   \paper {
index a8a4159b101d8793beabefaea09cf825152b8ae7..efab3b285644c391524fe0662b4524ff0806da03 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.1.22"
+\version "2.1.23"
 
 \header { texidoc = "@cindex Staff Size
 
 
 \header { texidoc = "@cindex Staff Size
 
@@ -14,7 +14,7 @@ must be set."
       }
       \new Staff \with {
          fontSize = #-1
       }
       \new Staff \with {
          fontSize = #-1
-         StaffSymbol \set #'staff-space = #(magstep -1)
+         \override StaffSymbol #'staff-space = #(magstep -1)
       } {
          \clef bass
          c8 c c c  c c c c
       } {
          \clef bass
          c8 c c c  c c c c
index 770eaa024685b43d8cfcbd733729408c0925c3f6..e20730bb997eb535a7de815b9a12fd320b220481 100644 (file)
@@ -427,8 +427,10 @@ Accidental_engraver::acknowledge_grob (Grob_info info)
   Music * note =  info.music_cause ();
 
   if (note
   Music * note =  info.music_cause ();
 
   if (note
-      && note->is_mus_type("note-event")
-      && Rhythmic_head::has_interface (info.grob_))
+      && note->is_mus_type ("note-event")
+      && Rhythmic_head::has_interface (info.grob_)
+      && !gh_equal_p (info.grob_->get_grob_property ("style"), ly_symbol2scm ("harmonic"))
+      )
     {
       Accidental_entry entry ;
       entry.head_ = info.grob_;
     {
       Accidental_entry entry ;
       entry.head_ = info.grob_;
index 10ebcbc66d9500ab11fd72fe4ecbb748f42d9bbf..e9d0817695be7272802c00f005def4c1fa910262 100644 (file)
@@ -9,6 +9,7 @@ source file of the GNU LilyPond music typesetter
 
 #include <math.h>
 #include <libc-extension.hh>
 
 #include <math.h>
 #include <libc-extension.hh>
+
 #include "item.hh"
 #include "skyline.hh"
 #include "music.hh"
 #include "item.hh"
 #include "skyline.hh"
 #include "music.hh"
index 1669e9a39ff74f294e9fef3d5f5172159288d353..93f3a60604dbd4970a46b9156f8d5974ed6aef89 100644 (file)
@@ -32,7 +32,7 @@
   
   We copy the reqs into scratch note reqs, to make sure that we get
   all durations exactly right.
   
   We copy the reqs into scratch note reqs, to make sure that we get
   all durations exactly right.
- */
+*/
 
 class Completion_heads_engraver : public Engraver
 {
 
 class Completion_heads_engraver : public Engraver
 {
index 7fc5779d5367146e2b76b91e705f9e62fa61ee9c..35e7e3328e566457f5b6ce20664dd41b87eddcd7 100644 (file)
@@ -90,6 +90,9 @@ New_fingering_engraver::acknowledge_grob (Grob_info inf)
          else if (m->is_mus_type ("harmonic-event"))
            {
              inf.grob_->set_grob_property ("style", ly_symbol2scm ("harmonic"));
          else if (m->is_mus_type ("harmonic-event"))
            {
              inf.grob_->set_grob_property ("style", ly_symbol2scm ("harmonic"));
+             Grob * d = unsmob_grob (inf.grob_->get_grob_property ("dot"));
+             if (d)
+               d->suicide ();  
            }
        }
 
            }
        }
 
index b3ab068c3ffb325a44f9f2b5a85d794b0fd852e4..6a10e3e4c8907b52a7618477413d66b1afc37d0d 100644 (file)
@@ -64,7 +64,6 @@ Note_heads_engraver::process_music ()
       Duration dur = *unsmob_duration (req->get_mus_property ("duration"));
 
       note->set_grob_property ("duration-log", gh_int2scm (dur.duration_log ()));
       Duration dur = *unsmob_duration (req->get_mus_property ("duration"));
 
       note->set_grob_property ("duration-log", gh_int2scm (dur.duration_log ()));
-
       if (dur.dot_count ())
        {
          Item * d = make_item ("Dots");
       if (dur.dot_count ())
        {
          Item * d = make_item ("Dots");
index 06aa057bf8cdfe87db52d0cf5a456c2d042c4762..9f0096c2f53c30ac82e661dfa4e007ccb494de1b 100644 (file)
@@ -1181,13 +1181,6 @@ music_property_def:
                        $3, $5, SCM_UNDEFINED));
                $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL);
        }
                        $3, $5, SCM_UNDEFINED));
                $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL);
        }
-       | SET context_prop_spec '=' scalar {
-               $$ = property_op_to_music (scm_list_n (
-                       ly_symbol2scm ("assign"),
-                       gh_cadr ($2),
-                       $4, SCM_UNDEFINED));
-               $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL);
-       }
        | REVERT context_prop_spec embedded_scm {
                $$ = property_op_to_music (scm_list_n (
                        ly_symbol2scm ("pop"),
        | REVERT context_prop_spec embedded_scm {
                $$ = property_op_to_music (scm_list_n (
                        ly_symbol2scm ("pop"),
@@ -1196,6 +1189,13 @@ music_property_def:
 
                $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL);
        }
 
                $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL);
        }
+       | SET context_prop_spec '=' scalar {
+               $$ = property_op_to_music (scm_list_n (
+                       ly_symbol2scm ("assign"),
+                       gh_cadr ($2),
+                       $4, SCM_UNDEFINED));
+               $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL);
+       }
        | UNSET context_prop_spec {
                $$ = property_op_to_music (scm_list_n (
                        ly_symbol2scm ("unset"),
        | UNSET context_prop_spec {
                $$ = property_op_to_music (scm_list_n (
                        ly_symbol2scm ("unset"),
index 977777f98be05feae62988e8172d8c37d6eb19fc..e887235cbfdb124dae5ae6ea3a883934baa69a4c 100644 (file)
@@ -41,8 +41,6 @@ Rhythmic_head::set_dots (Grob*me,Item *dot)
   me->set_grob_property ("dot", dot->self_scm ());
 }
 
   me->set_grob_property ("dot", dot->self_scm ());
 }
 
-
-
 int
 Rhythmic_head::duration_log (Grob*me) 
 {
 int
 Rhythmic_head::duration_log (Grob*me) 
 {
@@ -50,8 +48,6 @@ Rhythmic_head::duration_log (Grob*me)
   return gh_number_p (s) ? gh_scm2int (s) : 0;
 }
 
   return gh_number_p (s) ? gh_scm2int (s) : 0;
 }
 
-
-
 ADD_INTERFACE (Rhythmic_head,"rhythmic-head-interface",
   "Note head or rest",
   "dot stem duration-log");
 ADD_INTERFACE (Rhythmic_head,"rhythmic-head-interface",
   "Note head or rest",
   "dot stem duration-log");
index 92d9cc236d4a7db2cf7bc41db88f898e3c016a1e..38806f5d1445191557cef5e3b0a52e031a728386 100644 (file)
@@ -117,6 +117,6 @@ Separating_group_spanner::add_spacing_unit (Grob* me ,Item*i)
 
 
 ADD_INTERFACE (Separating_group_spanner,"separation-spanner-interface",
 
 
 ADD_INTERFACE (Separating_group_spanner,"separation-spanner-interface",
-  "A spanner that calculates spacing constraints (\"rods\") "
- "using the @code{separation-item-interface} grobs in @code{elements}.",
-  "elements padding");
+              "A spanner that calculates spacing constraints (\"rods\") "
             "using the @code{separation-item-interface} grobs in @code{elements}.",
+              "elements padding");
index b3e7c8a368853dff23513410745d41d838e0d056..34f3855ebc3d0e16433570f1e8e0b290ac1b64fb 100644 (file)
@@ -167,8 +167,9 @@ Separation_item::extremal_break_aligned_grob (Grob *separation_item, Direction d
 
 
 ADD_INTERFACE (Separation_item,"separation-item-interface",
 
 
 ADD_INTERFACE (Separation_item,"separation-item-interface",
-  "Item that computes widths to generate spacing rods.\n"
-"\n"
-"Calculate dimensions for the Separating_group_spanner; this has to be "
-"an item to get dependencies correct.  "
-, "padding X-extent conditional-elements elements");
+              "Item that computes widths to generate spacing rods. "
+              "This is done in concert with @ref{separation-spanner-interface}."
+              
+              ,
+
+              "padding X-extent conditional-elements elements");
index 350049fdc0c7c20aeafe39e8bf70bb18ba3dde5c..b56727186cd32555a5a96e6a5072a03814cb83b7 100644 (file)
@@ -171,7 +171,7 @@ line).")
      (dashed ,number? " number representing the length of the dashes.")
      
      (neutral-direction ,ly:dir? "Where to go if we're on the neutral
      (dashed ,number? " number representing the length of the dashes.")
      
      (neutral-direction ,ly:dir? "Where to go if we're on the neutral
-position of the staff (see also grob-property neutral-position).")
+position of the staff.")
 
      ;; todo: why is this tunable?
      (neutral-position ,number? "Position (in half staff spaces) where
 
      ;; todo: why is this tunable?
      (neutral-position ,number? "Position (in half staff spaces) where
index 11411f4f12b1d45aa663a871204c8c884b163014..a6cd485be266cbff1ebe4029c5ff0b18eaa59c0e 100644 (file)
@@ -397,28 +397,28 @@ Valid values are described in @internalsref{bar-line-interface}.
 whether a melisma is active. This can be used to signal melismas on
 top of those automatically detected. ")
      (graceSettings ,vector?
 whether a melisma is active. This can be used to signal melismas on
 top of those automatically detected. ")
      (graceSettings ,vector?
-                   "Overrides for grace notes. This
-property should be manipulated through the @code{add-grace-property}
-function.")
-     (currentCommandColumn ,ly:grob? "Grob that is X-parent to all current breakable (clef, key signature, etc.) items.")
-     (currentMusicalColumn ,ly:grob? "Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).")
+                   "Overrides for grace notes. This property should
+be manipulated through the @code{add-grace-property} function.")
+     (currentCommandColumn ,ly:grob? "Grob that is X-parent to all
+current breakable (clef, key signature, etc.) items.")
+     (currentMusicalColumn ,ly:grob? "Grob that is X-parent to all
+non-breakable items (note heads, lyrics, etc.).")
      (breakableSeparationItem ,ly:grob?
      (breakableSeparationItem ,ly:grob?
-                             "The breakable items in this time step, for this staff.")
+                             "The breakable items in this time step,
+for this staff.")
 
      (localKeySignature ,list? "the key signature at this point in the
 
      (localKeySignature ,list? "the key signature at this point in the
-measure.  The format is the same as for keySignature, but can also contain
-((OCTAVE . NAME) . (ALTER . BARNUMBER)) pairs. It is reset at every
-bar line.
-"  )
+measure.  The format is the same as for keySignature, but can also
+contain ((@var{octave} . @var{name}) . (@var{alter} . @var{barnumber}))
+pairs. It is reset at every bar line."  )
 
      
 
      
-     (localKeySignatureChanges ,list? "Experimental.
- [DOCME]")
+     (localKeySignatureChanges ,list? "Experimental. [DOCME]")
 
      (finalizations ,list? "List of expressions to evaluate before proceeding to next time step. Internal variable.")
 
      (finalizations ,list? "List of expressions to evaluate before proceeding to next time step. Internal variable.")
-     (busyGrobs ,list? "
-a queue of (END-MOMENT . GROB) conses. This is for internal (C++) use only.
-This property contains the grobs which are still busy (eg. noteheads, spanners, etc.)
+     (busyGrobs ,list? "a queue of (@var{end-moment} . @var{GROB})
+conses. This is for internal (C++) use only.  This property contains
+the grobs which are still busy (eg. noteheads, spanners, etc.)
 ")
      (barCheckLastFail ,ly:moment? "Where in  the measurze did the last barcheck fail?") 
      (associatedVoiceContext ,ly:context? "The context object of the Voice that has the melody for this Lyrics.")
 ")
      (barCheckLastFail ,ly:moment? "Where in  the measurze did the last barcheck fail?") 
      (associatedVoiceContext ,ly:context? "The context object of the Voice that has the melody for this Lyrics.")
@@ -429,17 +429,17 @@ variable: store table with MusicName to Engraver entries.")
 context.")
 
      (beamMelismaBusy ,boolean? "Signal if a beam is present.")
 context.")
 
      (beamMelismaBusy ,boolean? "Signal if a beam is present.")
-(dynamicAbsoluteVolumeFunction ,procedure? "[DOCUMENT-ME]
-")
+     (dynamicAbsoluteVolumeFunction ,procedure? "[DOCUMENT-ME]")
 
 
-(lastKeySignature ,list? "Last key
-signature before a key signature change.")
+     (lastKeySignature ,list? "Last key signature before a key
+signature change.")
 
 
-(scriptDefinitions ,list? "
-Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See @file{scm/script.scm} for more information
+     (scriptDefinitions ,list? "Description of scripts. This is used by
+Script_engraver for typesetting note-super/subscripts. See
+@file{scm/script.scm} for more information
 ")
 ")
-(stavesFound ,grob-list? "list of all staff-symbols found.")
-(tieMelismaBusy ,boolean? "Signal whether a tie is present.")
+     (stavesFound ,grob-list? "list of all staff-symbols found.")
+     (tieMelismaBusy ,boolean? "Signal whether a tie is present.")
      )
    ))
 
      )
    ))
 
index 484c65eaceccb4b83b5806f17bc3459a80449daf..325985dd22822ebbe656b7cd90535ddfe9718a54 100644 (file)
@@ -6,28 +6,6 @@
 ;;; Jan Nieuwenhuizen <janneke@gnu.org>
 
 
 ;;; Jan Nieuwenhuizen <janneke@gnu.org>
 
 
-;;; This file generates documentation for the backend of lilypond.
-
-;; alist of property descriptions
-
-;;
-"
-TODO:
-
-
-Grob bla
-
-Created by:
-
-  * preset properties + explanation
-
-Interfaces:
-
-  * properties available.
-
-"
-
-
 (define (interface-doc-string interface grob-description)
   (let*
       ((name (car interface))
 (define (interface-doc-string interface grob-description)
   (let*
       ((name (car interface))
@@ -210,9 +188,9 @@ node."
     (make <texi-node>
       #:name "User backend properties"
       #:desc "All tunable properties in a big list"
     (make <texi-node>
       #:name "User backend properties"
       #:desc "All tunable properties in a big list"
-      #:text (backend-properties-doc-string all-internal-grob-properties))
+      #:text (backend-properties-doc-string all-user-grob-properties))
     (make <texi-node>
       #:name "Internal backend properties"
       #:desc "All internal layout properties in a big list"
     (make <texi-node>
       #:name "Internal backend properties"
       #:desc "All internal layout properties in a big list"
-      #:text (backend-properties-doc-string all-user-grob-properties))
+      #:text (backend-properties-doc-string all-internal-grob-properties))
   )))
   )))
index e0b056205aac08fa63a3a963d26ad4e047c7b3b9..14677006cefaf07d8402e134fcb5c95bc71d17f3 100644 (file)
@@ -206,9 +206,9 @@ with init values from ALIST (1st optional argument)
                    "(" typename ")"
                    (if handle
                        (string-append
                    "(" typename ")"
                    (if handle
                        (string-append
-                        ":\n\n @code{"
+                        ":\n\n"
                         (scm->texi (cdr handle))
                         (scm->texi (cdr handle))
-                        "}\n\n")
+                        "\n\n")
                        "")
                                    
 
                        "")