]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.46
authorfred <fred>
Tue, 26 Mar 2002 23:21:19 +0000 (23:21 +0000)
committerfred <fred>
Tue, 26 Mar 2002 23:21:19 +0000 (23:21 +0000)
13 files changed:
input/bugs/accidental-collision.ly [new file with mode: 0644]
input/bugs/direction.ly
input/bugs/p.ly
input/bugs/ps.ly
input/bugs/staccato-quantisation.ly [new file with mode: 0644]
input/bugs/steep-beam.ly [new file with mode: 0644]
lily/include/key-engraver.hh
lily/include/note-column.hh
lily/include/rhythmic-head.hh
lily/key-engraver.cc
lily/parser.yy
lily/system-start-delimiter-engraver.cc
lily/timing-engraver.cc

diff --git a/input/bugs/accidental-collision.ly b/input/bugs/accidental-collision.ly
new file mode 100644 (file)
index 0000000..63fdaa3
--- /dev/null
@@ -0,0 +1,13 @@
+
+
+\include "paper16.ly";
+\score {
+  \notes {
+    \relative c'' \context Voice \sequential {
+     <dis ais e>
+   }
+  }
+  \paper{
+      linewidth = 5.0\cm;
+  }
+}
index 47f6cd4ad53ba8712e8630c71db54a722ca5c58b..8b137891791fe96927ad78e64b0aad7bded08bdc 100644 (file)
@@ -1,18 +1 @@
-%
-% urg ik dacht dat jij generic-properties en dir had gefikst?
-% deze doet het wel in 1.3.37, voor je change + revert
-%
-\score{
-\context Voice=x \notes\relative c''{
-\property Voice.dynamicDirection = #-1
-\property Voice.verticalDirection = #1
 
-c\pp c c\< c \! c c \ff
-
-}
-\paper{
-}
-\midi{
-\tempo 1 = 60;
-}
-}
index bf4bedc6280709746dc4e028d589079972087d61..416e641c6e1f095c97f7e848324f595f47d4ece5 100644 (file)
@@ -1,31 +1,3 @@
-\header {
-  filename =    "praeludium-fuga-E.ly";
-  title =       "praeludium and fuga in E-major";
-  opus =        "BWV 566";
-  composer =    "Johann Sebastian Bach (1685-1750)";
-  enteredby =   "JCN";
-  copyright =   "public domain";
-}
-%{
-  description
-
-  Praeludium 3 bar excerpt,
-       2nd fuga transposed subject -- 4 bar excerpt. 
-        We try to imitate the Griepenkerl/Keller edition which
-       gives the best approximation to Bach's original layout
-
-%}
-%{
- Tested Features:
- purpose of this file is testing: 
-   * real-life collisions
-   * multi-voice input --- splitting?
-   * organ staff...
-%}
-
-\version "1.3.4";
-
-
 
 praeludium_commands = \notes {
   \time 4/4;
index db59c5ce54c9e58e2f5626d0a0bcaa68d0a92bdc..026b97485c2c3954cc5971187d13d5f0bc921f32 100644 (file)
@@ -5,7 +5,7 @@
       \notes { a' b' c' d' }
     }
 
-%    \break
+    \break
 
     \context PianoStaff <
       \context Staff = i {
diff --git a/input/bugs/staccato-quantisation.ly b/input/bugs/staccato-quantisation.ly
new file mode 100644 (file)
index 0000000..a8fd4cf
--- /dev/null
@@ -0,0 +1,4 @@
+\score { \notes \context Staff {
+\stemup
+f'-. g-. a-. b-. c-. d-. e-.
+}}
diff --git a/input/bugs/steep-beam.ly b/input/bugs/steep-beam.ly
new file mode 100644 (file)
index 0000000..ea7fe13
--- /dev/null
@@ -0,0 +1,3 @@
+
+
+\score { \notes <{  [ r8 g''16 des'] [r8 c16 a] }>}
index cbd80e8d423fb1ed52a375a33bfee6dee9707940..f91f7eea8bb422f60d731e38e4cbe244f376a6d1 100644 (file)
@@ -25,6 +25,10 @@ public:
   Key_engraver();
   
   VIRTUAL_COPY_CONS(Translator);
+
+  /*
+    TODO: move these into properties.
+   */
   Key key_;
   Key_change_req * keyreq_l_;
   Key_item * item_p_;
index 0d81e99399cb99ef18b93b8c1672769a83aa57aa..9ad0295ad70ae9bd1e9bb7b33b92f6597f5a2510 100644 (file)
@@ -31,7 +31,6 @@ public:
 
 
   Interval_t<int> head_positions_interval() const;
-  //  Interval width () const;
 
   void translate_rests(int dy);
   Note_head * first_head ()const;
index bb34f17efe4692791d876b907e5c95def2ee2a74..4733d5f1555c5b5e46c33dcaf5ec44bc61345ef1 100644 (file)
 
 #include "item.hh"
 
-/*
-  Why don't I have a 
-  VIRTUAL_COPY_CONS (Score_element);
-  see also note-head, rest.
-  ?
-*/
-
 class Rhythmic_head : public Item
 {
 public:
+
+  /*
+    Typically not used, since Rhythmic_head is not breakable.
+   */
+  VIRTUAL_COPY_CONS(Rhythmic_head);
   int balltype_i () const;
 
   void add_dots (Dots *);
index ac977363448f6fd14c7c401292bc97aa1c935e06..6d01fb2b6de72d73ec96049f9890a9a362314933 100644 (file)
@@ -94,13 +94,7 @@ Key_engraver::acknowledge_element (Score_element_info info)
   else if (dynamic_cast<Bar *> (info.elem_l_)
           && accidental_idx_arr_.size ()) 
     {
-      bool def =  (!item_p_);
       create_key ();
-      if (!def)
-       {
-         item_p_->set_elt_property ("visibility-lambda",
-                                   scm_eval (ly_symbol2scm  ("all-visible")));
-       }
     }
 
 }
@@ -119,6 +113,10 @@ Key_engraver::do_pre_move_processing ()
 { 
   if (item_p_) 
     {
+      if (keyreq_l_)
+       item_p_->set_elt_property ("visibility-lambda",
+                                  scm_eval (ly_symbol2scm  ("all-visible")));
+      
       typeset_element (item_p_);
       item_p_ = 0;
     }
@@ -126,7 +124,7 @@ Key_engraver::do_pre_move_processing ()
 
 
 /*
-  TODO Slightly hairy.  
+  TODO.  Use properties; and this is too hairy.
  */
 void
 Key_engraver::read_req (Key_change_req const * r)
index 39019cbe2678906de78bb9f7bcf3c3217ee9a463..e5a7583522e26fb30d825678e32530e25f757cd2 100644 (file)
@@ -487,9 +487,11 @@ score_block:
        }
        ;
 
-score_body:            {
+score_body:
+       Music   {
                $$ = new Score;
                $$->set_spot (THIS->here_input ());
+               $$->music_p_ = $1;
        }
        | SCORE_IDENTIFIER {
                $$ = $1->access_content_Score (true);
@@ -497,11 +499,6 @@ score_body:                {
        | score_body mudela_header      {
                $$->header_p_ = $2;
        }
-       | score_body Music      {
-               if ($$->music_p_)
-                       $2->warning (_ ("More than one music block"));  
-               $$->music_p_ = $2;
-       }
        | score_body output_def {
                $$->add_output ($2);
        }
index d8ec2aed2fa15e1996d4a7d549872c20ea7c2309..caa138477d667fde98a0101abc5bed05171a62ee 100644 (file)
 #include "paper-column.hh"
 #include "paper-def.hh"
 
-/*
-  TODO: rename this to system-open-engraver (or whatever.)
-
- */
 class System_start_delimiter_engraver : public Engraver
 {
 public:
   VIRTUAL_COPY_CONS(Translator);
   System_start_delimiter_engraver();
 
-  Spanner * spanbar_;
 protected:
-
+  Spanner * delim_;
   virtual void acknowledge_element (Score_element_info);
   virtual void do_creation_processing ();
   virtual void do_removal_processing ();
@@ -35,22 +30,21 @@ protected:
 
 ADD_THIS_TRANSLATOR(System_start_delimiter_engraver);
 
-
 void
 System_start_delimiter_engraver::acknowledge_element (Score_element_info inf)
 {
   if (dynamic_cast<Staff_symbol*> (inf.elem_l_))
     {
       /*
-       don't add as Axis_group_interface (spanbar_).add_element (),
+       don't add as Axis_group_interface (delim_).add_element (),
        because that would set the parent as well */
          
-      Group_interface (spanbar_).add_element (inf.elem_l_);
+      Group_interface (delim_).add_element (inf.elem_l_);
     }
   else if (System_start_delimiter * b = dynamic_cast<System_start_delimiter *> (inf.elem_l_))
     {
       SCM gl = b->get_elt_property ("glyph");
-      SCM my_gl = get_property ("spanBarGlyph");
+      SCM my_gl = delim_->get_elt_property ("glyph");
 
       /*
        UGH UGH
@@ -64,34 +58,39 @@ System_start_delimiter_engraver::acknowledge_element (Score_element_info inf)
 
 System_start_delimiter_engraver::System_start_delimiter_engraver()
 {
-  spanbar_ = 0;
+  delim_ = 0;
 }
 
 void
 System_start_delimiter_engraver::do_creation_processing()
 {
-  spanbar_ = new System_start_delimiter;
-  spanbar_->set_bound (LEFT, get_staff_info ().command_pcol_l ());
-  announce_element (Score_element_info (spanbar_,0));
-}
+  delim_ = new System_start_delimiter;
+  delim_->set_bound (LEFT, get_staff_info ().command_pcol_l ());
 
-void
-System_start_delimiter_engraver::do_removal_processing ()
-{
+  /*
+    You can't override the glyph using \property, you must do it in
+    the predefined context (ie. \translator { ... } )
+   */
   SCM s = get_property ("systemStartDelimiterGlyph");
   if (gh_symbol_p (s))
     {
-      spanbar_->set_elt_property ("glyph", s);
+      delim_->set_elt_property ("glyph", s);
     }
 
+  announce_element (Score_element_info (delim_,0));
+}
+
+void
+System_start_delimiter_engraver::do_removal_processing ()
+{
   // ugh, should have naming without bracket
   SCM collapse = get_property ("bracketCollapseHeight");
   if (gh_number_p (collapse))
-    spanbar_->set_elt_property ("collapse-height", collapse);
+    delim_->set_elt_property ("collapse-height", collapse);
   else
-    spanbar_->set_elt_property ("collapse-height", gh_double2scm (1));
+    delim_->set_elt_property ("collapse-height", gh_double2scm (1));
       
-  spanbar_->set_bound (RIGHT, get_staff_info ().command_pcol_l ());
-  typeset_element (spanbar_);
+  delim_->set_bound (RIGHT, get_staff_info ().command_pcol_l ());
+  typeset_element (delim_);
 }
 
index e64182a3a8955d84e095558b4bf0f408f1471d4c..aa5a4e697344efd3879e1e9c4643a98daae61e1f 100644 (file)
@@ -36,6 +36,7 @@ Timing_engraver::do_try_music (Music*m)
   
   return Timing_translator::do_try_music (m);
 }
+
 #if 0
 String
 Timing_engraver::do_process_music ()
@@ -54,6 +55,9 @@ Timing_engraver::do_process_music ()
 #endif
 
 
+/*
+  TODO make properties of this.
+ */
 String
 Timing_engraver::which_bar ()
 {