]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/musical-request.hh
release: 1.3.13
[lilypond.git] / lily / include / musical-request.hh
index 2c220138a9c384e636d31e17a40f1ee6e5612191..963f6079fadc693ceaa4b546a2ef5f6d25ec1e2c 100644 (file)
@@ -14,6 +14,7 @@
 #include "request.hh"
 #include "duration.hh"
 #include "musical-pitch.hh"
+#include "array.hh"
 
 
 /** a request with a duration.
@@ -24,7 +25,7 @@ public:
   Duration duration_;
   virtual void do_print () const;
 
-  bool do_equal_b (Request*) const;
+  bool do_equal_b (Request const*) const;
   void compress (Moment);
   virtual Moment length_mom () const;
   static int compare (Rhythmic_req const&,Rhythmic_req const&);
@@ -60,7 +61,7 @@ class Articulation_req : public Script_req
 public:
   String articulation_str_;
 protected:
-  virtual bool do_equal_b (Request*) const;
+  virtual bool do_equal_b (Request const*) const;
   virtual void do_print () const;
   VIRTUAL_COPY_CONS(Music);
 };
@@ -73,7 +74,7 @@ public:
   String style_str_;
 protected:
   VIRTUAL_COPY_CONS(Music);
-  virtual bool do_equal_b (Request*)const;
+  virtual bool do_equal_b (Request const*)const;
   virtual void do_print () const;
 };
 
@@ -88,7 +89,7 @@ struct Melodic_req :virtual Request
 protected:
   /// transpose. #delta# is relative to central c.
   virtual void transpose (Musical_pitch delta);
-  virtual bool do_equal_b (Request*) const;
+  virtual bool do_equal_b (Request const*) const;
   virtual void do_print () const;
   VIRTUAL_COPY_CONS(Music);
 };
@@ -96,7 +97,19 @@ protected:
 /// specify tonic of a chord
 struct Tonic_req : public Melodic_req
 {
-  VIRTUAL_COPY_CONS(Music);
+  VIRTUAL_COPY_CONS (Music);
+};
+
+/// specify inversion of a chord
+struct Inversion_req : public Melodic_req
+{
+  VIRTUAL_COPY_CONS (Music);
+};
+
+/// specify bass of a chord
+struct Bass_req : public Melodic_req
+{
+  VIRTUAL_COPY_CONS (Music);
 };
 
 /// Put a note of specified type, height, and with accidental on the staff.
@@ -110,7 +123,7 @@ public:
   Note_req();
 protected:
   virtual void do_print () const;
-  bool do_equal_b (Request*) const;
+  bool do_equal_b (Request const*) const;
   VIRTUAL_COPY_CONS(Music);
 };
 
@@ -145,4 +158,60 @@ public:
   VIRTUAL_COPY_CONS(Music);
 };
 
+/// a centred hyphen
+class Hyphen_req : public Request  {
+public:
+  VIRTUAL_COPY_CONS(Music);
+};
+
+/** is anyone  playing a note?
+    Used for communication between Music & Lyrics
+ */
+class Busy_playing_req : public Request
+{
+public:
+  VIRTUAL_COPY_CONS (Music);
+};
+
+/**
+   What pitches have ben acked ?
+ */
+class Pitch_interrogate_req : public Request
+{
+public:
+  Array<Musical_pitch> pitch_arr_;
+  VIRTUAL_COPY_CONS (Music);
+};
+
+
+
+/**
+   instruct lyric context to alter typesetting (unimplemented).  */
+class Melisma_req : public Span_req
+{
+public:
+  VIRTUAL_COPY_CONS(Music);
+};
+/** 
+ Start / stop an abbreviation beam. */
+class Chord_tremolo_req : public Span_req  
+{
+public:
+  VIRTUAL_COPY_CONS (Music);
+
+  Chord_tremolo_req ();
+
+  virtual void do_print () const;
+
+  int type_i_;
+};
+
+/**
+   Helping req to signal start of a melisma from within a context, and
+   to   */
+class Melisma_playing_req : public Request
+{
+public:
+  VIRTUAL_COPY_CONS (Music);
+};
 #endif // MUSICALREQUESTS_HH