]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.67
authorfred <fred>
Sun, 24 Mar 2002 19:45:28 +0000 (19:45 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:45:28 +0000 (19:45 +0000)
NEWS
TODO
lily/.version
lily/include/music.hh [new file with mode: 0644]
lily/include/note-head.hh
lily/music-list.cc [new file with mode: 0644]
lily/music.cc [new file with mode: 0644]
lily/notehead.cc
mi2mu/TODO

diff --git a/NEWS b/NEWS
index cc0f07c3159f89286af350d16f69c68582e7dadd..d514afe7b5e7c5cafdd88f14ef0a40da72266e1a 100644 (file)
--- 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 5af191f9f2e8aa5f77b86f8e9f78aebe4bf6540a..8d3e7c344fa67c2dc615fdd66114552b7162435f 100644 (file)
--- 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.
 
index de91678501b039c30e5e314d9c25f4b509fc4fe0..1f39e39a1d1e192381df5ccc6206aeafe1dafb22 100644 (file)
@@ -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 (file)
index 0000000..06fbcd7
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+  music.hh -- declare Music
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+
+#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*> 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
+
+
+
index 4a1bf349eb5e1d0f06d100a129ff977b0ecfc949..c93c1ad205d278ede6df56cf27606983c34658ee 100644 (file)
@@ -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 (file)
index 0000000..3d8f965
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+  music-list.cc -- implement Music_list, 
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#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 (file)
index 0000000..155c7e3
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+  music.cc -- implement Music
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#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(){}
index ccfffcc2b5d014e40e8a05cc0d8cc34a10cdd24a..0e55a26a7f6558316f6a727ab161b41f3b596e5b 100644 (file)
@@ -1,3 +1,11 @@
+/*
+  notehead.cc -- implement Note_head
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
 #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_;
 }
     
index 5fb343a0cae4c4df9b17703ec107f3a39daca054..01de76df271305a61d83e14e57651fd8dcc47d17 100644 (file)
@@ -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. ?