source file of the GNU LilyPond music typesetter
- (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#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_;
- virtual void do_print () 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&);
- VIRTUAL_COPY_CONS(Music);
+ VIRTUAL_COPY_CONS (Music);
};
class Skip_req : public Rhythmic_req {
public:
- VIRTUAL_COPY_CONS(Music);
+ VIRTUAL_COPY_CONS (Music);
};
struct Tremolo_req : public Request {
VIRTUAL_COPY_CONS (Music);
Tremolo_req ();
- int type_i_;
- virtual void do_print () const;
+
+ 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:
- virtual void do_print () const;
- 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 void do_print () const;
- VIRTUAL_COPY_CONS(Music);
-};
-class Text_script_req : public Script_req {
-public:
- String text_str_;
+ VIRTUAL_COPY_CONS (Music);
+};
- // 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 void do_print () 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 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);
-};
-/// 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();
+ Note_req ();
protected:
- virtual void do_print () const;
+
bool do_equal_b (Request const*) const;
- VIRTUAL_COPY_CONS(Music);
+ VIRTUAL_COPY_CONS (Music);
};
/**
*/
class Rest_req : public Rhythmic_req {
public:
- VIRTUAL_COPY_CONS(Music);
+ VIRTUAL_COPY_CONS (Music);
};
/// an extender line
class Extender_req : public Request {
public:
- VIRTUAL_COPY_CONS(Music);
+ VIRTUAL_COPY_CONS (Music);
};
/// a centred hyphen
class Hyphen_req : public Request {
public:
- VIRTUAL_COPY_CONS(Music);
+ VIRTUAL_COPY_CONS (Music);
};
/** is anyone playing a note?
VIRTUAL_COPY_CONS (Music);
};
+
+
/**
- What pitches have ben acked ?
- */
-class Pitch_interrogate_req : public Request
+ instruct lyric context to alter typesetting (unimplemented). */
+class Melisma_req : public Span_req
{
public:
- Array<Musical_pitch> pitch_arr_;
VIRTUAL_COPY_CONS (Music);
};
-
/**
- instruct lyric context to alter typesetting (unimplemented). */
-class Melisma_req : public Span_req
+ 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);
+ VIRTUAL_COPY_CONS (Music);
};
-/**
- Start / stop an abbreviation beam. */
-class Chord_tremolo_req : public Span_req
+
+class Arpeggio_req : public Request
{
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
+class Glissando_req : public Request
{
public:
VIRTUAL_COPY_CONS (Music);
};
+
#endif // MUSICALREQUESTS_HH