]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/music.cc
* The grand 2005-2006 replace.
[lilypond.git] / lily / music.cc
index a3a6deb437e2f0549a73820e3fccd4eca77d75d8..fddd57fd0a18010235af349c32fe12eb37d5a6da 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "music.hh"
@@ -36,13 +36,9 @@ Music::name () const
 {
   SCM nm = get_property ("name");
   if (scm_is_symbol (nm))
-    {
-      return ly_symbol2string (nm);
-    }
+    return ly_symbol2string (nm);
   else
-    {
-      return classname (this);
-    }
+    return "Music";
 }
 
 Music::Music (SCM init)
@@ -54,10 +50,8 @@ Music::Music (SCM init)
 
   length_callback_ = get_property ("length-callback");
   if (!ly_is_procedure (length_callback_))
-    {
-      length_callback_ = duration_length_callback_proc;
-    }
-  
+    length_callback_ = duration_length_callback_proc;
+
   start_callback_ = get_property ("start-callback");
 }
 
@@ -81,7 +75,6 @@ Music::~Music ()
 {
 }
 
-
 SCM
 Music::get_property_alist (bool m) const
 {
@@ -93,8 +86,7 @@ Music::mark_smob (SCM m)
 {
   Music *mus = (Music *) SCM_CELL_WORD_1 (m);
   scm_gc_mark (mus->immutable_property_alist_);
-  scm_gc_mark (mus->mutable_property_alist_);
-  return SCM_EOL;
+  return mus->mutable_property_alist_;
 }
 
 Moment
@@ -150,7 +142,7 @@ Music::print_smob (SCM s, SCM p, scm_print_state*)
   if (scm_is_symbol (nm) || scm_is_string (nm))
     scm_display (nm, p);
   else
-    scm_puts (classname (m), p);
+    scm_puts ("Music", p);
 
   /* Printing properties takes a lot of time, especially during backtraces.
      For inspecting, it is better to explicitly use an inspection
@@ -258,9 +250,7 @@ Music::transpose (Pitch delta)
   */
   SCM pa = get_property ("pitch-alist");
   if (scm_is_pair (pa))
-    {
-      set_property ("pitch-alist", ly_transpose_key_alist (pa, delta.smobbed_copy ()));
-    }
+    set_property ("pitch-alist", ly_transpose_key_alist (pa, delta.smobbed_copy ()));
 }
 
 IMPLEMENT_TYPE_P (Music, "ly:music?");
@@ -278,6 +268,18 @@ Music::internal_get_property (SCM sym) const
   return (s == SCM_BOOL_F) ? SCM_EOL : scm_cdr (s);
 }
 
+SCM
+Music::internal_get_object (SCM s) const
+{
+  return internal_get_property (s);
+}
+
+void
+Music::internal_set_object (SCM s, SCM v)
+{
+  return internal_set_property (s, v);
+}
+
 void
 Music::internal_set_property (SCM s, SCM v)
 {
@@ -308,11 +310,11 @@ make_music_by_name (SCM sym)
   SCM rv = scm_call_1 (make_music_proc, sym);
 
   /* UGH. */
-  scm_gc_protect_object (rv);
-  return unsmob_music (rv);
+  Music *m = unsmob_music (rv);
+  m->protect ();
+  return m;
 }
 
-
 MAKE_SCHEME_CALLBACK (Music, duration_length_callback, 1);
 SCM
 Music::duration_length_callback (SCM m)
@@ -322,8 +324,6 @@ Music::duration_length_callback (SCM m)
 
   Moment mom;
   if (d)
-    {
-      mom = d->get_length ();
-    }
+    mom = d->get_length ();
   return mom.smobbed_copy ();
 }