2 command-request.hh -- declare non-musical requests
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #ifndef COMMANDREQUEST_HH
11 #define COMMANDREQUEST_HH
15 #include "duration.hh"
16 #include "musical-pitch.hh"
19 class Break_req : public Request {
21 enum { DISALLOW = -10000, FORCE = 10000 };
25 VIRTUAL_COPY_CONS(Music);
28 class Mark_req : public Request {
33 virtual void do_print () const;
34 VIRTUAL_COPY_CONS(Music);
38 /** Baseclass for time_signature/partial req. It has to be handled by
39 Staff_{walker,column} baseclass. */
40 class Timing_req : public Request {
42 VIRTUAL_COPY_CONS(Music);
46 class Tempo_req : public Timing_req
54 virtual void do_print () const;
55 VIRTUAL_COPY_CONS(Music);
56 bool do_equal_b (Request *) const;
59 class Partial_measure_req : public Timing_req {
63 Partial_measure_req (Moment);
65 VIRTUAL_COPY_CONS(Music);
66 virtual void do_print () const;
67 bool do_equal_b (Request*) const;
71 todo: allow C time_signature
73 class Time_signature_change_req : public Timing_req {
78 Time_signature_change_req();
80 virtual void do_print () const;
81 bool do_equal_b (Request*) const;
82 VIRTUAL_COPY_CONS(Music);
85 /// toggle Cadenza mode
86 class Cadenza_req : public Timing_req {
92 virtual void do_print () const;
94 bool do_equal_b (Request*) const;
95 VIRTUAL_COPY_CONS(Music);
98 /// check if we're at start of a measure.
99 class Barcheck_req : public Timing_req {
101 bool do_equal_b (Request *) const;
102 VIRTUAL_COPY_CONS(Music);
106 /** draw a (repeat)-bar. This something different than #Barcheck_req#,
107 the latter should only happen at the start of a measure. */
108 class Bar_req : public Request {
113 virtual void do_print () const;
114 bool do_equal_b (Request*) const;
116 VIRTUAL_COPY_CONS(Music);
119 class Breathing_sign_req : public Request {
120 VIRTUAL_COPY_CONS(Music);
125 Routines for sharps and flats are separated,
126 so that caller may identify non-conventional keys.
128 class Key_change_req : public Request
135 VIRTUAL_COPY_CONS(Music);
136 // void transpose (Musical_pitch d);
137 virtual void do_print () const;
140 class Clef_change_req : public Request {
143 Clef_change_req (String);
145 virtual void do_print () const;
146 VIRTUAL_COPY_CONS(Music);
150 #endif // COMMANDREQUEST_HH