/*
- music-list.hh -- declare Music_list, Chord and Voice
+ music-list.hh -- declare Music_sequence,
+ Simultaneous_music and Sequential_music
source file of the GNU LilyPond music typesetter
- (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#ifndef MUSIC_LIST_HH
-#define MUSIC_LIST_HH
-
-#include "music.hh"
-#include "plist.hh"
+#ifndef Music_sequence_HH
+#define Music_sequence_HH
+#include "music-sequence.hh"
/**
- Music can be a list of other "Music" elements
+ Simultaneous_music is a list of music-elements which happen simultaneously
*/
-class Music_list : public Music
+class Simultaneous_music : public Music_sequence
{
-
public:
- int multi_level_i_;
-
- Musical_pitch do_relative_octave (Musical_pitch, bool);
- Music_list (Music_list const&);
- Music_list();
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Music_list,Music);
- virtual void add (Music*);
- virtual void transpose (Musical_pitch );
-
- Pointer_list<Music*> music_p_list_;
-protected:
-
- virtual void do_print() const;
+ VIRTUAL_COPY_CONS (Music);
+ virtual Pitch to_relative_octave (Pitch);
+ virtual Moment get_length () const;
+ virtual Moment start_mom () const;
+ Simultaneous_music ();
};
/**
- Chord is a list of music-elements which happen simultaneously
+ The event is a collection of Events. A note that you enter in lilypond is
+ one Event_chord, one syllable of lyrics is one Event_chord
*/
-
-class Chord : public Music_list
+class Event_chord : public Simultaneous_music
{
public:
- Chord();
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Chord,Music);
-
- virtual Musical_pitch to_relative_octave (Musical_pitch);
- virtual void translate (Moment dt);
- virtual MInterval time_int() const;
-};
+ VIRTUAL_COPY_CONS (Music);
+ virtual Moment start_mom () const;
-/**
- 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
- */
-class Request_chord : public Chord
-{
-public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- virtual Musical_pitch to_relative_octave (Musical_pitch);
- Request_chord();
- VIRTUAL_COPY_CONS(Request_chord, Music);
+ Event_chord ();
};
+
/**
- Voice is a list of music-elements which are placed behind each other.
+ Sequential_music is a list of music-elements which are placed behind each other.
*/
-class Voice : public Music_list
+class Sequential_music : public Music_sequence
{
-
public:
- Moment offset_mom_;
- virtual Musical_pitch to_relative_octave (Musical_pitch);
- Voice();
- DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Voice, Music);
- virtual void translate (Moment dt);
- virtual MInterval time_int() const;
+ VIRTUAL_COPY_CONS (Music);
+ virtual Moment get_length () const;
+ virtual Moment start_mom () const;
+
+ Sequential_music ();
};
-#endif // MUSIC_LIST_HH
+
+#endif // Music_sequence_HH