From 73194ee0a088cbc6aa5ed8401ad1a3cc755fcbaf Mon Sep 17 00:00:00 2001
From: fred <fred>
Date: Tue, 26 Mar 2002 21:46:20 +0000
Subject: [PATCH] lilypond-1.1.23

---
 NEWS                          | 22 +++++++++++
 init/engraver.ly              |  1 +
 init/property.ly              |  8 ++++
 input/star-spangled-banner.ly | 69 ++++++++++++++++----------------
 input/test/GNUmakefile        |  2 +-
 input/test/vertical-text.ly   |  4 +-
 input/twinkle.ly              |  6 +--
 lily/bar-engraver.cc          | 54 ++++++++++++++++++++-----
 lily/include/bar-engraver.hh  |  3 ++
 lily/repeat-engraver.cc       | 43 ++++++--------------
 mutopia/gnossienne-4.ly       | 74 ++++++++++++++++-------------------
 tex/lilyponddefs.tex          |  2 +-
 12 files changed, 164 insertions(+), 124 deletions(-)

diff --git a/NEWS b/NEWS
index ecef189c2c..766301d266 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,25 @@
+pl 22.jcn4
+	- bf's: repeat-engraver; \bar "|:", ":|" now deprecated for repeats
+	- bf: :|, |:
+	- property barAlways changed to boolean (0/1)
+	- added boolean property: barAuto
+
+pl 22.jcn3
+	- bf: mmrest
+
+pl 22.jcn2
+	- updated mi2mu
+	- bf: multi-measure-rest (input/test/m.ly)
+	- half fix for staff-margin-engraver
+
+pl 22.jcn1
+	- bf's: cross-staff slur
+	- bf: gnossienne-4
+pl 22.tca1
+ 	- buxfix, \mudela{ \times 2/3{ ...} } works now
+
+******
+  
 pl 22
 	- fixed "already have a Beam" error
 
diff --git a/init/engraver.ly b/init/engraver.ly
index 6ad41f5600..089b29a1b9 100644
--- a/init/engraver.ly
+++ b/init/engraver.ly
@@ -5,6 +5,7 @@
 StaffContext=\translator {
 	\type "Line_group_engraver_group";
 	\name Staff ;
+	barAuto = "1";
 
 %{
 	The Hara_kiri_line_group_engraver is a Line_group_engraver 
diff --git a/init/property.ly b/init/property.ly
index 0a06045445..5ae7c273d3 100644
--- a/init/property.ly
+++ b/init/property.ly
@@ -49,6 +49,14 @@ beamquantisation	2	quantise avoide wedge2)	\beampostraditional
 keyoctaviation	0	Key signature only for specified octave	\specialkey
 keyoctaviation	1	Key signature for all octaves	\normalkey
 
+[Staff]
+barAlways		0	none
+barAlways		1	generate bar at every moment
+
+[Staff]
+barAuto			0	none
+barAuto			1	auto-generate bar every measure
+
 timeSignatureStyle	C	Use C and stroked C for 4/4,2/2
 timeSignatureStyle	old	Use old style mensuration marks
 timeSignatureStyle	1	Use single number
diff --git a/input/star-spangled-banner.ly b/input/star-spangled-banner.ly
index 54fed0b456..f3312161d4 100644
--- a/input/star-spangled-banner.ly
+++ b/input/star-spangled-banner.ly
@@ -5,7 +5,7 @@ http://www.Arkkra.com/doc/star.ps
 %}
 \header{
 title="The Star Spangled Banner";
-subtitle="(United States of America's National Anthem)";
+subtitle="(The United States National Anthem)";
 poet="Text by Francis Scott Key";
 composer="J. S. Smith";
 arranger="Arranged by William J. Krauss";
@@ -14,9 +14,11 @@ copyright="public domain";
 }
 
 $staff1_voice_1 = \notes {
-  [a8.()fis16] d4 fis4 a4 d'2 [fis'8. e'16] d'4 fis4 gis4 a2 [a8 a8]
-  fis'4.  e'8 d'4 cis'2 [b8. cis'16] d'4 d'4 a4 fis4 d4 [a8. fis16]
-  fis4 d4 [fis'8.  fis'16] fis'4 g'4 a'4 a'2 [g'8 fis'8] e'4 fis'4
+  [a8.()fis16] 
+  \repeat 2 { d4 fis4 a4 d'2 [fis'8. e'16] d'4 fis4 gis4 a2 [a8 a8]
+  fis'4. e'8 d'4 cis'2 [b8. cis'16] d'4 d'4 a4 }
+  \alternative { { fis4 d4 [a8. fis16] } { fis4 d4 [fis'8.  fis'16] } } 
+  fis'4 g'4 a'4 a'2 [g'8 fis'8] e'4 fis'4
   g'4 g'2 g'4 fis'4. e'8 d'4 cis'2 [b8. cis'16] d'4 fis4 gis4 a2 a4
   d'4 d'4 [d'8()cis'8] b4 b4 b4 e'4 [g'8 ()fis'8] [e'8()d'8]
   d'4~cis'4 [a8. a16] d'4.~e'8 [fis'8 g'8] a'2 [d'8 e'8] fis'4. g'8
@@ -24,43 +26,46 @@ $staff1_voice_1 = \notes {
 }
 
 $staff1_voice_2 = \notes { 
-  [a8.()fis16] a,4 d4 e4 d4~fis4 [fis8. fis16] fis4 d4 d4 cis2 [e8
-  e8] a4. a8 a4 a2 [a8. a16] a4 a4 a4 fis4 d4 [a8. fis16] fis4 d4 r4
-  a4 a4 d'4 d'2 [a8 a8] cis'4 cis'4 cis'4 cis'2 a4 a4. a8 a4 a2 [a8.
-  a16] d4 d4 d4 cis2 e4 fis4 e4 d4 d4 d4 dis4 g4 [g8()dis8] e4 e2
+  [a8.()fis16] 
+  \repeat 2 { a,4 d4 e4 d4~fis4 [fis8. fis16] fis4 d4 d4 cis2
+  [e8 e8] a4. a8 a4 a2 [a8. a16] a4 a4 a4 }
+  \alternative { { fis4 d4 [a8. fis16] } { fis4 d4 r4 } }
+  a4 a4 d'4 d'2 [a8 a8] cis'4 cis'4 cis'4 cis'2 a4 a4. a8 a4 a2
+  [a8. a16] d4 d4 d4 cis2 e4 fis4 e4 d4 d4 d4 dis4 g4 [g8()dis8] e4 e2
   [e8. e16] d4.~a8 [a8 a8] a2 [g8 g8] a4. a8 g4 fis2 s4 
 }
 
 $staff2_voice_1 = \notes { 
-  r4 fis4 a4 a4 b2 [cis'8. cis'16] b4 b4 b4 a2 [cis'8 cis'8] d'4.
-  cis'8 d'4 e'2 [e'8. e'16] d'4 d'4 a4 fis4 d4 r4 fis4 d4 r4 d4 e4
-  fis4 fis'2 [e'8 d'8] e'4 e'4 e'4 e'2 cis'4  d'4. cis'8 d'4 e'2
+  r4 
+  \repeat 2 { fis4 a4 a4 b2 [cis'8. cis'16] b4 b4 b4 a2 [cis'8 cis'8]
+  d'4. cis'8 d'4 e'2 [e'8. e'16] d'4 d'4 a4 }
+  \alternative { { fis4 d4 r4  } { fis4 d4 r4 } }
+  d4 e4 fis4 fis'2 [e'8 d'8] e'4 e'4 e'4 e'2 cis'4  d'4. cis'8 d'4 e'2
   [e'8. e'16] a4 a4 e4 e2 cis'4 a4 a4 a4 g4 g4 b4 b4 b4 b4 a2
   [cis'8. cis'16] a4.~cis'8 [d'8 d'8] d'2 [d'8 d'8] d'4. d'8 cis'4
   a2 s4 
 }
 
 $staff2_voice_2 = \notes { 
-  r4 d4 d4 cis4 b,2 [ais,8. ais,16] b,4 b,4 e4 a,2 [a8 a8] d4. e8
-  [fis8 g8] a2 [g8. g16] fis4 fis4 a4 fis4 d4 r4 fis4 d4 r4 d4 d4 d4
-  d2 [d8 d8] a4 a4 a4 a2 a,4 d4. e8 [fis8 g8] a2 [g8. g16] fis4 d4
-  e4 a,2 a4 d4 e4 fis4 g4 g4 fis4 e4 [e8()fis8] [g8()gis8] a2 [g8.
-  g16] fis4.~a,8 [d8 e8] fis2 [b8 b8] a4. a8 a,4 d2 s4 
+  r4 
+  \repeat 2 { d4 d4 cis4 b,2 [ais,8. ais,16] b,4 b,4 e4 a,2 [a8 a8] 
+  d4. e8 [fis8 g8] a2 [g8. g16] fis4 fis4 a4 }
+  \alternative { { fis4 d4 r4 } { fis4 d4 r4 } } 
+  d4 d4 d4 d2 [d8 d8] a4 a4 a4 a2 a,4 d4. e8 [fis8 g8] a2 [g8. g16] 
+  fis4 d4 e4 a,2 a4 d4 e4 fis4 g4 g4 fis4 e4 [e8()fis8] [g8()gis8] a2 
+  [g8.  g16] fis4.~a,8 [d8 e8] fis2 [b8 b8] a4. a8 a,4 d2 s4 
 }
 
-$text1 = \lyrics{
-  Oh4 __ say. can you see,2 by8. the16 dawn's4 ear- ly light2 What8
+$text = \lyrics{
+  Oh4 __ \repeat 2 { }
+  \alternative < 
+  { say. can you see,2 by8. the16 dawn's4 ear- ly light2 What8
   so8 proud-4. ly8 we4 hailed,2 At8. the16 twi-4 light's last gleam-
-  ing. Whose8. broad16 
-}
-
-$text2 = \lyrics{
-  _4 stripes and bright stars,2 through8 the8 per-4 il- ous fight,2
-  O'er8 the8 ram-4. parts8 we4 watched,2 were8. so16 gal-4 lant- ly
-  _ _ _ 
-}
-
-$text3 = \lyrics{
+  ing. Whose8. broad16 }
+  % urg, lyric chords broken: 1.1.22
+%  { stripes4 and bright stars,2 through8. the16 per-4 il- ous fight,2
+%  O'er8 the8 ram-4. parts8 we4 watched,2 were8. so16 gal-4 lant- ly }
+  >
   stream-4 ing. And8. the16 rock-4 ets' red glare,2 the8 bombs8
   burst-4 ing in air,2 gave4 proof4. through8 the4 night2 that8.
   our16 flag4 was still there,2 Oh4 say, does that star- span-
@@ -73,9 +78,7 @@ global = \notes {
 	\key D;
 	\partial 4;
 	\skip 4;
-	\bar "|:";
 	\skip 2.*8;
-	\bar ":|";
 	\skip 2.*16;
 	\skip 2.;
 	\bar "|.";
@@ -91,10 +94,7 @@ global = \notes {
 			\notes \transpose c'' {\voicetwo \$staff1_voice_2 } 
 		>
 		\type Lyrics = one \lyrics <
-% urg, too much distance between two texts; fixme first
-%			\$text1
-%			{ \$text2 \$text3 }
-			{ \$text1 \$text3 }
+			\$text
 		>
 		\type Staff=staffB < 
 			\global
@@ -116,3 +116,4 @@ global = \notes {
 		}
 	}
 }
+
diff --git a/input/test/GNUmakefile b/input/test/GNUmakefile
index 117e9e6786..8b6e80e716 100644
--- a/input/test/GNUmakefile
+++ b/input/test/GNUmakefile
@@ -1,7 +1,7 @@
 # input/test/Makefile
 
 depth = ../..
-examples=font20 hara-kiri grace mark denneboom sleur chords chord-table repeat
+examples=font20 mark knee beam-interstaff slur-interstaff denneboom sleur chords chord-table repeat hara-kiri grace
 LOCALSTEPMAKE_TEMPLATES=mutopia
 
 include $(depth)/make/stepmake.make 
diff --git a/input/test/vertical-text.ly b/input/test/vertical-text.ly
index 340815621c..b69c4e8921 100644
--- a/input/test/vertical-text.ly
+++ b/input/test/vertical-text.ly
@@ -3,8 +3,8 @@
 		\type Staff = o \notes\relative c,,, { 
 			\stemdown [c8 c c c] c4 c4 \break [c8 c c c] c4 c4
 		}
-		\type Lyrics \lyrics{ 
-			BLA bla _2 < { BLA bla } { BLA bla } > _2 
+		\type Lyrics \lyrics{
+			BLA gag _2 < { BLA gag } { BLA gag la } > _2 
 		}
 		\type Staff = t \notes\relative c''''' { 
 			\stemup [c8 c c c] c4 c [c8 c c c] c4 c
diff --git a/input/twinkle.ly b/input/twinkle.ly
index f8f86913d0..a49a5ff398 100644
--- a/input/twinkle.ly
+++ b/input/twinkle.ly
@@ -50,8 +50,6 @@ accompany = \notes \relative c {
 
 global = \notes {
 	\time 2/4;
-	\skip 2*24;
-	\bar ":|";
 }
 
 tekst = \lyrics{ 
@@ -155,13 +153,13 @@ $grand_staff = \type GrandStaff <
 >
 
 \score{
-	< 
+	\repeat 2 { < 
 		\$treble_staff
 		\$middle_lyrics
 		\$top_lyrics
 		\$grand_staff
 		\$bottom_lyrics
-	>
+	> }
 	\paper{
 		gourlay_maxmeasures = 14.0;
 	}
diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc
index 2f1e8ee051..62b5f70ffd 100644
--- a/lily/bar-engraver.cc
+++ b/lily/bar-engraver.cc
@@ -1,9 +1,10 @@
 /*
-  bar-reg.cc -- implement Bar_engraver
+  bar-engraver.cc -- implement Bar_engraver
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997, 1998, 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
 #include "bar-engraver.hh"
@@ -18,6 +19,7 @@
 Bar_engraver::Bar_engraver()
 {
   bar_p_ =0;
+  bar_l_ =0;
   do_post_move_processing();
 }
 
@@ -38,6 +40,16 @@ Bar_engraver::do_try_music (Music*r_l)
 
 }
 
+void
+Bar_engraver::acknowledge_element (Score_element_info i)
+{
+  if (Bar *b = dynamic_cast<Bar *> (i.elem_l_))
+    {
+      bar_l_ = b;
+      //      auto_create_bar_b_ = false;
+    }
+}
+
 void
 Bar_engraver::create_bar ()
 {
@@ -45,6 +57,7 @@ Bar_engraver::create_bar ()
     {
       bar_p_ = new Bar;
       bar_p_->break_priority_i_  = 0;
+      // urg: "" != empty...
       String default_type = get_property ("defaultBarType", 0);
       if (default_type.length_i ())
 	{
@@ -60,6 +73,8 @@ Bar_engraver::do_creation_processing ()
 {
   create_bar ();
   bar_p_->type_str_ = "";
+  Scalar prop = get_property ("barAuto", 0);
+  auto_create_bar_b_ = prop.to_bool ();
 }
 
 void
@@ -75,6 +90,7 @@ Bar_engraver::do_removal_processing ()
 void
 Bar_engraver::do_process_requests()
 {  
+  Time_description const *time = get_staff_info().time_C_;
   if (bar_req_l_) 
     {
       if (!bar_p_)
@@ -84,15 +100,26 @@ Bar_engraver::do_process_requests()
     }
   else 
     {
-      Time_description const *time = get_staff_info().time_C_;
-      String always = get_property ("barAlways", 0);
-      if ((time && !time->whole_in_measure_) || always.length_i ()) 
- 	create_bar ();
+      Scalar always = get_property ("barAlways", 0);
+      if ((time && !time->whole_in_measure_) || always.to_bool ())
+	{
+	  if (auto_create_bar_b_)
+	    create_bar ();
+	  Scalar prop = get_property ("barAuto", 0);
+	  auto_create_bar_b_ = prop.to_bool ();
+	}
     }
-
-  
   
-  if (!bar_p_)
+  /*
+    hmm, perhaps it's Better to create empty bars if you want none
+    displayed, and keep bars for breakpoints ?
+   */
+#if 0
+  if ((time && time->whole_in_measure_)
+      && !always.to_bool ()
+      && !bar_p_ && !bar_l_)
+#endif
+  if (!bar_p_ && !bar_l_)
     {
       Break_req r;
       r.penalty_i_ = Break_req::DISALLOW;
@@ -104,6 +131,15 @@ Bar_engraver::do_process_requests()
 void 
 Bar_engraver::do_pre_move_processing()
 {
+  if (bar_l_)
+    {
+      bar_l_ = 0;
+      if (bar_p_)
+	{
+	  bar_p_->unlink ();
+	  bar_p_ = 0;
+	}
+    }
   if (bar_p_) 
     {
       typeset_element (bar_p_);
diff --git a/lily/include/bar-engraver.hh b/lily/include/bar-engraver.hh
index 755692397e..7d52fafe67 100644
--- a/lily/include/bar-engraver.hh
+++ b/lily/include/bar-engraver.hh
@@ -17,6 +17,8 @@
 class Bar_engraver : public Engraver {
   Bar_req * bar_req_l_;
   Bar * bar_p_;
+  Bar * bar_l_;
+  bool auto_create_bar_b_;
 
   void create_bar ();
 public:
@@ -26,6 +28,7 @@ public:
 
      
 protected:
+  virtual void acknowledge_element (Score_element_info i);
   virtual void do_creation_processing ();
   virtual void do_removal_processing ();
   virtual bool do_try_music (Music *req_l);
diff --git a/lily/repeat-engraver.cc b/lily/repeat-engraver.cc
index e365ba503c..5ab6fe38aa 100644
--- a/lily/repeat-engraver.cc
+++ b/lily/repeat-engraver.cc
@@ -104,7 +104,6 @@ Repeat_engraver::do_process_requests ()
       if (now > Moment (0))
 	announce_element (Score_element_info (bar_p, repeated_music_arr_[i])); 
     }
-#if 0 //urg, try pre-ceating and announcing 
   for (int i = 0; i < bar_p_arr_.size (); i++)
     {
       if (!bar_p_arr_[i] && (now >= stop_mom_arr_[i]))
@@ -115,7 +114,6 @@ Repeat_engraver::do_process_requests ()
 	  announce_element (Score_element_info (bar_p, repeated_music_arr_[i]));
 	}
     }
-#endif
   int bees = volta_p_arr_.size ();
   for (int i = volta_p_arr_.size (); i < alternative_music_arr_.size (); i++)
     {
@@ -144,6 +142,12 @@ Repeat_engraver::do_pre_move_processing ()
 	    delete bar_p_arr_[i];
 	  bar_p_arr_[i] = 0;
 	}
+      if (now >= stop_mom_arr_[i])
+	{
+	  bar_p_arr_.del (i);
+	  stop_mom_arr_.del (i);
+	  repeated_music_arr_.del (i);
+	}
     }
   for (int i = volta_p_arr_.size (); i--; )
     {
@@ -154,6 +158,11 @@ Repeat_engraver::do_pre_move_processing ()
 	      typeset_element (volta_p_arr_[i]);
 	      volta_p_arr_[i] = 0;
 	    }
+	  volta_p_arr_.del (i);
+	  alternative_music_arr_[i] = 0;
+	  alternative_music_arr_.del (i);
+	  alternative_start_mom_arr_.del (i);
+	  alternative_stop_mom_arr_.del (i);
 	 }
     }
 }
@@ -161,35 +170,5 @@ Repeat_engraver::do_pre_move_processing ()
 void 
 Repeat_engraver::do_post_move_processing ()
 {
-  Moment now = now_moment ();
-  for (int i = bar_p_arr_.size (); i--; )
-    {
-#if 0 // urg, try with pre-created and annouced :|
-      if (now >= stop_mom_arr_[i])
-	{
-	  if (bar_p_arr_[i])
-	    {
-	      typeset_element (bar_p_arr_[i]);
-	      bar_p_arr_.del (i);
-	      stop_mom_arr_.del (i);
-	      repeated_music_arr_.del (i);
-	    }
-	  else
-	    {
-	      bar_p_arr_.del (i);
-	    }
-	}
-#else 
-      if (now >= stop_mom_arr_[i])
-	{
-	  Bar* bar_p = new Bar;
-	  bar_p-> type_str_ = ":|";
-	  typeset_element (bar_p);
-	  bar_p_arr_.del (i);
-	  stop_mom_arr_.del (i);
-	  repeated_music_arr_.del (i);
-	}
-#endif
-    }
 }
 
diff --git a/mutopia/gnossienne-4.ly b/mutopia/gnossienne-4.ly
index 5545f5f943..baa756e238 100644
--- a/mutopia/gnossienne-4.ly
+++ b/mutopia/gnossienne-4.ly
@@ -9,7 +9,7 @@
 }
 
 %{
- Tested Features: cross staff beams and slurs
+ Tested Features: cross staff beams and slurs, grace notes, no bars
 %}
 
 \version "1.0.14";
@@ -24,45 +24,46 @@ global = \notes {
   \bar ".|";
 }
   
-upper = \type Voice=one \notes \relative c''{
+upper = \type Staff=treble \notes\relative c''{
   \clef violin;
   \stemup
+  \type Voice=one
   r2 r r 
-  r2 r r 
-  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> fis g \!e]
+  r2 r r
+  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
   % grace hack
-  [es8 { \type Voice=urgnobeam \tiny b8*1/16 ~ \normalsize } )c*15/16] r4 r2 r
+  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
   r2 r r
-  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> fis g \!e]
-  [es8 { \type Voice=urgnobeam \tiny b8*1/16 ~ \normalsize } )c*15/16] r4 r2 r
+  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
+  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
   r4 [g16( a bes a] [g a bes a g a bes a] [g a bes a g fis es fis] 
-  )d4 \tiny fis8*1/16 ~ \normalsize gis4*31/32 ~ gis8 r r4 r2
+  )d4 \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ gis8 r r4 r2
   r4 [g16( a bes a] [g a bes a g a bes a] [g a bes a g fis es fis] 
-  )d4 \tiny fis8*1/16 ~ \normalsize gis4*31/32 ~ gis8 r r4 r2
-  \tiny a8*1/16 ~ \normalsize f4*31/32 ~ f8 r r2 r
-  r2 r4 [a8( b][c d c b] \tiny b8*1/16 ~ \normalsize [e8*15/16 
-  { \type Voice=urgnobeam \tiny a,8*1/16 ~ \normalsize } )g8*15/16] r4 r2 r
+  )d4 \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ gis8 r r4 r2
+  \tiny a8*1/2 ~ \normalsize f4*3/4 ~ f8 r r2 r
+  r2 r4 [a8( b][c d c b] \tiny b8*1/2 ~ \normalsize 
+  < { [e8*1/2 )g,8] } \type Voice=x { \stemup s8*1/4 \tiny a8*1/2 ~ } > r4 r2 r
   r2 r4 [a8( b][c d c b] [a b c d][c b a b][c d c b]
-  \tiny b8*1/16 ~ \normalsize [e8*15/16 
-  { \type Voice=urgnobeam \tiny a,8*1/16 ~ \normalsize } )g8*15/16] r4 r2 r
-  a2( \tiny e'8*1/16 ~ \normalsize f4*31/32 ~ )f8 r r2
+  \tiny b8*1/2 ~ \normalsize 
+  < { [e8*1/2 )g,8] } \type Voice=x { \stemup s8*1/4 \tiny a8*1/2 ~ } > r4 r2 r
+  a2( \tiny e'8*1/2 ~ \normalsize f4*3/4 ~ )f8 r r2
   r2 r r
-  fis,4( \tiny dis8*1/16 \normalsize <)cis4*31/32 ais> r2 r
-  \tiny b'8*1/16 ~ \normalsize [a8*15/16 
-  { \type Voice=urgnobeam \tiny b8*1/16 ~ \normalsize } a8*15/16] r4 r2 r
-  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> fis g \!e]
-  [es8 { \type Voice=urgnobeam \tiny b8*1/16 ~ \normalsize } )c*15/16] r4 r2 r
-  d,4( \tiny fis8*1/16 ~ \normalsize gis4*31/32 ~ )gis8 r r4 r2
+  fis,4( \tiny dis8*1/2 \normalsize <)cis4*3/4 ais> r2 r
+  \tiny b'8*1/2 ~ \normalsize 
+  < { [a8*1/2 a8] } \type Voice=x { \stemup s8*1/4 \tiny b8*1/2 ~ } > r4 r2 r
+  r4 [a'8--(\< a--] [a-- a-- c-- \!b--] [a--\> gis f \!e]
+  < { [es8 )c] } \type Voice=x { \stemup s8*1/2 \tiny b8*1/2 ~ } > r4 r2 r
+  d,4( \tiny fis8*1/2 ~ \normalsize gis4*3/4 ~ )gis8 r r4 r2
   f4 ~ f8 r r2 r
   [f'8( g a b][a g f g][a b a g]
-  \tiny f8*1/16 ~ \normalsize [g8*15/16 
-  { \type Voice=urgnobeam \tiny d8*1/16 ~ \normalsize } )e8*15/16] r4 r2 r
+  \tiny f8*1/2 ~ \normalsize 
+  < { [g8*1/2 )e8] } \type Voice=x { \stemup s8*1/4 \tiny d8*1/2 ~ } > r4 r2 r
   [f8( g a b][a g f g][a b a g]
-  \tiny f8*1/16 ~ \normalsize [g8*15/16 
-  { \type Voice=urgnobeam \tiny d8*1/16 ~ \normalsize } )e8*15/16] r4 r2 r
-  a,2( \tiny e'8*1/16 ~ \normalsize f4*31/32 ~ )f8 r r2
+  \tiny f8*1/2 ~ \normalsize 
+  < { [g8*1/2 )e8] } \type Voice=x { \stemup s8*1/4 \tiny d8*1/2 ~ } > r4 r2 r
+  a,2( \tiny e'8*1/2 ~ \normalsize f4*3/4 ~ )f8 r r2
   r2 r r
-  fis,4( \tiny dis8*1/16 \normalsize <)cis4*31/32 ais> r2 r
+  fis,4( \tiny dis8*1/2 \normalsize <)cis4*3/4 ais> r2 r
   <e1 g b e> ~ <e g b e>
 }
 
@@ -135,32 +136,23 @@ lower = \type Voice=two \notes \relative c{
     textheight = 295.\mm;
 
     % no slur damping
-    slur_slope_damping = 10.0;
+    slur_slope_damping = 100.0;
 
-    %hmm
-%    \translator { \BarNumberingScoreContext }
-%    \translator { \BarNumberingStaffContext }
-%  \translator{ \OrchestralScoreContext }
     \translator{ \OrchestralScoreContext }
     \translator{ 
       \GrandStaffContext
       minVerticalAlign = 3.0*\staffheight;
       maxVerticalAlign = 3.0*\staffheight;
-      % don't display bars?
-      barAlways = 0.;
     }
     \translator{ 
       \StaffContext
-% hmm, i don't want bars
-% but i do want the staffs to be connected
-%      \remove "Bar_engraver";
+      % don't auto-generate bars: not a good idea: -> no breakpoints
+      % barAuto = "0";
+      % urg defaultBarType = "";
+      defaultBarType = "empty";
       \remove "Time_signature_engraver";
     }
   }
-%  \header{
-%	  opus = "BWV 847";
-%  }
-
   \midi {
     \tempo 4 = 54;
   }
diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex
index 6e977a8ad6..41b37ec2e8 100644
--- a/tex/lilyponddefs.tex
+++ b/tex/lilyponddefs.tex
@@ -166,7 +166,7 @@
 
 %compatibility
 %urg
-\fetdef\repeatcolon{20}
+\fetdef\repeatcolon{21}
 \def\repeatbar#1{\repeatstopbar}
 \def\startrepeat#1{\repeatstartbar}
 \def\repeatbarstartrepeat#1{\repeatstopstart}
-- 
2.39.5