]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/command-request.cc
release: 1.1.43
[lilypond.git] / lily / command-request.cc
index b32dc96ff4da33a1bf75004ad68ad85e7db293fa..335c92904251d2de49e8a0dbf46790dda6e176cb 100644 (file)
@@ -3,24 +3,13 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #include "command-request.hh"
 #include "debug.hh"
 #include "musical-request.hh"
 
-void
-Command_script_req::do_print() const
-{}
-Command_script_req::Command_script_req(){}
-Command_script_req::~Command_script_req(){}
-
-IMPLEMENT_IS_TYPE_B1(Command_script_req,Command_req);
-
-
-IMPLEMENT_IS_TYPE_B1(Cadenza_req, Timing_req);
-
 void
 Cadenza_req::do_print() const
 {
@@ -32,9 +21,8 @@ Cadenza_req::do_print() const
 bool
 Cadenza_req::do_equal_b (Request*r) const
 {
-  Cadenza_req*cad =  r->access_Command_req ()->access_Timing_req ()->access_Cadenza_req ();
-
-  return cad->on_b_ == on_b_;
+  Cadenza_req*cad =  dynamic_cast <Cadenza_req *> (r);
+  return cad && cad->on_b_ == on_b_;
 }
 
 Cadenza_req::Cadenza_req (bool b)
@@ -47,25 +35,16 @@ Cadenza_req::Cadenza_req (bool b)
 bool
 Bar_req::do_equal_b (Request*r) const
 {
-  Bar_req * b = r->access_Command_req ()->access_Bar_req ();
-  return type_str_ == b->type_str_;
+  Bar_req * b = dynamic_cast <Bar_req *> (r);
+  return b && type_str_ == b->type_str_;
 }
 
-
-IMPLEMENT_IS_TYPE_B1(Bar_req,Command_req);
-
-IMPLEMENT_IS_TYPE_B2(Bracket_req, Command_req, Span_req);
-
 void
 Bar_req::do_print() const
 {
+#ifndef NPRINT
   DOUT << type_str_;
-}
-
-void
-Bracket_req::do_print () const
-{
-  Span_req::do_print ();
+#endif
 }
 
 Bar_req::Bar_req (String s)
@@ -75,43 +54,24 @@ Bar_req::Bar_req (String s)
 
 Partial_measure_req::Partial_measure_req (Moment m)
 {
-  duration_ =m;
+  length_mom_ =m;
 }
 
 bool
 Partial_measure_req::do_equal_b (Request* r) const
 {
-  Partial_measure_req *p = r->access_Command_req ()->access_Timing_req ()->access_Partial_measure_req ();
+  Partial_measure_req *p = dynamic_cast <Partial_measure_req *> (r);
 
-  return p->duration_ == duration_;
+  return p&& p->length_mom_ == length_mom_;
 }
 
-
-IMPLEMENT_IS_TYPE_B1(Timing_req,Command_req);
-
-void
-Timing_req::do_print() const{}
-
-
-IMPLEMENT_IS_TYPE_B1(Command_req,Request);
-
-void
-Command_req::do_print() const{}
-
-IMPLEMENT_IS_TYPE_B1(Barcheck_req,Timing_req);
-
-void
-Barcheck_req::do_print() const{}
-
 bool
-Barcheck_req::do_equal_b (Request*) const
+Barcheck_req::do_equal_b (Request*r) const
 {
-  return true;
+  Barcheck_req *b = dynamic_cast<Barcheck_req*> (r);
+  return b;
 }
 
-
-IMPLEMENT_IS_TYPE_B1(Clef_change_req,Command_req);
-
 void
 Clef_change_req::do_print() const
 {
@@ -125,19 +85,14 @@ Clef_change_req::Clef_change_req (String s)
   clef_str_ = s;
 }
 
-
-
-
-IMPLEMENT_IS_TYPE_B1(Partial_measure_req,Timing_req);
-
 void
 Partial_measure_req::do_print() const
 {
-  DOUT << duration_;
+  DOUT << length_mom_;
 }
 
 
-IMPLEMENT_IS_TYPE_B1(Time_signature_change_req,Timing_req);
+
 
 void
 Time_signature_change_req::do_print() const
@@ -150,9 +105,9 @@ Time_signature_change_req::do_print() const
 bool
 Time_signature_change_req::do_equal_b (Request * r) const
 {
-  Time_signature_change_req * m = r->access_Command_req ()->access_Timing_req ()->access_Time_signature_change_req ();
+  Time_signature_change_req * m = dynamic_cast <Time_signature_change_req *> (r);
 
-  return m->beats_i_ == beats_i_
+  return m && m->beats_i_ == beats_i_
     && one_beat_i_ == m->one_beat_i_;
 }
 
@@ -174,21 +129,16 @@ Tempo_req::do_print() const
 {
   DOUT << dur_.str() << " = " << metronome_i_;
 }
-IMPLEMENT_IS_TYPE_B1(Tempo_req, Timing_req);
+
 
 bool
 Tempo_req::do_equal_b (Request *r) const
 {
-  Tempo_req *t = r->access_Command_req ()->access_Timing_req ()->access_Tempo_req ();
+  Tempo_req *t = dynamic_cast <Tempo_req *> (r);
 
-  return t->dur_.length()== dur_.length () && metronome_i_ == t->metronome_i_;
+  return t&& t->dur_.length_mom ()== dur_.length_mom () && metronome_i_ == t->metronome_i_;
 }
 
-
-
-
-IMPLEMENT_IS_TYPE_B1(Measure_grouping_req,Timing_req);
-
 void
 Measure_grouping_req::do_print() const
 {
@@ -299,7 +249,7 @@ Key_change_req::transpose (Musical_pitch d)
     }
 }
 
-IMPLEMENT_IS_TYPE_B1(Key_change_req,Command_req);
+
 void
 Key_change_req::squash_octaves()
 {
@@ -322,24 +272,17 @@ Key_change_req::do_print() const
 
 Key_change_req::Key_change_req()
 {
-  minor_b_ = false;
+  modality_i_ = 0;
   ordinary_key_b_= false;
 }
 
-IMPLEMENT_IS_TYPE_B1(Break_req, Command_req);
+
 
 Break_req::Break_req ()
 {
   penalty_i_ = 0;
 }
 
-void
-Break_req::do_print () const
-{
-}
-
-IMPLEMENT_IS_TYPE_B1 (Mark_req, Command_req);
-
 Mark_req::Mark_req (String s)
 {
   str_ = s;
@@ -366,7 +309,7 @@ Key_change_req::flats_i()
 bool
 Key_change_req::minor_b() const
 {
-  return minor_b_;
+  return modality_i_ == 3;
 }
 
 int