]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/group-interface.cc
release: 1.3.25
[lilypond.git] / lily / group-interface.cc
index b91d50e9367e28d99598dfff4629041dc866523b..3b6b53e664496f267d213aaec9efb90ae9c583fa 100644 (file)
@@ -9,20 +9,20 @@
 #include "group-interface.hh"
 #include "score-element.hh"
 
-Group_interface::Group_interface (Score_element* e)
+Group_interface::Group_interface (Score_element const* e)
 {
-  elt_l_ = e;
+  elt_l_ = (Score_element*)e;
   name_ = "elements";
 }
 
 
-Group_interface::Group_interface (Score_element *e, String s)
+Group_interface::Group_interface (Score_element const *e, String s)
 {
-  elt_l_ =e;
+  elt_l_ =(Score_element*)e;
   name_ = s;
 } 
 bool
-Group_interface::supports_interface_b () 
+Group_interface::has_interface_b () 
 {
   SCM el = elt_l_->get_elt_property (name_);
 
@@ -33,6 +33,9 @@ Group_interface::supports_interface_b ()
 void
 Group_interface::add_element (Score_element*p) 
 {
+  p->used_b_ =  true;
+  elt_l_->used_b_ = true;
+  
   elt_l_->set_elt_property (name_,
                            gh_cons (p->self_scm_, elt_l_->get_elt_property (name_)));
 }
@@ -40,14 +43,21 @@ Group_interface::add_element (Score_element*p)
 int
 Group_interface::count ()
 {
-  return scm_ilength (elt_l_->get_elt_property ("name"));
+  return scm_ilength (elt_l_->get_elt_property (name_));
 }
 
 void
 Group_interface::set_interface ()
 {
-  if (!supports_interface_b ())
+  if (!has_interface_b ())
     {
       elt_l_->set_elt_property (name_, SCM_EOL);
     }
 }
+
+Group_interface
+group (Score_element*s)
+{
+  Group_interface gi (s);
+  return gi;
+}