2 request.hh -- declare Request baseclasses.
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
15 #include "virtual-methods.hh"
18 #include "direction.hh"
21 /** An atom of musical information. This is an abstract class for any
22 piece of music that does not contain other Music.
24 Hungarian postfix: req
27 class Request : public Music {
30 VIRTUAL_COPY_CONS(Music);
31 bool equal_b (Request const*) const;
33 virtual bool do_equal_b (Request const*) const;
34 virtual void do_print() const;
39 class Script_req : public virtual Request
43 void set_direction (Direction d ) { dir_ = d; }
44 Direction get_direction () const { return dir_; }
46 VIRTUAL_COPY_CONS(Music);
52 Requests to start or stop something.
53 This type of request typically results in the creation of a #Spanner#
55 class Span_req : public virtual Request {
57 /// should the spanner start or stop, or is it unwanted?
59 String span_type_str_;
63 virtual bool do_equal_b (Request const*) const;
64 virtual void do_print() const;
65 VIRTUAL_COPY_CONS(Music);
69 Start a tie at this note, end it at the next
71 class Tie_req : public Request {
73 VIRTUAL_COPY_CONS(Music);