source file of the GNU LilyPond music typesetter
- (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef Music_sequence_HH
#define Music_sequence_HH
-#include "music.hh"
-#include "cons.hh"
-
-
-class Music_list : public Cons_list<Music>
-{
-public:
- Musical_pitch do_relative_octave (Musical_pitch, bool);
- void add_music (Music*);
- Music_list (Music_list const&);
- Music_list ();
-};
-
-
-/**
- Music can be a list of other "Music" elements
- */
-class Music_sequence : public Music
-{
-public:
- Music_list * music_p_list_p_;
-
- Music_sequence (Music_sequence const&);
- Music_sequence (Music_list *l_p);
-
- VIRTUAL_COPY_CONS(Music);
- Musical_pitch do_relative_octave (Musical_pitch p, bool b);
- virtual void transpose (Musical_pitch );
- virtual void compress (Moment);
- void add_music (Music *music_p);
-
- Moment cumulative_length () const;
- Moment maximum_length () const;
-protected:
- virtual Musical_pitch to_relative_octave (Musical_pitch);
- virtual void do_print() const;
-};
+#include "music-sequence.hh"
/**
Simultaneous_music is a list of music-elements which happen simultaneously
class Simultaneous_music : public Music_sequence
{
public:
-
- VIRTUAL_COPY_CONS(Music);
-
- Simultaneous_music(Music_list *);
- virtual Musical_pitch to_relative_octave (Musical_pitch);
- virtual Moment length_mom () const;
+ VIRTUAL_COPY_CONS (Music);
+ virtual Pitch to_relative_octave (Pitch);
+ virtual Moment get_length () const;
+ virtual Moment start_mom () const;
+ Simultaneous_music ();
};
-
-/**
- The request is a collection of Requests. A note that you enter in mudela is
- one Request_chord, one syllable of lyrics is one Request_chord
+/*
+ A chord.
*/
-class Request_chord : public Simultaneous_music
+class Event_chord : public Simultaneous_music
{
public:
- VIRTUAL_COPY_CONS(Music);
-
- virtual Musical_pitch to_relative_octave (Musical_pitch);
- Request_chord();
+ VIRTUAL_COPY_CONS (Music);
+ virtual Pitch to_relative_octave (Pitch);
};
-
/**
Sequential_music is a list of music-elements which are placed behind each other.
*/
class Sequential_music : public Music_sequence
{
public:
- VIRTUAL_COPY_CONS(Music);
-
- Sequential_music(Music_list*);
- virtual Moment length_mom () const;
+ VIRTUAL_COPY_CONS (Music);
+ virtual Moment get_length () const;
+ virtual Moment start_mom () const;
+
+ Sequential_music ();
};
+
#endif // Music_sequence_HH