]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.60
authorfred <fred>
Sun, 24 Mar 2002 19:42:30 +0000 (19:42 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:42:30 +0000 (19:42 +0000)
NEWS
TODO
bin/make_website
lily/tie.cc

diff --git a/NEWS b/NEWS
index f01134bef9341e74722580f024b26ddb64102725..b44d208d44035529402807ddea912eb33f5cfc45 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,10 @@
+pl 60
+       - Request_register::get_feature(), tie direction, Slur direction
+       - lilypond output is now directly texable. 
+       - make_website checks return status
+
+*******
+may 5
 pl 59
        - Slur now into voicegroups, and take stems into account.
        - bf: rest size in table.
diff --git a/TODO b/TODO
index ec850fd0c7c8275627931a82125acc3fd786449f..b65304f456edfd01d2ffb3ed5ef40defec1ab3fb 100644 (file)
--- a/TODO
+++ b/TODO
@@ -22,8 +22,6 @@ IMPORTANT
 
        * use own fonts/update musixtex fonts
 
-       * check return status in make_website
-
        * a Hands on tutorial [HKN]
 
 
@@ -36,6 +34,18 @@ PROJECT:
        - quiet/ignore-version options
        - logfile output
 
+
+       * elaborate Staff_side baseclass:
+        - scripts
+        - text
+        - slur start/end
+
+       * Output an output format independent (ofi) typeset file; and 
+         make ofi2 TeX, MusixTex, PostScript, Ascii... interpreters.
+       - poor man's ascii output possible?
+       - MusixTeX output possible?
+       - PostScript output (esp. Beams, Slurs, etc)
+
 PARSER
        * Duration-> Musical_duration, typedef Rational Duration?
 
@@ -46,8 +56,6 @@ ruimte van een hele maat erachter (bij unmatching staffs)
 
 Hele rusten ook in andere maatsoort dan 4/4 (en centreren in de maat)
 
-
-
 ------------------------\
 barcheck failed in lyric mode -> assert (zie barcheck.ly) (0.0.57)
 ------------------------/
@@ -249,8 +257,6 @@ FUTURE
 
        * bring Collision::do_pre_processing to haircutter
 
-       * slurs per voicegroup.
-
        * slur parts as a script
        
        * mixed fontsizes
@@ -285,9 +291,6 @@ FUTURE
 
 IDEAS
 
-       * output an intermediate format, move backend/output routines into 
-       interpreter
-
        * scoping in Lexer: do general id- assignments in mudela.
 
        ID '=' EXPR;
@@ -311,7 +314,6 @@ IDEAS
        * merge Atom and Symbol?
 
        * merge common code of Item, Atom/Molecule
-
        * Spacing_request for manually adjusting spacing
 
        * Staff_group, Score_request_register.
@@ -319,15 +321,6 @@ IDEAS
        * SHIT: meters/bars should be aligned, which is difficult if
        we get different keychanges in different staffs.
 
-       * MusixTeX output possible?
-
-       * PostScript output (esp. Beams, Slurs, etc)
-
-       * poor man's ascii output possible?
-
-       * Output an output format independent (ofi) typeset file; and 
-         make ofi2 TeX, MusixTex, PostScript, Ascii... interpreters.
-
        * caching breakpoints
 
        * #c <-> cis
@@ -337,9 +330,6 @@ IDEAS
        * used fixedpoint arithmetic for min. energy.
 
        * default convert mudela-file.ly -> mudela-file.tex
-         - move test.tex: '\include lilyponddefs' -> 
-           mudela-file.ly: '\texinclude "lilyponddefs";'
-           (junking test.tex and latex.test)
          - rename {standchen,scsii-menuetto,...}.tex
 
        * (related with above) --simple-mudela option for lily,
index a6855cbe31f396208e6e0655283b117cc900e7d0..380a5cbca15609e26dd7d05c6d48f82329bea7ea 100755 (executable)
@@ -1,5 +1,20 @@
 #!/usr/bin/perl -w
-# stuff should be generated in out directory.
+
+# TODO check ret status of various stuff
+
+use FileHandle;
+
+sub my_system
+{
+    my (@cmds) = @_;
+    foreach $cmd (@cmds) {
+       my      $ret =  ( system ($cmd))/256;
+       if ($ret) {
+           print STDERR "\nmake_website: failed on command \`$cmd\' (status $ret)\n";
+           exit 2;
+       }
+    }
+}
 
 sub set_hrefs
 {
@@ -29,14 +44,14 @@ local @examples=("wohltemperirt" ,"standchen", "scsii-menuetto", "rhythm", "coll
 sub gen_html
 {
     print "generating HTML\n";
-    system "make -kC .. html";
+    my_system "make -kC .. html";
 }
 
 sub gen_examples
 {
     print "generating examples: \n";
     foreach $a (@examples) {
-       $texfile="test";
+       $texfile="lelie";
        $tex = "tex $texfile";
        if ($a eq "standchen" || $a eq "scsii-menuetto" ) {
            $tex = "latex $a";
@@ -44,18 +59,19 @@ sub gen_examples
        }
        
        if ( ! -f "$a.ly.txt" ) {
-           system "ln $depth/input/$a.ly ./$a.ly.txt";
+           my_system "ln $depth/input/$a.ly ./$a.ly.txt";
        }
        if ( ! -f "$a.ps.gz" ) {
-           system "lilypond $a;$tex;".
-               "dvips -o $a.ps $texfile;";
+           my_system "lilypond $a;",
+           "$tex",
+           "dvips -o $a.ps $texfile;";
 
        }
        # generate the pixmap at twice the size, then rescale (for antialiasing)
        if ( ! -f "$a.gif" ) {
-           system "mv lelie.midi $a.midi; ";
-           system "gs -q -sDEVICE=ppmraw -sOutputFile=- -r200 -dNOPAUSE  $a.ps -c quit |pnmscale 0.5| ppmtogif > $a.gif";
-           system "gzip $a.ps";
+           my_system "mv lelie.midi $a.midi; ",
+            "gs -q -sDEVICE=ppmraw -sOutputFile=- -r200 -dNOPAUSE  $a.ps -c quit |pnmscale 0.5| ppmtogif > $a.gif",
+            "gzip $a.ps";
        }   
     }
 }
@@ -69,8 +85,13 @@ sub gen_list
     foreach $a (@examples) {
        $name=$a;
        print HTMLLIST "<h1>example file: $name</h1>\n<XMP>\n";
-       $cmd= "head $depth/input/$a.ly | grep \^% \| sed \"s/^%/        /\"";
-       $desc = `$cmd`;
+
+       open IF, "$depth/input/$a.ly";
+       input_record_separator IF "%}";
+       
+       $desc = <IF>;
+       close IF;
+       
        print HTMLLIST "$desc\n</XMP>";
 
        $inputf="$a.ly.txt";
@@ -93,22 +114,23 @@ sub copy_files
 {  
     print "copying files\n";
     print `ln -s $depth/out ./docxx` if ( ! -x "docxx" ) ;
-    system "cp $depth/TODO ./TODO.txt";
-    system "cp $depth/NEWS ./NEWS.txt";
-    system "cp ../lelie*gif .";
+    my_system "cp $depth/TODO ./TODO.txt",
+    "cp $depth/NEWS ./NEWS.txt",
+    "cp ../lelie*gif .";
 }
 
 sub docxx_update
 {
-    system "make -C $depth doc++";
+    my_system "make -C $depth doc++";
 }
 
 sub
     do_tar
 {
      print "tarring.\n";
-     system " tar vhcf website.tar *.html *.gif *.ps.gz *.ly.txt *.midi docxx/*;";
-system "gzip -f9 website.tar;";
+     my_system
+        " tar vhcf website.tar *.html *.gif *.ps.gz *.ly.txt *.midi docxx/*;",
+        "gzip -f9 website.tar;";
 }
 
 $depth = "../../";
index eff99f4600a175ecf349c880e06402010d9c8308..06c09a3b82aea36cac24adb78daa4938854cfb17 100644 (file)
@@ -6,6 +6,7 @@
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
+#include "paper-def.hh"
 #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;
+    Tie * tie_p = new Tie(*this);
     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_;
+    tie_p->left_head_l_ = (left_head_l_->line_l()== line_C) ?
+       left_head_l_ : 0;
+    tie_p->right_head_l_  = (right_head_l_->line_l() == line_C)?
+       right_head_l_ : 0;
     
     return tie_p;
 }
@@ -42,6 +43,14 @@ Tie::Tie()
     left_head_l_ =0;
 }
 
+void
+Tie::set_default_dir()
+{
+    int m= (left_head_l_->position_i_ + right_head_l_->position_i_) /2 ;
+    dir_i_ =  (m < 5)? -1:1;                   // ugh
+}
+    
+
 void
 Tie::do_add_processing()
 {
@@ -58,6 +67,18 @@ Tie::do_post_processing()
        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_;
+    if ( right_head_l_ && right_head_l_->extremal_i_) {
+       right_pos_i_ += 2*dir_i_;
+       right_dx_f_ -= 0.25;
+    } else
+       right_dx_f_ -= 0.5;
+
+    if (left_head_l_ && left_head_l_->extremal_i_) {
+       left_pos_i_ += 2*dir_i_;
+       left_dx_f_ += 0.25;
+    } else
+       left_dx_f_ += 0.5;
 }