]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 4997/3: Use Preinit in Music
authorDavid Kastrup <dak@gnu.org>
Sat, 4 Jun 2016 15:41:05 +0000 (17:41 +0200)
committerDavid Kastrup <dak@gnu.org>
Fri, 18 Nov 2016 20:49:58 +0000 (21:49 +0100)
lily/include/music.hh
lily/music.cc

index c904dc3347fa457ad469aa04ad736a679a3dd835..32ca55babcdfaa9deff2d17706728d0f8e529961 100644 (file)
 
 #define is_mus_type(x) internal_is_music_type (ly_symbol2scm (x))
 
-class Music : public Prob
+class Music : public Preinit<Music>, public Prob
 {
 public:
+  void pre_init ();
   Music (SCM init);
   Music (Music const &m);
   VIRTUAL_COPY_CONSTRUCTOR (Music, Music);
index bbf7fe4f585da5c8ed909088627346767bb1971d..994d685ed2582e921bdd4519a0cf027b4d1c4099 100644 (file)
@@ -45,12 +45,16 @@ Music::internal_is_music_type (SCM k) const
   return scm_is_true (scm_c_memq (k, ifs));
 }
 
-Music::Music (SCM init)
-  : Prob (ly_symbol2scm ("Music"), init)
+void
+Music::pre_init ()
 {
   length_callback_ = SCM_EOL;
   start_callback_ = SCM_EOL;
+}
 
+Music::Music (SCM init)
+  : Prob (ly_symbol2scm ("Music"), init)
+{
   length_callback_ = get_property ("length-callback");
   if (!ly_is_procedure (length_callback_))
     length_callback_ = duration_length_callback_proc;