]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.1.22.jcn4: laat
authorJan Nieuwenhuizen <janneke@gnu.org>
Tue, 19 Jan 1999 16:24:42 +0000 (17:24 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Tue, 19 Jan 1999 16:24:42 +0000 (17:24 +0100)
pl 22.jcn4
- bf's: repeat-engraver; \bar "|:", ":|" now deprecated for repeats
- bf: :|, |:
- property barAlways changed to boolean (0/1)
- added boolean property: barAuto

15 files changed:
NEWS
TODO
VERSION
init/engraver.ly
init/property.ly
input/star-spangled-banner.ly
input/test/GNUmakefile
input/test/star.ly
input/test/vertical-text.ly
input/twinkle.ly
lily/bar-engraver.cc
lily/include/bar-engraver.hh
lily/repeat-engraver.cc
mutopia/gnossienne-4.ly
tex/lilyponddefs.tex

diff --git a/NEWS b/NEWS
index b928b79688e5ca9f4c14a219fa173204404c86d7..38fd7f641607c3dbfdad03c08cd5d76696b2c39f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+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
 
diff --git a/TODO b/TODO
index 72cca33a4a808258a7bff0b7d1ea56970c3d5c38..2f33850f79c5aae82b5f05acaa4280f7c82bee42 100644 (file)
--- a/TODO
+++ b/TODO
@@ -58,8 +58,6 @@ BUGS:
 
        * fix braces
 
-       * multibar rests: SkipBars=0
-
        * ly2dvi barfs on linewidth = -1.
 
        * fix midi output:
@@ -79,8 +77,6 @@ BUGS:
 
        * repeat/volta:
          - one volta spanner per score
-         - repeat bars span staffs
-         - placement alternative number
 
        * latex bla.tex broken (titles / \lilyfooter stuff?)
 
@@ -251,9 +247,6 @@ ydirection and hshift preset
          - handle DISALLOW < penalty > FORCE
          - discourage breaking of slurs
 
-       * multibar rest
-         - symbol(s)
-
        * fix variable define/lookup parser global<->paper
 
        * fix title/instrument placements; see input/test/title.ly
diff --git a/VERSION b/VERSION
index 1f7d0570d919af45e360f5ecb01707fbd6a4d80c..ebc2b4bdbb8332eadd78e35fd2fc1075404f0fff 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
 PATCH_LEVEL=22
-MY_PATCH_LEVEL=jcn3
+MY_PATCH_LEVEL=jcn4
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 6ad41f5600d269142fbf223f0e96d9f349baf855..089b29a1b9f99f54e1bfaf9aeca0cd4c197ae545 100644 (file)
@@ -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 
index 0a06045445489a8abc684309ba96228d30139085..5ae7c273d3cfbc0c5d3b444e3571ca5f04ed2cb3 100644 (file)
@@ -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
index 54fed0b456e0a00e388fdf2e7750b911096fa681..f3312161d46ddbc03caa4c21019e16779f9b59b8 100644 (file)
@@ -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 {
                }
        }
 }
+
index 117e9e67862284b064b0dd14a344ac3f71493e90..8b6e80e71627f7a288037c2f1f3513365881167c 100644 (file)
@@ -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 
index ffd911404b64a31e8f0ffd91c4bc3199bfbb989e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,118 +0,0 @@
-%{
-Converted from star.mup with the aid of mup-to-ly.py
-http://www.Arkkra.com/doc/star.html
-http://www.Arkkra.com/doc/star.ps
-%}
-\header{
-title="The Star Spangled Banner";
-subtitle="(The United States National Anthem)";
-poet="Text by Francis Scott Key";
-composer="J. S. Smith";
-arranger="Arranged by William J. Krauss";
-enteredby="jcn";
-copyright="public domain";
-}
-
-$staff1_voice_1 = \notes {
-  [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
-  e'4 d'2 s4 
-}
-
-$staff1_voice_2 = \notes { 
-  [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 
-  \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 
-  \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 
-}
-
-$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 }
-  { 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-
-  gled ban- ner yet wave,2 __ O'er8. the16 land2 __ of8 the8 free2
-  and8 the8 home4. of8 the4 brave.2
-}
-
-global = \notes {
-       \time 3/4;
-       \key D;
-       \partial 4;
-       \skip 4;
-       \skip 2.*8;
-       \skip 2.*16;
-       \skip 2.;
-       \bar "|.";
-       }
-
-\include "paper16.ly";
-
-\score{ 
-       \type GrandStaff < 
-               \type Staff=staffA < 
-                       \global
-                       \notes \transpose c'' {\voiceone \$staff1_voice_1 } 
-                       \notes \transpose c'' {\voicetwo \$staff1_voice_2 } 
-               >
-               \type Lyrics = one \lyrics <
-                       \$text
-               >
-               \type Staff=staffB < 
-                       \global
-                       \clef bass;
-                       {\voiceone \$staff2_voice_1 } 
-                       {\voicetwo \$staff2_voice_2 } 
-               >
-       >
-       \paper{
-               \paper_sixteen;
-               textheight = 230.\mm;
-               linewidth= 180.\mm;
-               \translator {
-                               \GrandStaffContext
-                               \accepts "Lyrics";
-               }
-               \translator {
-                               \BarNumberingStaffContext
-               }
-       }
-}
-
index 340815621c3bc3621ccbafdb9da77378f28a6626..b69c4e8921ae149a23fc293b4989feff4c3ab973 100644 (file)
@@ -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
index f8f86913d07e569593750fd0e0e6bd0d5ce6ad70..a49a5ff398a4ba19048573815d7202ac9f8f722a 100644 (file)
@@ -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;
        }
index 2f1e8ee051b78360eb4d564fed347606b89cdfaa..62b5f70ffd4e24a5f7b5d1cbbbea069fe866ce9e 100644 (file)
@@ -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_);
index 755692397e92fed2f0e7164cbfa746e538ab2164..7d52fafe67cbcad18d66b1be9544b61d7c19cc81 100644 (file)
@@ -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);
index e365ba503cdd0a27c664ed9bd5a561f194b0e003..5ab6fe38aafdc4105140bfc728c5ae6448330a11 100644 (file)
@@ -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
-    }
 }
 
index 0d5ba62ef340ac698d88e99b2b1f432932e04be9..baa756e2385f116d4b119537501198235760908d 100644 (file)
@@ -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";
@@ -138,31 +138,21 @@ lower = \type Voice=two \notes \relative c{
     % no slur damping
     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?
-      % hmm, this switches something else...
-  %    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;
   }
index 6e977a8ad6089a2d0d6140a8b175014a39292ee9..41b37ec2e8ce4fa729f6bc32b0e9310cbd07166e 100644 (file)
 
 %compatibility
 %urg
-\fetdef\repeatcolon{20}
+\fetdef\repeatcolon{21}
 \def\repeatbar#1{\repeatstopbar}
 \def\startrepeat#1{\repeatstartbar}
 \def\repeatbarstartrepeat#1{\repeatstopstart}