lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Adds ly:engraver-property to engraver-scheme (issue1878048)


From: mtsolo
Subject: Adds ly:engraver-property to engraver-scheme (issue1878048)
Date: Fri, 24 Jun 2011 14:40:28 +0000

Reviewers: ,

Message:
I found this 10-month old patch of mine laying around.  It still seems
relevant, so I'm sending it to the list.  Lemme know what y'all think.

Description:
Adds ly:engraver-property to engraver-scheme



Adds ly:engraver-property to engraver-scheme

Get rid of whitespace error...

Please review this at http://codereview.appspot.com/1878048/

Affected files:
  M lily/engraver-scheme.cc


Index: lily/engraver-scheme.cc
diff --git a/lily/engraver-scheme.cc b/lily/engraver-scheme.cc
index 409831e8804e55a92770742d4a2c26379f63fd05..ea8f3dec2b9044bcf89ea7c2a3e357f09f0b9be0 100644
--- a/lily/engraver-scheme.cc
+++ b/lily/engraver-scheme.cc
@@ -54,3 +54,23 @@ LY_DEFINE (ly_engraver_announce_end_grob, "ly:engraver-announce-end-grob",

   return SCM_UNSPECIFIED;
 }
+
+LY_DEFINE (ly_engraver_property, "ly:engraver-property",
+          2, 1, 0, (SCM engraver, SCM sym, SCM val),
+          "Return the value for property @var{sym} of @var{engraver}."
+          "  If no value is found, return @var{val} or @code{'()}"
+          " if @var{val} is not specified.")
+{
+  Engraver *e = unsmob_engraver (engraver);
+
+  LY_ASSERT_TYPE (unsmob_engraver, engraver, 1);
+  LY_ASSERT_TYPE (ly_is_symbol, sym, 2);
+  if (val == SCM_UNDEFINED)
+    val = SCM_EOL;
+
+  SCM retval = e->internal_get_property (sym);
+  if (retval == SCM_EOL)
+    retval = val;
+
+  return retval;
+}





reply via email to

[Prev in Thread] Current Thread [Next in Thread]