#include "lily-proto.hh"
#include "request.hh"
#include "duration.hh"
-#include "musical-pitch.hh"
+#include "pitch.hh"
#include "array.hh"
-
/** a request with a duration.
This request is used only used as a base class.
*/
class Rhythmic_req : public virtual Request {
public:
- Duration duration_;
-
-
bool do_equal_b (Request const*) const;
void compress (Moment);
virtual Moment length_mom () const;
struct Tremolo_req : public Request {
VIRTUAL_COPY_CONS (Music);
Tremolo_req ();
- int type_i_;
+ void set_type (int);
+ int get_type () const;
};
-/** a syllable or lyric is a string with rhythm.
+/**
+ a syllable or lyric is a string with rhythm.
*/
-class Lyric_req : public Rhythmic_req {
-public:
-
- String text_str_;
- VIRTUAL_COPY_CONS(Music);
+class Lyric_req : public Rhythmic_req
+{
+protected:
+ VIRTUAL_COPY_CONS (Music);
};
class Articulation_req : public Script_req
{
public:
- String articulation_str_;
+ String get_articulation_str();
protected:
virtual bool do_equal_b (Request const*) const;
VIRTUAL_COPY_CONS(Music);
};
-class Text_script_req : public Script_req {
-public:
- String text_str_;
-
- // should be generic property of some kind..
- String style_str_;
+class Text_script_req : public Script_req
+{
protected:
- VIRTUAL_COPY_CONS(Music);
- virtual bool do_equal_b (Request const*)const;
-
+ VIRTUAL_COPY_CONS (Music);
+ virtual bool do_equal_b (Request const*) const;
};
/// request which has some kind of pitch
struct Melodic_req :virtual Request
{
- Musical_pitch pitch_;
-
static int compare (Melodic_req const&,Melodic_req const&);
protected:
/// transpose. #delta# is relative to central c.
- virtual void transpose (Musical_pitch delta);
+ virtual void transpose (Pitch delta);
virtual bool do_equal_b (Request const*) const;
VIRTUAL_COPY_CONS(Music);
};
-/// specify tonic of a chord
-struct Tonic_req : public Melodic_req
-{
- 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.
+ /// force/supress printing of accidental.
+ bool forceacc_b_;
+ /// Cautionary, i.e. parenthesized accidental.
+ bool cautionary_b_;
-/// Put a note of specified type, height, and with accidental on the staff.
+ */
class Note_req : public Rhythmic_req, virtual public Melodic_req {
public:
- /// force/supress printing of accidental.
- bool forceacc_b_;
- /// Cautionary, i.e. parenthesized accidental.
- bool cautionary_b_;
Note_req();
protected: