]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.59
authorfred <fred>
Sun, 24 Mar 2002 19:42:12 +0000 (19:42 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:42:12 +0000 (19:42 +0000)
TODO
bin/Makefile
bin/lily.efence [new file with mode: 0644]
lily/tie.cc [new file with mode: 0644]

diff --git a/TODO b/TODO
index 839412f6ede8edb06d479c6d7d36d1043bf148ab..ec850fd0c7c8275627931a82125acc3fd786449f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,8 +1,17 @@
 
+This is an assorted collection of stuff that will be done, might be
+done, or is an idea that I want to think about
+
+Most of the items are marked in the code as well, with full explanation. 
+grep for TODO and ugh/ugr
+
+
 IMPORTANT
 
        * update 20 pt table
 
+       * use Hungarian throughout code
+
        * rename mf fonts to avoid conflicts with musixtex
 
        * decent TeX page layout
@@ -11,34 +20,30 @@ IMPORTANT
 
        * script priority
 
-       * slur direction
-
        * use own fonts/update musixtex fonts
 
        * check return status in make_website
 
        * a Hands on tutorial [HKN]
 
-This is an assorted collection of stuff that will be done, might be
-done, or is an idea that I want to think about
 
-Most of the items are marked in the code as well, with full explanation. 
-grep for TODO and ugh/ugr
+PROJECT:
+
+       * Output class, handles 
+       - help text /(c) notice?
+       - warning /errors/progress
+       - abort on error/warning; exit status
+       - quiet/ignore-version options
+       - logfile output
 
 PARSER
        * Duration-> Musical_duration, typedef Rational Duration?
 
 HKN buglist:
 
-exitcode? (altijd 0)
-
 \bar || ook dunne streepjes? Sluit de balk niet af! (soms met de
 ruimte van een hele maat erachter (bij unmatching staffs)
 
-logfile?
-
-Gepunteerde rusten kloppen niet (punt eronder/boven ipv ernaast)
-
 Hele rusten ook in andere maatsoort dan 4/4 (en centreren in de maat)
 
 
@@ -48,7 +53,7 @@ barcheck failed in lyric mode -> assert (zie barcheck.ly) (0.0.57)
 ------------------------/
 
 optie om te stoppen na eerste barcheck fail? (en wellicht in eerder
-stadium van precessing)
+stadium van preprocessing)
 
 noten staan vaak te dicht aan de rechterkant van de maatstreep.
 
@@ -62,8 +67,6 @@ script ^"3" onder ondanks boven?
 
 symbolen voor triller? (dus "tr---")
 
-mogelijkheid om complete regions te commenten (met /* */ ofzo)
-
 waarom geen ; achter dingen in \paper? (\textwidth 180\mm)
 (sowieso: wanneer wel en geen ; ?)
 
@@ -77,28 +80,6 @@ midi: instrumenten definieren?
 midi: tempo halverwege het stuk wijzigen?
 midi: gebonden noten niet herhalen?
 
-TeX literals invoegen?
-
---------/\
-Dit geeft gigantische trubbels
-        < [d8.( e'32*2/3 d'32*2/3 cis'32*2/3 b16 d'16 cis'16 )b'16]
-          [b8.  cis'32*2/3 b32*2/3 a32*2/3     gis16 fis16 e16 d16] >
-(zie file junkjunk.ly) Ik had natuurlijk wat accolades moeten
-plaatsen, maar ja...
-
---------/\
-Inconsequent: ene keer wel, andere keer niet parse error?
-ipt.ini][/usr/local/share/lilypond/init//table_sixteen.ini]]./lacidarem.ly: 56: 
-error: parse error:
-        <[d8. b8.> \duration 32; <e'*
-                                     2/3 cis'*2/3> <d'*2/3 b*2/3>
-./lacidarem.ly: 56: error: parse error:
-        <[d8. b8.> \duration 32; <e'*2/3 cis'*2/3> <d'*
-                                                       2/3 b*2/3>
-./lacidarem.ly: 57: error: parse error:
-        <cis'*
-              2/3 a*2/3> \duration 16; <b gis> <d' fis> <cis' e> <b' d]> |
-]./lacidarem.ly: 65: warning: Score contains errors. Will not process it. :
 --------/\
 De beam van de triool klopt niet.
         <[d8. b8.> \duration 32; <e'32*2/3 cis'32*2/3> <d'32*2/3 b32*2/3>
@@ -135,13 +116,15 @@ BUGS
 
        * [c8. c32 c32]
 
+       * \duration 8; e*2/3
+
        * cis ( | ) cis
 
        * lilypond - -> crash
 
        * chlapik balk ruimte 
 
-               * standchen triool beam up/down
+       * standchen triool beam up/down
 
 
 SEVERELY LACKING:
@@ -203,8 +186,6 @@ SMALLISH PROJECTS
        
        * caching breakpoints / saving them. 
 
-       * hack ElectricFence to use with LD_PRELOAD
-
        * use dstream feature in mi2mu
 
         * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
@@ -264,8 +245,6 @@ DOC
 
 FUTURE
 
-       * tie a ~ b, move slur reg into voice-group.
-
        * Reg_configure_request
 
        * bring Collision::do_pre_processing to haircutter
@@ -340,8 +319,6 @@ IDEAS
        * SHIT: meters/bars should be aligned, which is difficult if
        we get different keychanges in different staffs.
 
-       * Integrating (objectiveC) MusicKit with LilyPond?
-               
        * MusixTeX output possible?
 
        * PostScript output (esp. Beams, Slurs, etc)
@@ -353,8 +330,6 @@ IDEAS
 
        * caching breakpoints
 
-       * use exceptions iso assert?
-
        * #c <-> cis
 
        * breath marks 
index ed0e8522aea77c1591ca8b787de1bc72636b4732..faa5163efe9182a1fa3a5328adf3cb3fcf374b04 100644 (file)
@@ -7,6 +7,7 @@ include $(depth)/make/Include.make
 # list of distribution files:
 
 SCRIPTS = clearlily cpgento genheader make_patch \
+       lily.efence\
        make_version make_website release convert-mudela show-latest
 EXTRA_DISTFILES = $(SCRIPTS)
 #
diff --git a/bin/lily.efence b/bin/lily.efence
new file mode 100644 (file)
index 0000000..9bed942
--- /dev/null
@@ -0,0 +1,4 @@
+# gdb script
+file bin/lilypond
+set environment  LD_PRELOAD libefence.so
+
diff --git a/lily/tie.cc b/lily/tie.cc
new file mode 100644 (file)
index 0000000..eff99f4
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+  tie.cc -- implement Tie
+
+  source file of the LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#include "tie.hh"
+#include "notehead.hh"
+#include "p-col.hh"
+
+Spanner*
+Tie::do_break_at(PCol*l, PCol*r) const
+{
+    Tie * tie_p = new Tie;
+    Line_of_score const  *line_C=l->line_l_;
+    if (left_head_l_->line_l()== line_C)
+       tie_p->left_head_l_ = left_head_l_;
+    if (right_head_l_->line_l() == line_C)
+       tie_p->right_head_l_  = right_head_l_;
+    
+    return tie_p;
+}
+
+void
+Tie::set_head(int x_pos, Notehead * head_l)
+{
+    if (x_pos >0) {
+       assert(!right_head_l_);
+       right_head_l_ = head_l;
+    } else {
+       assert(!left_head_l_);
+       left_head_l_ = head_l;
+    }
+    add_dependency(head_l);
+}
+
+Tie::Tie()
+{
+    right_head_l_ =0;
+    left_head_l_ =0;
+}
+
+void
+Tie::do_add_processing()
+{
+    assert(left_head_l_ && right_head_l_);
+    left_col_l_ = left_head_l_ -> pcol_l_;
+    right_col_l_ = right_head_l_ -> pcol_l_;
+}
+
+void
+Tie::do_post_processing()
+{
+    assert(left_head_l_ || right_head_l_);
+    left_pos_i_ =  (left_head_l_)? 
+       left_head_l_->position_i_ : right_head_l_->position_i_;
+    right_pos_i_ = (right_head_l_) ? 
+       right_head_l_->position_i_ : left_head_l_->position_i_;
+}
+
+