/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "dispatcher.hh"
#include "engraver-group.hh"
#include "grob.hh"
+#include "grob-properties.hh"
#include "paper-score.hh"
#include "translator-dispatch-list.hh"
#include "warn.hh"
void
Engraver_group::override (SCM sev)
{
- Stream_event *ev = unsmob_stream_event (sev);
+ Stream_event *ev = Stream_event::unsmob (sev);
- sloppy_general_pushpop_property (context (),
- ev->get_property ("symbol"),
- ev->get_property ("property-path"),
- ev->get_property ("value"));
+ Grob_property_info (context (), ev->get_property ("symbol"))
+ .push (ev->get_property ("property-path"),
+ ev->get_property ("value"));
}
IMPLEMENT_LISTENER (Engraver_group, revert);
void
Engraver_group::revert (SCM sev)
{
- Stream_event *ev = unsmob_stream_event (sev);
+ Stream_event *ev = Stream_event::unsmob (sev);
- sloppy_general_pushpop_property (context (),
- ev->get_property ("symbol"),
- ev->get_property ("property-path"),
- SCM_UNDEFINED);
+ Grob_property_info (context (), ev->get_property ("symbol"))
+ .pop (ev->get_property ("property-path"));
}
void
return;
SCM name_sym = ly_symbol2scm ("name");
- SCM meta_sym = ly_symbol2scm ("meta");
for (vsize j = 0; j < announce_infos_.size (); j++)
{
Grob_info info = announce_infos_[j];
- SCM meta = info.grob ()->internal_get_property (meta_sym);
+ SCM meta = info.grob ()->get_property ("meta");
SCM nm = scm_assoc (name_sym, meta);
if (scm_is_pair (nm))
nm = scm_cdr (nm);