From: fred Date: Sun, 24 Mar 2002 19:45:28 +0000 (+0000) Subject: lilypond-0.0.67 X-Git-Tag: release/1.5.59~4604 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c99e2c604c5bc88bead8e8d120e0fe3e8c9c5515;p=lilypond.git lilypond-0.0.67 --- diff --git a/NEWS b/NEWS index cc0f07c315..d514afe7b5 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,29 @@ +pl 67 + - sketch of Music classes + - General_script_def as baseclass for Text_def and Script_def + - bf: clean lib/out/liblily.a + - bf: rests shorter than 1/4 + +pl 66.jcn3 + - bf: make uninstall + - conflily + - f: some pedaling + - plet hack removed :-( [ c c c ]2/3 -> [2/3 c c c ]1/1 + +pl 66.jcn2 + - bf: bar, Hilfslinie + - bf: configure for mingw32 + +pl 66.jcn1 + - WIN32 -> WINDOWS32, more win32->windows32 + - some GNU/Linux changes + - cygnus b18 / mingw update + - doze compile; bf: p-score.cc compares + - reincluded toccata fixes + - small stuff: vi tags, typos, bibl + +****** +may 27 pl 66 - make_website --jpeg, --png and --gif - win32 -> windows32 @@ -11,6 +37,7 @@ pl 66 ****** may 26 + pl 65 - bf pathfind /root/file - massive Score_elem rewrite: diff --git a/TODO b/TODO index 5af191f9f2..8d3e7c344f 100644 --- a/TODO +++ b/TODO @@ -8,7 +8,6 @@ grep for TODO and ugh/ugr IMPORTANT - * add mi2mu example output (.midi.ly and .gif) to website * piano staff @@ -22,8 +21,6 @@ IMPORTANT * decent TeX page layout - * per staff item-widths [JCN] - * script priority * a Hands on tutorial [HKN] @@ -109,11 +106,8 @@ PROJECTS PARSER * Duration -> Musical_duration, typedef Rational Duration? -********************** HKN buglist: -noten staan vaak te dicht aan de rechterkant van de maatstreep. - tekst staat erg ver van notenbalken af waarom geen ; achter dingen in \paper? (\textwidth 180\mm) @@ -122,12 +116,8 @@ waarom geen ; achter dingen in \paper? (\textwidth 180\mm) Onduidelijk wanneer wel en geen \ voor een woord. Maak liever verplichte regels -**************** - BUGS - * RPM permissions -> redhat! - * spurious Weird stem size warnings * staccato dot positions. @@ -137,7 +127,9 @@ BUGS * lilypond - -> crash * standchen triool beam up/down - + + * (where are the) gcc compile warnings on linux + SEVERELY LACKING: * SPEED! @@ -153,8 +145,6 @@ FURTHER FOR ORCHESTRAL SCORE: * abbreviations c4=16 - * doublebar "||", finishbar "|||" (or "||." ?) - INPUTLANGUAGE * should have \require{package.ly} to read req'd packages. @@ -183,6 +173,10 @@ PROJECTS SMALLISH PROJECTS + * A range for context errors (eg. mark both { and }. ) + + * text in staff (sharpsharp in staff, text below) + * replace Score_elem member access by get()/set() methods, to enable future embedded code. diff --git a/lily/.version b/lily/.version index de91678501..1f39e39a1d 100644 --- a/lily/.version +++ b/lily/.version @@ -1,8 +1,7 @@ MAJOR_VERSION = 0 MINOR_VERSION = 0 -PATCH_LEVEL = 66 - +PATCH_LEVEL = 67 # use to send patches, always empty for released version: # include separator: ".postfix", "-pl" makes rpm barf -MY_PATCH_LEVEL = +MY_PATCH_LEVEL = diff --git a/lily/include/music.hh b/lily/include/music.hh new file mode 100644 index 0000000000..06fbcd7395 --- /dev/null +++ b/lily/include/music.hh @@ -0,0 +1,70 @@ +/* + music.hh -- declare Music + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + + + +#ifndef MUSIC_HH +#define MUSIC_HH + +#include "plist.hh" +#include "virtual-methods.hh" +#include "input.hh" +#include "minterval.hh" +#include "lily-proto.hh" + +class Music:public Input { +public: + virtual MInterval time_int()const; + virtual ~Music(){} + void print() const; + virtual void transpose(Melodic_req const *); + virtual void translate(Moment dt); + VIRTUAL_COPY_CONS(Music,Music) + NAME_MEMBERS(); + Music(); +protected: + virtual void do_print() const; + +}; + +class Music_list : public Music { +public: + Music_list(Music_list const&); + Music_list(); + NAME_MEMBERS(); + VIRTUAL_COPY_CONS(Music_list,Music) + virtual void add(Music*); + virtual void transpose(Melodic_req const *); +protected: + Pointer_list music_p_list_; + + virtual void do_print() const; +}; + + +class Chord : public Music_list { +public: + NAME_MEMBERS(); + VIRTUAL_COPY_CONS(Chord,Music) + virtual void translate(Moment dt); + virtual MInterval time_int()const; +}; + + +class MVoice : public Music_list { +public: + NAME_MEMBERS(); + VIRTUAL_COPY_CONS(MVoice, Music) + virtual void translate(Moment dt); + virtual MInterval time_int()const; +}; + +#endif // MUSIC_HH + + + diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 4a1bf349eb..c93c1ad205 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -20,7 +20,7 @@ class Note_head : public Item { public: - NAME_MEMBERS(Note_head); + NAME_MEMBERS(); bool rest_b_; int position_i_; @@ -45,6 +45,7 @@ public: static int compare(Note_head * const &a, Note_head *const &b) ; protected: virtual void do_print()const; + virtual void do_pre_processing(); virtual Molecule* brew_molecule_p()const; }; #endif // NOTEHEAD_HH diff --git a/lily/music-list.cc b/lily/music-list.cc new file mode 100644 index 0000000000..3d8f965b8b --- /dev/null +++ b/lily/music-list.cc @@ -0,0 +1,76 @@ +/* + music-list.cc -- implement Music_list, + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + + +#include "music.hh" +#include "debug.hh" + +Music_list::Music_list(Music_list const&s) +{ + for (iter(s.music_p_list_.top(), i); i.ok(); i++) + add(i->clone()); +} + + +IMPLEMENT_STATIC_NAME(Music_list); + +void +Music_list::add(Music*mus_p) +{ + music_p_list_.bottom().add(mus_p); +} + +void +Music_list::transpose(Melodic_req const*m) +{ + for (iter(music_p_list_.top(), i); i.ok(); i++) + i->transpose(m); +} + +void +Music_list::do_print() const +{ + for (iter(music_p_list_.top(), i); i.ok(); i++) + i->print(); +} + +IMPLEMENT_STATIC_NAME(Chord); + +void +Chord::translate(Moment dt) +{ + for (iter(music_p_list_.top(), i); i.ok(); i++) + i->translate(dt); +} + +MInterval +Chord::time_int()const +{ + MInterval m; + for (iter(music_p_list_.top(), i); i.ok(); i++) + m.unite(i->time_int()); + return m; +} + +MInterval +MVoice::time_int() const +{ + Moment last=0; + for (iter(music_p_list_.top(), i); i.ok(); i++) + last += i->time_int().length(); + return MInterval (0,last); +} + +void +MVoice::translate(Moment dt) +{ + for (iter(music_p_list_.top(), i); i.ok(); i++) + i->translate(dt); +} + +IMPLEMENT_STATIC_NAME(MVoice); diff --git a/lily/music.cc b/lily/music.cc new file mode 100644 index 0000000000..155c7e31ff --- /dev/null +++ b/lily/music.cc @@ -0,0 +1,47 @@ +/* + music.cc -- implement Music + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + + +#include "music.hh" +#include "debug.hh" + +MInterval +Music::time_int() const +{ + return MInterval(0,0); +} +void +Music::print()const +{ + #ifndef NPRINT + mtor << name() << "{" ; + do_print(); + mtor << "}\n"; + #endif +} +void +Music::transpose(Melodic_req const*) +{ + +} + +void +Music::translate(Moment ) +{ +} + +void +Music::do_print()const +{ +} + +IMPLEMENT_STATIC_NAME(Music); + + + +Music::Music(){} diff --git a/lily/notehead.cc b/lily/notehead.cc index ccfffcc2b5..0e55a26a7f 100644 --- a/lily/notehead.cc +++ b/lily/notehead.cc @@ -1,3 +1,11 @@ +/* + notehead.cc -- implement Note_head + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + #include "misc.hh" #include "note-head.hh" #include "dimen.hh" @@ -20,12 +28,18 @@ Note_head::Note_head(int ss) rest_b_ = false; } +void +Note_head::do_pre_processing() +{ + // 8 ball looks the same as 4 ball: + if (balltype_i_ > 4 && !rest_b_) + balltype_i_ = 4; +} + void Note_head::set_rhythmic(Rhythmic_req*r_req_l) { balltype_i_ = r_req_l->duration_.type_i_; - if (balltype_i_ > 4) - balltype_i_ = 4; dots_i_ = r_req_l->duration_.dots_i_; } diff --git a/mi2mu/TODO b/mi2mu/TODO index 5fb343a0ca..01de76df27 100644 --- a/mi2mu/TODO +++ b/mi2mu/TODO @@ -6,6 +6,10 @@ grep for TODO and ugh/ugr IMPORTANT + * remove silly #warning using midi_voice list + + * add mi2mu example output (.midi.ly and .gif) to website + * important? lily is important, go work on lily! * faq about mi2mu midi t1. ?