]> git.donarmstrong.com Git - lilypond.git/commitdiff
* scm/define-grob-properties.scm (all-user-grob-properties): add
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 18 Aug 2005 11:40:23 +0000 (11:40 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 18 Aug 2005 11:40:23 +0000 (11:40 +0000)
@code{} tags to property description.

* lily/include/line-group-group-engraver.hh (Module): remove file.

* python/convertrules.py (conv): add rule for
Engraver_group_engraver -> Engraver_group.

* lily/include/performer-group-performer.hh: analogous.

* lily/include/engraver-group-engraver.hh: rename to Engraver_group.

* lily/context-def.cc (instantiate): check for
Engraver_group_engraver and Performer_group_performer not
Engraver/Performer. Fixes crashes when doing \with { \consist .. }

22 files changed:
ChangeLog
lily/context-def.cc
lily/engraver-group-engraver.cc
lily/engraver.cc
lily/include/engraver-group-engraver.hh
lily/include/engraver.hh
lily/include/lily-proto.hh
lily/include/line-group-group-engraver.hh [deleted file]
lily/include/performer-group-performer.hh
lily/include/performer.hh
lily/include/recording-group-engraver.hh
lily/include/score-engraver.hh
lily/include/score-performer.hh
lily/key-engraver.cc
lily/performer-group-performer.cc
lily/performer.cc
lily/recording-group-engraver.cc
lily/score-engraver.cc
lily/score-performer.cc
lily/translator-group-ctors.cc
python/convertrules.py
scm/define-grob-properties.scm

index 6195ed73e15903cad49484d63cc036d3895fbf35..0e458872819fa83ed85db72535e368e4bc074f71 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
 
+       * scm/define-grob-properties.scm (all-user-grob-properties): add
+       @code{} tags to property description.
+
+       * lily/include/line-group-group-engraver.hh (Module): remove file.
+
+       * python/convertrules.py (conv): add rule for
+       Engraver_group_engraver -> Engraver_group.
+
+       * lily/include/performer-group-performer.hh: analogous.
+
+       * lily/include/engraver-group-engraver.hh: rename to Engraver_group.
+
        * lily/context-def.cc (instantiate): check for
        Engraver_group_engraver and Performer_group_performer not
        Engraver/Performer. Fixes crashes when doing \with { \consist .. }
index fa563bd80a578016ecf18d2e3cd7142f8f6b4473..738da30f81dbd9dad330dbe7e7e7da9e765d1c0c 100644 (file)
@@ -18,6 +18,9 @@
 #include "translator-group.hh"
 #include "warn.hh"
 
+#include "engraver-group-engraver.hh"
+#include "performer-group-performer.hh"
+
 Context_def::Context_def ()
 {
   context_aliases_ = SCM_EOL;
@@ -336,9 +339,9 @@ Context_def::instantiate (SCM ops, Object_key const *key)
   g->simple_trans_list_ = trans_list;
 
   context->implementation_ = g;
-  if (dynamic_cast<Engraver_group_engraver *> (g))
+  if (dynamic_cast<Engraver_group *> (g))
     g->simple_trans_list_ = filter_performers (g->simple_trans_list_);
-  else if (dynamic_cast<Performer_group_performer *> (g))
+  else if (dynamic_cast<Performer_group *> (g))
     g->simple_trans_list_ = filter_engravers (g->simple_trans_list_);
 
   g->context_ = context;
index ff632c7317f09d2dcdad3e2f21cd4cb6f79093a8..a3a5f99ec8335ea5e8c53476fc3d7ee9147ba588 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  engraver-group-engraver.cc -- implement Engraver_group_engraver
+  engraver-group-engraver.cc -- implement Engraver_group
 
   source file of the GNU LilyPond music typesetter
 
 #include "translator-dispatch-list.hh"
 
 void
-Engraver_group_engraver::announce_grob (Grob_info info)
+Engraver_group::announce_grob (Grob_info info)
 {
   announce_infos_.push (info);
 
-  Engraver_group_engraver *dad_eng
+  Engraver_group *dad_eng
     = context_->get_parent_context ()
-    ? dynamic_cast<Engraver_group_engraver *> (context_->get_parent_context ()->implementation ())
+    ? dynamic_cast<Engraver_group *> (context_->get_parent_context ()->implementation ())
     : 0;
   if (dad_eng)
     dad_eng->announce_grob (info);
 }
 
 void
-Engraver_group_engraver::acknowledge_grobs ()
+Engraver_group::acknowledge_grobs ()
 {
   if (!announce_infos_.size ())
     return;
@@ -74,15 +74,15 @@ Engraver_group_engraver::acknowledge_grobs ()
   the group count?
 */
 int
-Engraver_group_engraver::pending_grob_count () const
+Engraver_group::pending_grob_count () const
 {
   int count = announce_infos_.size ();
   for (SCM s = context_->children_contexts ();
        scm_is_pair (s); s = scm_cdr (s))
     {
       Context *c = unsmob_context (scm_car (s));
-      Engraver_group_engraver *group
-       = dynamic_cast<Engraver_group_engraver *> (c->implementation ());
+      Engraver_group *group
+       = dynamic_cast<Engraver_group *> (c->implementation ());
 
       if (group)
        count += group->pending_grob_count ();
@@ -91,7 +91,7 @@ Engraver_group_engraver::pending_grob_count () const
 }
 
 void
-Engraver_group_engraver::do_announces ()
+Engraver_group::do_announces ()
 {
   do
     {
@@ -99,8 +99,8 @@ Engraver_group_engraver::do_announces ()
           scm_is_pair (s); s = scm_cdr (s))
        {
          Context *c = unsmob_context (scm_car (s));
-         Engraver_group_engraver *group
-           = dynamic_cast<Engraver_group_engraver *> (c->implementation ());
+         Engraver_group *group
+           = dynamic_cast<Engraver_group *> (c->implementation ());
          if (group)
            group->do_announces ();
        }
@@ -118,7 +118,7 @@ Engraver_group_engraver::do_announces ()
   while (pending_grob_count () > 0);
 }
 
-Engraver_group_engraver::Engraver_group_engraver ()
+Engraver_group::Engraver_group ()
 {
   acknowledge_hash_table_ = SCM_EOL;
   acknowledge_hash_table_ = scm_c_make_hash_table (61);
@@ -126,7 +126,7 @@ Engraver_group_engraver::Engraver_group_engraver ()
 
 #include "translator.icc"
 
-ADD_TRANSLATOR_GROUP (Engraver_group_engraver,
+ADD_TRANSLATOR_GROUP (Engraver_group,
                      /* doc */ "A group of engravers taken together",
                      /* create */ "",
                      /* accept */ "",
@@ -134,7 +134,7 @@ ADD_TRANSLATOR_GROUP (Engraver_group_engraver,
                      /* write */ "");
 
 void
-Engraver_group_engraver::derived_mark () const
+Engraver_group::derived_mark () const
 {
   scm_gc_mark (acknowledge_hash_table_);
 }
index 2d9d6ae35926fd830400c53c3d7ff7332b079bfe..487b289f268124836ce855a71330de9872861e04 100644 (file)
 #include "score-context.hh"
 #include "lilypond-key.hh"
 
-Engraver_group_engraver *
+Engraver_group *
 Engraver::get_daddy_engraver () const
 {
-  return dynamic_cast<Engraver_group_engraver *> (get_daddy_translator ());
+  return dynamic_cast<Engraver_group *> (get_daddy_translator ());
 }
 
 void
@@ -41,7 +41,7 @@ Engraver::announce_grob (Grob *e, SCM cause)
 
   Grob_info i (this, e);
 
-  Engraver_group_engraver *g = get_daddy_engraver ();
+  Engraver_group *g = get_daddy_engraver ();
   if (g)
     g->announce_grob (i);
 }
index b57f4e0beabbe980a0e9807956111c3bb4d51bdc..0462922a24cb0fec8be3ba73beca6eec044b760d 100644 (file)
@@ -1,6 +1,5 @@
-
 /*
-  engraver-group-engraver.hh -- declare Engraver_group_engraver
+  engraver-group-engraver.hh -- declare Engraver_group
 
   source file of the GNU LilyPond music typesetter
 
 #include "engraver.hh"
 #include "translator-group.hh"
 
-class Engraver_group_engraver : public virtual Translator_group
+class Engraver_group : public virtual Translator_group
 {
 protected:
   Array<Grob_info> announce_infos_;
   SCM acknowledge_hash_table_;
 public:
-  VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Engraver_group_engraver);
-  Engraver_group_engraver ();
+  VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Engraver_group);
+  Engraver_group ();
   virtual void derived_mark () const;
   void do_announces ();
   virtual void announce_grob (Grob_info);
index f80da70d73b21d3ab768707d49372398905a9b7d..df63173e8cfccd672d8829ae0a4d2d9bcfa6519b 100644 (file)
@@ -20,7 +20,7 @@
 class Engraver : public Translator
 {
 
-  friend class Engraver_group_engraver;
+  friend class Engraver_group;
 protected:
   /*
     take note of item/spanner
@@ -30,7 +30,7 @@ protected:
   */
   virtual void acknowledge_grob (Grob_info) {}
   virtual void announce_grob (Grob_info);
-  Engraver_group_engraver *get_daddy_engraver () const;
+  Engraver_group *get_daddy_engraver () const;
 
 public:
   /**
index 76275cfab9224f5b3153cc137cd178099a458413..05af750dbfb9b23bf3094416c904b2e349ac92c6 100644 (file)
@@ -46,7 +46,7 @@ class Context_def;
 class Context_specced_music;
 class Engraver;
 class Engraver;
-class Engraver_group_engraver;
+class Engraver_group;
 class Event;
 class Event_chord;
 class Event_chord_iterator;
@@ -124,7 +124,7 @@ class Paper_score;
 class Paper_system;
 class Performance;
 class Performer;
-class Performer_group_performer;
+class Performer_group;
 class Piano_bar_engraver;
 class Pitch;
 class Pitch_squash_engraver;
diff --git a/lily/include/line-group-group-engraver.hh b/lily/include/line-group-group-engraver.hh
deleted file mode 100644 (file)
index 92b6f8a..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-  line-group-engraver.hh -- declare Line_group_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-#ifndef LINE_GROUP_GRAV_HH
-#define LINE_GROUP_GRAV_HH
-
-#include "engraver-group-engraver.hh"
-
-/**
-   Engravers put elements on the same or lowel level in a line.
-
-   DEPRECATED.
-*/
-class Line_group_engraver_group : public Engraver_group_engraver
-{
-protected:
-  Spanner *staffline_;
-
-  virtual void create_line_spanner ();
-  virtual void initialize ();
-  virtual void finalize ();
-public:
-  TRANSLATOR_DECLARATIONS (Line_group_engraver_group);
-};
-
-#endif // LINE_GROUP_GRAV_HH
-
index 2a8d9a8d4e1b1033e82508642538749bd0c7c013..07baa64d2dfad044fe6fa699211995daa5182e28 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  performer-group-performer.hh -- declare Performer_group_performer
+  performer-group-performer.hh -- declare Performer_group
 
   (c) 1996--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   Jan Nieuwenhuizen <janneke@gnu.org>
 
 typedef void (Performer:: *Performer_method) (void);
 
-class Performer_group_performer : public virtual Translator_group
+class Performer_group : public virtual Translator_group
 {
 public:
-  VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Performer_group_performer);
+  VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Performer_group);
 
   void do_announces ();
   virtual void announce_element (Audio_element_info);
index 0473d1c181d9ed00fc1ba35b0ee815d3882f141a..86fef4899032c30b58895b73575be79407e315fd 100644 (file)
@@ -18,8 +18,8 @@ class Performer : public Translator
 {
 public:
   VIRTUAL_COPY_CONSTRUCTOR (Translator, Performer);
-  friend class Performer_group_performer;
-  Performer_group_performer *get_daddy_performer () const;
+  friend class Performer_group;
+  Performer_group *get_daddy_performer () const;
 
 protected:
   virtual void announce_element (Audio_element_info);
index 5444ed6054146e4a221f1fba46d8fc3b7491935a..e582b5eeb1daaab2abb34db97a09cbd376e8e8f3 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  recording-group-engraver.hh -- declare
+  recording-group-engraver.hh -- declare Recording_group_engraver
 
   source file of the GNU LilyPond music typesetter
 
@@ -11,7 +11,7 @@
 
 #include "engraver-group-engraver.hh"
 
-class Recording_group_engraver : public Engraver_group_engraver
+class Recording_group_engraver : public Engraver_group
 {
 public:
   VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Recording_group_engraver);
index 94273c0887683dd3caf3ac9505bf7a7c51fbbc5b..56976d7dd5d6386a40f4f066f3f34a5e7ba95415 100644 (file)
@@ -13,7 +13,7 @@
 #include "score-translator.hh"
 
 class Score_engraver : public virtual Score_translator,
-                      public virtual Engraver_group_engraver
+                      public virtual Engraver_group
 {
   System *system_;
 
index bd8528b876c377ff2462e56ffcd3d42c20268b73..126a5851a3f70e366f0b92ea68762bd9e4c3c7d5 100644 (file)
@@ -14,7 +14,8 @@
 /**
    Top level performer. Completely takes care of MIDI output
 */
-class Score_performer : public Score_translator, public virtual Performer_group_performer
+class Score_performer : public Score_translator,
+                       public virtual Performer_group
 {
 public:
   VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Score_performer);
index b0d2557da82346e0e53898d1b3414fd6f7f24502..89608562c600c7d175c5e8e45f990548dc1c5b91 100644 (file)
@@ -76,10 +76,6 @@ Key_engraver::create_key (bool is_default)
           || key == SCM_EOL)
          && !scm_is_eq (last, key))
        {
-         cancellation_ = make_item ("KeyCancellation",
-                                    key_event_
-                                    ? key_event_->self_scm () : SCM_EOL);
-
          SCM restore = SCM_EOL;
          SCM *tail = &restore;
          for (SCM s = last; scm_is_pair (s); s = scm_cdr (s))
@@ -92,9 +88,16 @@ Key_engraver::create_key (bool is_default)
                }
            }
 
-         cancellation_->set_property ("alteration-alist", restore);
-         cancellation_->set_property ("c0-position",
-                                      get_property ("middleCPosition"));
+         if (scm_is_pair (restore))
+           {
+             cancellation_ = make_item ("KeyCancellation",
+                                        key_event_
+                                        ? key_event_->self_scm () : SCM_EOL);
+         
+             cancellation_->set_property ("alteration-alist", restore);
+             cancellation_->set_property ("c0-position",
+                                          get_property ("middleCPosition"));
+           }
        }
       item_->set_property ("alteration-alist", key);
     }
index 37715b538e431ee1558df1fd6a99eb062468d651..ef4a9d87991c0a2c2057229fb8a2438528f8fee3 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  performer-group-performer.cc -- implement Performer_group_performer
+  performer-group-performer.cc -- implement Performer_group
 
   source file of the GNU LilyPond music typesetter
 
@@ -13,7 +13,7 @@
 #include "audio-element.hh"
 #include "warn.hh"
 
-ADD_TRANSLATOR_GROUP (Performer_group_performer,
+ADD_TRANSLATOR_GROUP (Performer_group,
                      /* doc */ "",
                      /* create */ "",
                      /* accept */ "",
@@ -21,18 +21,18 @@ ADD_TRANSLATOR_GROUP (Performer_group_performer,
                      /* write */ "");
 
 void
-Performer_group_performer::announce_element (Audio_element_info info)
+Performer_group::announce_element (Audio_element_info info)
 {
   announce_infos_.push (info);
   Translator_group *t
     = context ()->get_parent_context ()->implementation ();
 
-  if (Performer_group_performer *eg = dynamic_cast<Performer_group_performer *> (t))
+  if (Performer_group *eg = dynamic_cast<Performer_group *> (t))
     eg->announce_element (info);
 }
 
 void
-Performer_group_performer::acknowledge_audio_elements ()
+Performer_group::acknowledge_audio_elements ()
 {
   for (int j = 0; j < announce_infos_.size (); j++)
     {
@@ -60,7 +60,7 @@ performer_each (SCM list, Performer_method method)
 }
 
 void
-Performer_group_performer::do_announces ()
+Performer_group::do_announces ()
 {
   while (1)
     {
@@ -76,23 +76,23 @@ Performer_group_performer::do_announces ()
 }
 
 void
-Performer_group_performer::play_element (Audio_element *e)
+Performer_group::play_element (Audio_element *e)
 {
   Context *c = context_->get_parent_context ();
   if (c)
     {
-      Performer_group_performer *pgp = dynamic_cast<Performer_group_performer *> (c->implementation ());
+      Performer_group *pgp = dynamic_cast<Performer_group *> (c->implementation ());
       pgp->play_element (e);
     }
 }
 
 int
-Performer_group_performer::get_tempo () const
+Performer_group::get_tempo () const
 {
   Context *c = context_->get_parent_context ();
   if (c)
     {
-      Performer_group_performer *pgp = dynamic_cast<Performer_group_performer *> (c->implementation ());
+      Performer_group *pgp = dynamic_cast<Performer_group *> (c->implementation ());
       return pgp->get_tempo ();
     }
   return 60;
index f5e9e7f6020bd557bc9bfadca646b149603ce46f..45ade53504fe920a79020787ae95b76905bce01d 100644 (file)
@@ -23,11 +23,11 @@ Performer::get_tempo () const
   return get_daddy_performer ()->get_tempo ();
 }
 
-Performer_group_performer *
+Performer_group *
 Performer::get_daddy_performer () const
 {
   return
-    dynamic_cast<Performer_group_performer *> (get_daddy_translator ());
+    dynamic_cast<Performer_group *> (get_daddy_translator ());
 }
 
 void
index 54b059d8f75ee38489470f89846f7d7afd1a33a2..8548928dd6ffd420e7d5a797069806548ec1f9d2 100644 (file)
@@ -12,7 +12,7 @@
 void
 Recording_group_engraver::derived_mark () const
 {
-  Engraver_group_engraver::derived_mark ();
+  Engraver_group::derived_mark ();
   scm_gc_mark (now_events_);
   scm_gc_mark (accumulator_);
 }
@@ -72,7 +72,7 @@ Recording_group_engraver::fetch_precomputable_methods (Translator_group_void_met
 }
 
 ADD_TRANSLATOR_GROUP (Recording_group_engraver,
-                     "Engraver_group_engraver that records all music events "
+                     "Engraver_group that records all music events "
                      "for this context. Calls the procedure "
                      "in @code{recordEventSequence} when finished.",
                      "",
index d8bbe720e88093f5e8824c6f47ef6ca8bfcb883e..44e7a9e42718224b67f2d21b3c7a85ebd49fbe48 100644 (file)
@@ -36,7 +36,7 @@ Score_engraver::derived_mark () const
   if (pscore_)
     scm_gc_mark (pscore_->self_scm ());
   Score_translator::derived_mark ();
-  Engraver_group_engraver::derived_mark ();
+  Engraver_group::derived_mark ();
 }
 
 void
@@ -85,7 +85,7 @@ Score_engraver::initialize ()
   system_ = pscore_->root_system ();
   context ()->set_property ("rootSystem", system_->self_scm ());
 
-  Engraver_group_engraver::initialize ();
+  Engraver_group::initialize ();
 }
 
 void
@@ -102,7 +102,7 @@ Score_engraver::one_time_step ()
   if (!to_boolean (context ()->get_property ("skipTypesetting")))
     {
       precomputed_recurse_over_translators (context (), PROCESS_MUSIC, UP);
-      Engraver_group_engraver::do_announces ();
+      Engraver_group::do_announces ();
     }
 
   precomputed_recurse_over_translators (context (), STOP_TRANSLATION_TIMESTEP, UP);
@@ -154,7 +154,7 @@ Score_engraver::forbid_breaks ()
 bool
 Score_engraver::try_music (Music *m)
 {
-  if (Engraver_group_engraver::try_music (m))
+  if (Engraver_group::try_music (m))
     return true;
 
   return false;
index c7d8165312e8499d65b918d956f34700f7b33d80..b5983bb25e25f3ce26806c8ebb6ea37a56355947 100644 (file)
@@ -94,7 +94,7 @@ Score_performer::derived_mark () const
     scm_gc_mark (performance_->self_scm ());
 
   Score_translator::derived_mark ();
-  Performer_group_performer::derived_mark ();
+  Performer_group::derived_mark ();
 }
 
 void
index 4932048f9af89a7496ddc95d438c3d5ac462b74c..529a60184ba54f5ddc15a53633ec8fed6babe3f6 100644 (file)
 Translator_group *
 get_translator_group (SCM sym)
 {
-  if (sym == ly_symbol2scm ("Engraver_group_engraver"))
-    return new Engraver_group_engraver ();
-  else if (sym == ly_symbol2scm ("Performer_group_performer"))
-    return new Performer_group_performer ();
+  if (sym == ly_symbol2scm ("Engraver_group"))
+    return new Engraver_group ();
+  else if (sym == ly_symbol2scm ("Performer_group"))
+    return new Performer_group ();
   else if (sym == ly_symbol2scm ("Score_engraver"))
     return new Score_engraver ();
   else if (sym == ly_symbol2scm ("Score_performer"))
index 796cd0068c63098d85a2f7587565882d3ba66f84..0bd24bd3a4abfd17370cd0578be0221195cc751e 100644 (file)
@@ -2542,6 +2542,16 @@ conversions.append (((2, 7, 4), conv,
                     '''keyAccidentalOrder->keyAlterationOrder'''))
 
 
+
+def conv (str):
+       str = re.sub('Performer_group_performer', 'Performer_group', str)
+       str = re.sub('Engraver_group_engraver', 'Engraver_group', str)
+       return str
+
+conversions.append (((2, 7, 6), conv,
+                    '''Performer_group_performer -> Performer_group, Engraver_group_engraver -> Engraver_group'''))
+
+
 ################################################################
 
 def str_to_tuple (s):
index fb4e97fff259051a2a6a26e735e6ef96253d8a9b..bafa9c8cd138bc5e18b0da4239226f7b58520370 100644 (file)
@@ -277,7 +277,7 @@ slur, the closer it is to this height.")
 of note-column for horizontal shifting. This is used by
 @internalsref{note-collision-interface}.")
      (avoid-slur ,symbol? "Method of handling slur collisions.
-Choices are @{around}, @{inside}, @{outside}.  If unset, script
+Choices are @code{around}, @code{inside}, @code{outside}.  If unset, script
 and slur ignore eachother.")
      (inspect-quants ,number-pair? "If debugging is set,
 set beam quant to this position, and print the respective scores.")