]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.14
authorfred <fred>
Mon, 2 Dec 1996 22:58:53 +0000 (22:58 +0000)
committerfred <fred>
Mon, 2 Dec 1996 22:58:53 +0000 (22:58 +0000)
Documentation/Makefile
hdr/inputmusic.hh

index 383026e355c2a39dd39a925729aee84017e930cc..ea2f12ed55306bad573323265cef8a7297e6666e 100644 (file)
@@ -1,6 +1,6 @@
 
 DOCFILES=commands CodingStyle algorithms Makefile breaking\
-       slurfont pointers
+       slurfont pointers design
 
 dist:
        ln $(DOCFILES) $(DDIR)/Documentation/
\ No newline at end of file
index d5bf580fc60bc25ba6f56157b3a949db45d4c420..d33e157fe8b80ef3785e9f731f5335713fd3ef51 100644 (file)
@@ -21,59 +21,71 @@ struct Vertical_music {
     virtual Voice_list convert()=0;
     virtual Real length()=0;
     virtual void translate_time(Real dt)=0;
+    virtual Vertical_music *clone() const = 0;
+    virtual ~Vertical_music() {}
+    virtual void print() const =0;
 };
 
 struct Horizontal_music {
     virtual Voice_list convert()=0;
     virtual Real length()=0;
     virtual void translate_time(Real dt)=0;
-};
-
-struct Horizontal_simple : Horizontal_music {
-    Voice * voice_;
-    
-    /****************/
-
-    Horizontal_simple();
-    void set(Voice*);
-    virtual Real length();
-    virtual Voice_list convert();
-    virtual void translate_time(Real dt);
-
+    virtual Horizontal_music *clone() const = 0;
+    virtual ~Horizontal_music() {}
+    virtual void print() const =0;
 };
 
 struct Vertical_simple : Vertical_music {
-    Voice * voice_;
+    Voice * voice_;            // should be a  real member
     
     /****************/
+    Vertical_simple(Vertical_simple const&);
     Vertical_simple();
+    ~Vertical_simple();
     void add(Voice_element*);
     virtual Vertical_simple*simple() { return this; }
     virtual Real length();
     virtual Voice_list convert();
     virtual void translate_time(Real dt);
+    virtual Vertical_music *clone() const {
+       return new Vertical_simple(*this);
+    }
+    virtual void print() const ;
 };
 
 struct Music_voice : Horizontal_music {
-    PointerList<Vertical_music*> voice_ ;
+    IPointerList<Vertical_music*> voice_ ;
     
     /****************/
-
+    Music_voice() {}
+    Music_voice(Music_voice const&);
     Real length();
     void add(Vertical_music*);
     void add(Voice_element*);
     virtual Voice_list convert();
     virtual void translate_time(Real dt);
+    virtual Horizontal_music *clone() const {
+       return new Music_voice(*this);
+    }
+    void concatenate(Music_voice*);
+    virtual void print() const ;
 };
 
 struct Music_general_chord : Vertical_music {
-    PointerList<Horizontal_music*> chord_;
+    IPointerList<Horizontal_music*> chord_;
 
     /****************/
+    Music_general_chord() {}
+    Music_general_chord(Music_general_chord const&s);
     void add(Horizontal_music*);
     virtual Real length();
     virtual Voice_list convert();
     virtual void translate_time(Real dt);
+    virtual Vertical_music *clone() const {
+       return new Music_general_chord(*this);
+    }
+    void concatenate(Music_general_chord*);
+    virtual void print() const ;
 };