gnu-music-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Sample score -- problems


From: Han-Wen Nienhuys
Subject: Sample score -- problems
Date: Wed, 1 Nov 2000 17:25:14 +0100

address@hidden writes:
> 1.  Why does this take over an hour to process?

Lilypond is slow. At the moment we're still breaking and rebuilding
crufty parts. Most of the new code has not been optimized for speed.
I hope we get 'round to that. (Should you try a more recent 1.3,
please send me some timing results. We overhauled the font-selection
code, and I'm curious if the code is as slow as I suspect it is).

> 2.    Why, even though I've told lily to put articulations _over_
>       the notes (both with a \pushed property AND using the ^ to
>       attach articulations to notes) do my articulations come out
>       _under_ the notes?

try this

--- script-engraver.cc~ Sun Oct  8 16:26:54 2000
+++ script-engraver.cc  Wed Nov  1 17:10:49 2000
@@ -85,7 +85,8 @@
       SCM priority = gh_car (list);
 
       
-      if (to_dir (relative_stem_dir))
+      if (!isdir_b (force_dir)
+         && to_dir (relative_stem_dir))
        p->set_elt_property ("side-relative-direction", relative_stem_dir);
       else
        p->set_elt_property ("direction", force_dir);


> 
> 3.    Why do tied chords not obey explicit instructions concerning
>       the directions of the ties?  Even though I've instructed
>       lily to place ties "up" in, say, the soprano part, whenever
>       there's a chord that needs to be tied, the ties appear in
>       both directions.

try this (untested)

--- tie-column.cc~      Sun Oct 22 01:51:33 2000
+++ tie-column.cc       Wed Nov  1 17:17:47 2000
@@ -30,10 +30,14 @@
   return  me->has_interface (ly_symbol2scm ("tie-column-interface"));
 }
 
+
+/*
+  tie dir depends on what Tie_column does.
+*/
+
 void
 Tie_column::add_tie (Score_element*me,Score_element *s)
 {
-
   if (!  Pointer_group_interface ::count (me, "ties"))
     {
       dynamic_cast<Spanner*> (me)->set_bound (LEFT, Tie::head (s,LEFT));
@@ -67,9 +71,12 @@
   Link_array<Score_element> ties =
     Pointer_group_interface__extract_elements (me, (Score_element*)0, "ties");
 
+  for (int i = ties.size (); i--; )
+    if (Directional_element_interface::get (ties[i]))
+      ties.del (i);
+  
 
   Direction d = Directional_element_interface::get (me);
-
   if (d)
     {
       for (int i = ties.size (); i--;)

> 4.    Why do some ties appear as straight lines, instead of
>       curves?  (This happens a lot with small ties.)

The code to prevent collisions with stafflines had some problems. I
made some fixes in 1.3.98.

-- 

Han-Wen Nienhuys   |   address@hidden    | http://www.cs.uu.nl/~hanwen/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]