]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/music-list.hh
* lily/include/music.hh (class Music): include SCM init argument.
[lilypond.git] / lily / include / music-list.hh
index f1de4e7f39347582b4a1cafbd0ce56a55f476541..523fef4464d9ee1377748579c90dcaa94e4e4fd9 100644 (file)
@@ -1,53 +1,16 @@
 /*
-  music-list.hh -- declare Music_sequence,
-  Simultaneous_music and Sequential_music
+  music-list.hh -- declare Simultaneous_music, Sequential_music, Event_chord
 
   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
+#ifndef MUSIC_LIST_HH
+#define MUSIC_LIST_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
@@ -55,38 +18,36 @@ protected:
 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;
-};
+  Simultaneous_music (SCM);
+  VIRTUAL_COPY_CONSTRUCTOR (Music, Simultaneous_music);
 
+  virtual Pitch to_relative_octave (Pitch);
+  virtual Moment get_length () const;
+  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
+/*
+  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_CONSTRUCTOR (Music, Event_chord);
+  virtual Pitch to_relative_octave (Pitch);
+  Event_chord (SCM);
 };
 
-
 /**
   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_CONSTRUCTOR (Music, Sequential_music);
+  virtual Moment get_length () const;
+  virtual Moment start_mom () const;
+  
+  Sequential_music (SCM);
 };
-#endif // Music_sequence_HH
+
+#endif /* MUSIC_LIST_HH */