#include "request.hh"
#include "duration.hh"
#include "musical-pitch.hh"
+#include "array.hh"
/** a request with a duration.
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&);
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);
};
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;
};
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);
};
/// 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.
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);
};
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