pscore_l_=0;
lookup_l_ =0;
status_i_ = 0;
- self_scm_ = SCM_EOL;
original_l_ = 0;
element_property_alist_ = scm_protect_object (gh_cons (gh_cons (void_scm_sym, SCM_BOOL_T) , SCM_EOL));
}
Score_element::Score_element (Score_element const&s)
: Graphical_element (s)
{
- self_scm_ = SCM_EOL;
used_b_ = true;
original_l_ =(Score_element*) &s;
element_property_alist_ = scm_protect_object (scm_list_copy (s.element_property_alist_));
{
return 0;
}
-
-static scm_smobfuns score_elt_funs = {
- Score_element::mark_smob, Score_element::free_smob,
- Score_element::print_smob, 0,
-};
-
-
-SCM
-Score_element::smobify_self ()
-{
- if (self_scm_ != SCM_EOL)
- return self_scm_;
-
- SCM s;
- SCM_NEWCELL(s);
- SCM_SETCAR(s,smob_tag);
- SCM_SETCDR(s,this);
- self_scm_ = s;
- scm_unprotect_object (element_property_alist_); // ugh
- return s;
-}
-
-SCM
-Score_element::mark_smob (SCM ses)
-{
- Score_element * s = (Score_element*) SCM_CDR(ses);
- scm_gc_mark (s->self_scm_);
- return s->element_property_alist_;
-}
-
-scm_sizet
-Score_element::free_smob (SCM ses)
-{
- Score_element * s = (Score_element*) SCM_CDR(ses);
- delete s;
- return 0;
-}
-
-int
-Score_element::print_smob (SCM s, SCM p, scm_print_state *)
-{
- return 0;
-}
-
-long Score_element::smob_tag;
-
-void
-Score_element::init_smobs ()
-{
- smob_tag = scm_newsmob (&score_elt_funs);
-}
-
-void
-init_smobs()
-{
- Score_element::init_smobs ();
-}