+/*
+ request.cc -- implement Request
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+*/
+
#include "request.hh"
#include "debug.hh"
-IMPLEMENT_STATIC_NAME(Request);
-IMPLEMENT_IS_TYPE_B1(Request,Music);
+bool
+Request::equal_b (Request const* r) const
+{
+ return r->do_equal_b (this) || this->do_equal_b (r) ;
+}
+
+bool
+Request::do_equal_b (Request const*) const
+{
+ return true;
+}
+
+Request::Request ()
+ : Music (SCM_EOL)
+{
+ set_mus_property ("type", ly_symbol2scm ("request"));
+}
+
+Script_req::Script_req ()
+{
+ set_direction (CENTER);
+}
void
-Request::do_print() const
+Script_req::set_direction (Direction d)
+{
+ set_mus_property ("direction", gh_int2scm (d));
+}
+
+Direction
+Script_req::get_direction () const
{
+ SCM d = get_mus_property ("direction");
+
+ return (ly_dir_p (d)) ? to_dir (d) : CENTER;
}
-MInterval
-Request::time_int() const
+Direction
+Span_req::get_span_dir () const
{
- return MInterval(0, duration());
+ SCM d = get_mus_property ("span-direction");
+
+ return (ly_dir_p (d)) ? to_dir (d) : CENTER;
}
void
-Request::print() const
+Span_req::set_span_dir (Direction d)
{
-#ifndef NPRINT
- mtor << name() << " {";
- do_print();
- mtor << "}\n";
-#endif
+ set_mus_property ("span-direction", gh_int2scm (d));
}
-
+
+
+
+
+