]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.50
authorfred <fred>
Sun, 24 Mar 2002 19:39:07 +0000 (19:39 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:39:07 +0000 (19:39 +0000)
Documentation/Makefile
TODO
input/wohltemperirt.ly
lily/headreg.cc
lily/notehead.cc

index dc87ae02d99271d8d37689719251545b636f3ae9..dd61be8065049a3229d9960d0a1183d382a64bd2 100644 (file)
@@ -48,6 +48,7 @@ include ./$(depth)/make/Rules.make
 #
 
 localclean:
+       rm -f out/*
        rm -f $(TEXTFILES) $(HTMLFILES) $(GROFFFILES) $(HTMLFILES)
 
 localinstall: $(outdir)/lilypond.1 $(outdir)/mudela.5
diff --git a/TODO b/TODO
index 2d56c054f3cbe8ce097a7026b46c2c1925793cfd..1ba47b577aef11fa20b1b6b3ffeefdce10ff05f8 100644 (file)
--- a/TODO
+++ b/TODO
@@ -24,11 +24,13 @@ BUGS
 
        * help-lines
 
+       * help-lines for rests
+
        * [c8. c32 c32]
 
        * cis ( | ) cis
 
-       * lilypond - -> 
+       * lilypond - -> crash
 
 SEVERELY LACKING:
 
@@ -44,6 +46,8 @@ FURTHER FOR ORCHESTRAL SCORE:
 
 INPUTLANGUAGE
 
+       * relative mode for pitch entering
+
        * configure pitch_byte
 
        * special key.
@@ -69,7 +73,9 @@ SMALLISH PROJECTS
 
        * rpm package buildroot
 
-       * indentable stream for TeX stream, lily stream, Dstream.
+       * indentable stream as baseclass for TeX stream, lily stream, Dstream.
+
+       * caching Item/spanner dimensions.
 
        * key transposition
        
@@ -105,7 +111,9 @@ SMALLISH PROJECTS
        * Decent TeX titledefs (\tempo, \metron, etc. )
 
        * command priority into enum
-       
+
+       * don't broadcast Staff_sym
+
        * C meter iso 4/4
 
        * textspanner: center position
@@ -139,6 +147,10 @@ DOC
 
 FUTURE
 
+       * Reg_configure_request
+
+       * slurs per voicegroup.
+
        * slur parts as a script
        
        * multiple scripst.
@@ -179,9 +191,9 @@ IDEAS
 
        * move MIDI io to a ANSI C libmidi library.
 
-       * itemcolumns: Use dummy items.
-
        * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
+               - Items/Spanners
+               - Registers
 
        * y -dims in internote?
 
@@ -200,7 +212,7 @@ IDEAS
        we get different keychanges in different staffs.
 
        * Integrating (objectiveC) MusicKit with LilyPond
-       
+               
        * MusixTeX output possible?
 
        * PostScript output (esp. Beams, Slurs, etc)
@@ -208,3 +220,7 @@ IDEAS
        * caching breakpoints
 
        * use exceptions iso assert?
+
+       * #c <-> cis
+
+       * breath marks 
index b023a4000cd940cb60f537bd05a4609cf6361348..5bff42ebc0060ff9b9b7a1f511cbd027e5bc62cb 100644 (file)
@@ -4,6 +4,8 @@
 %
 %      Public Domain -- typed by by HWN
 %
+\version "0.0.50";
+
  global = \melodic{
        \meter 4/4 ;
        \grouping 2*2; 
index 318ed3a60725bc619fad8e3dd9c08b8ceb87d48e..2d551cdd2cf37cda4dfc839002053fe4e8a75718 100644 (file)
@@ -3,9 +3,9 @@
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
-#include "rest.hh"
+
 #include "notehead.hh"
-#include "headreg.hh"
+#include "head-reg.hh"
 #include "paper-def.hh"
 #include "complex-walker.hh"
 #include "musical-request.hh"
@@ -40,20 +40,21 @@ Notehead_register::process_requests()
     if (!note_req_l_)
        return;
     
+    Notehead*n_p = new Notehead(8);    // ugh
+    note_p_ = n_p;
+    n_p->set_rhythmic(note_req_l_->rhythmic());
 
     if (note_req_l_->note()) {
-       Notehead*n_p = new Notehead(8); // ugh
-       note_p_ = n_p;
-       n_p->set_rhythmic(note_req_l_->rhythmic());
        n_p->position = note_req_l_->note()->height() +
            *get_staff_info().c0_position_i_l_;
-    } else {
-       note_p_ = new Rest ( note_req_l_->rhythmic()->duration_);
+    } else if (note_req_l_->rest()) {
+       n_p->rest_b_ = true;
        if (note_req_l_->rhythmic()->duration_.type_i_ <= 2)
            note_p_->translate(
                Offset(0,
                       6 * paper()->internote()));
     }
+    
     Staff_elem_info itinf(note_p_,note_req_l_);
     announce_element(itinf);
 }
@@ -62,8 +63,9 @@ void
 Notehead_register::pre_move_processing()
 {
     if (note_p_) {
-       if (dir_i_ && note_p_->name() == Rest::static_name())
-           note_p_->translate(Offset(0, 4*dir_i_ * paper()->internote()));
+       if (dir_i_ && note_p_->rest_b_ && note_p_->balltype <= 2) {
+           note_p_->position +=4*dir_i_ ;
+       }
        typeset_element(note_p_);
        note_p_ = 0;
     }
index 528460f6f19925355f8a286f93fa7af26400f2bd..85132fe55e9cede48d0980640e142b8d1e92ca09 100644 (file)
@@ -17,6 +17,7 @@ Notehead::Notehead(int ss)
     balltype = 0;
     dots = 0;
     extremal = 0;
+    rest_b_ = false;
 }
 
 void
@@ -32,6 +33,8 @@ void
 Notehead::do_print()const
 {
 #ifndef NPRINT
+    if (rest_b_)
+       mtor << "REST! ";
     mtor << "balltype "<< balltype << ", position = "<< position
         << "dots " << dots;
 #endif
@@ -50,7 +53,11 @@ Notehead::brew_molecule_p() const return out;
     Paper_def *p = paper();
 
     Real dy = p->internote();
-    Symbol s = p->lookup_l()->ball(balltype);
+    Symbol s;
+    if (!rest_b_)
+       s = p->lookup_l()->ball(balltype);
+    else 
+       s = p->lookup_l()->rest(balltype);
     
     out = new Molecule(Atom(s));
     if (dots) {