From: fred Date: Mon, 2 Dec 1996 22:58:53 +0000 (+0000) Subject: lilypond-0.0.14 X-Git-Tag: release/1.5.59~6690 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=f3f4a238ae105212c93aaf0f591f1cd4e464c7cc;p=lilypond.git lilypond-0.0.14 --- diff --git a/Documentation/Makefile b/Documentation/Makefile index 383026e355..ea2f12ed55 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -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 diff --git a/hdr/inputmusic.hh b/hdr/inputmusic.hh index d5bf580fc6..d33e157fe8 100644 --- a/hdr/inputmusic.hh +++ b/hdr/inputmusic.hh @@ -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 voice_ ; + IPointerList 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 chord_; + IPointerList 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 ; };