]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.3.132.jcn1
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 26 Feb 2001 22:19:59 +0000 (23:19 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 26 Feb 2001 22:19:59 +0000 (23:19 +0100)
1.3.132.jcn1
============

* a2-engraver: \property noDirection: don't force direction when part-combining (for StaffCombining).

* text-spanner: don't repeat edge text for broken edge.

* Coriolan fixes, titling, font setting, header info, cello octave
(yes, notated different from bass; all agree) at end.

33 files changed:
CHANGES
Documentation/user/refman.itely
VERSION
input/bugs/dynamic-collide.ly
input/bugs/mb.ly [new file with mode: 0644]
input/bugs/pc-core.ly [new file with mode: 0644]
input/bugs/pc-direction.ly [new file with mode: 0644]
input/bugs/stem-through-beam.ly [new file with mode: 0644]
input/bugs/text-spanner.ly [new file with mode: 0644]
input/test/coriolan-margin.ly
input/tutorial/orchestral-score.ly
lily/a2-engraver.cc
lily/midi-item.cc
lily/midi-stream.cc
lily/text-spanner.cc
ly/engraver.ly
make/mutopia-targets.make
mutopia/Coriolan/bassi.ly
mutopia/Coriolan/contrabasso.ly
mutopia/Coriolan/coriolan-paper.ly
mutopia/Coriolan/coriolan-part-paper.ly
mutopia/Coriolan/coriolan.ly
mutopia/Coriolan/global.ly
mutopia/Coriolan/header.ly
mutopia/Coriolan/viola-1.ly
mutopia/Coriolan/viola-2.ly
mutopia/Coriolan/viole.ly
mutopia/Coriolan/violino-1.ly
mutopia/Coriolan/violino-2.ly
mutopia/Coriolan/violoncello.ly
scm/translator-description.scm
scm/translator-property-description.scm
scripts/lilypond-book.py

diff --git a/CHANGES b/CHANGES
index 91841f2b9a14c45365e10e06f37ac1a492e3052a..ccc8cca90f87d3f59513786a17186b1a60e4bc65 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,13 @@
+1.3.132.jcn1
+============
+
+* a2-engraver: \property noDirection: don't force direction when part-combining (for StaffCombining).
+
+* text-spanner: don't repeat edge text for broken edge.
+
+* Coriolan fixes, titling, font setting, header info, cello octave
+(yes, notated different from bass; all agree) at end.
+
 1.3.131.jcn2
 ============
 
index f882840e7e156773922c4a002156b0fe11474d03..f606b266829ce904aaed1a575157cf31d1136114 100644 (file)
@@ -302,7 +302,7 @@ a quarter note is assumed.  The duration can be followed by a dot
 @cindex @code{.}
 
 @lilypond[fragment,verbatim,center]
-  a'4. b'4.
+  a'4. b'4. c'2..
 @end lilypond
 @cindex @code{r}
 @cindex @code{s}
diff --git a/VERSION b/VERSION
index ab4bed8b3f0cecac44a5ebb79710b46f28cef247..17bc5677b10a3fef71a2f9a1a0aa905a176ada9c 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
 PATCH_LEVEL=132
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 789e0813907279aca7b9dfdb20590b4ffc45e569..d72cee53cabb64060edf62aaedf74f6ebc7574dc 100644 (file)
@@ -113,6 +113,11 @@ staffCombinePianoStaffProperties = {
     \translator{
       \ThreadContext
       \consists "Rest_engraver";
+      
+      % Set value for engraver at thread level,
+      % to override the default that is set in ScoreContext
+      % for added engraver at Voice level
+      devNullThread = #'()
     }
     \translator{
       \VoiceContext
@@ -133,9 +138,11 @@ staffCombinePianoStaffProperties = {
     \translator {
       \OrchestralScoreContext
       skipBars = ##t
-      devNullThread = #'never
       soloText = #"I."
       soloIIText = #"II."
+      % By default, turn off the Thread_devnull_engraver
+      % at Voice level
+      devNullThread = #'never
 
       % Hmm
       currentBarNumber = #218
diff --git a/input/bugs/mb.ly b/input/bugs/mb.ly
new file mode 100644 (file)
index 0000000..946ff23
--- /dev/null
@@ -0,0 +1,37 @@
+% mb.ly: midi-bug
+% midi notes get stuck
+
+%{
+From: Mats Bengtsson <mats.bengtsson@s3.kth.se>
+Subject: Re: request simple .ly showing MIDI tie bug 
+To: Jan Nieuwenhuizen <janneke@gnu.org>
+Date: Mon, 26 Feb 2001 23:18:06 +0100
+
+I was lucky enough to find a short snippet which triggered
+the bug (a few bars from David Lattermanns typesetting of
+the Dvorak Bagatelles. I spent the Sunday upgrading them
+to 1.3.131). I hope it simplifies the bug search.
+%}
+
+\score{
+  \notes \relative c{
+    \time 2/4;
+    \clef bass;
+    \property Staff.midiInstrument = "harmonica"
+    <
+      \context Voice=ua {
+        \stemDown
+       e4 a, | b2 |
+      }
+      \context Voice=ub {
+        \stemUp
+       e2 ~ | e4 dis |
+      }
+    >
+    R2*5 |
+    c'2
+  }
+\paper{}
+\midi{\tempo 4 = 140;}
+}
+
diff --git a/input/bugs/pc-core.ly b/input/bugs/pc-core.ly
new file mode 100644 (file)
index 0000000..89a24a4
--- /dev/null
@@ -0,0 +1,94 @@
+% on their own staff, voices should be stemboth (not up/down)
+
+End = { \skip 1*8; }
+
+violoncello = \notes\relative c' {
+   c8 c c c    c8 c c c\break
+}
+
+contrabasso = \notes\relative c {
+   c4 c8 c    c8 c c c\break
+}
+
+staffCombinePianoStaffProperties = {
+       \property PianoStaff.devNullThread = #'()
+       \property PianoStaff.soloADue = ##t
+       \property PianoStaff.soloText = #""
+       \property PianoStaff.soloIIText = #""
+       % This is non-conventional, but currently it is
+       % the only way to tell the difference.
+       \property PianoStaff.aDueText = #"\\`a2"
+       \property PianoStaff.splitInterval = #'(1 . 0)
+       \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
+}
+
+
+\score {
+  <
+  \context PianoStaff = bassi_group \notes <
+    \staffCombinePianoStaffProperties
+    \context Staff=oneBassi < \clef bass;
+               \property Staff.instrument = #'(lines
+                 "Violoncello" "    e" "Contrabasso")
+
+               \property Staff.instr = #"Vc."
+               \End >
+    \context Staff=twoBassi < \clef bass;
+               \property Staff.instrument = #"Contrabasso"
+               \property Staff.instr = #"Cb."
+
+    \End >
+  
+    \context Staff=oneBassi \partcombine Staff
+      \context Voice=oneBassi { \violoncello }
+      \context Voice=twoBassi { \contrabasso }
+ >
+>
+  \paper {
+    % \paperSixteen
+    linewidth = 80 * \staffspace;
+    textheight = 200 * \staffspace;
+    \translator{
+      \ThreadContext
+      \consists "Rest_engraver";
+      
+      % Set value for engraver at thread level,
+      % to override the default that is set in ScoreContext
+      % for added engraver at Voice level
+      devNullThread = #'()
+    }
+    \translator{
+      \VoiceContext
+      \remove "Rest_engraver";    
+
+      % The staff combine (bassi part) needs a
+      % thread_devnull_engraver here.
+      % Instead of maintaining two separate hierarchies,
+      % we switch add it, but switch it off immideately.
+      % The staff combine parts switch it on.
+      % devNullThread = #'never
+      \consists "Thread_devnull_engraver";
+    }
+    \translator{
+      \HaraKiriStaffContext
+      \consists "Mark_engraver";
+    }
+    \translator {
+      \OrchestralScoreContext
+      skipBars = ##t
+      soloText = #"I."
+      soloIIText = #"II."
+      % By default, turn off the Thread_devnull_engraver
+      % at Voice level
+      devNullThread = #'never
+
+      % Hmm
+      currentBarNumber = #218
+      BarNumber \override #'padding = #3
+      RestCollision \override #'maximum-rest-count = #1
+      marginScriptHorizontalAlignment = #1
+      TimeSignature \override #'style = #'C
+    }
+  }
+}
+
diff --git a/input/bugs/pc-direction.ly b/input/bugs/pc-direction.ly
new file mode 100644 (file)
index 0000000..c9836b5
--- /dev/null
@@ -0,0 +1,133 @@
+% move to regtest once it works?
+
+\header {
+texidoc="
+On their own staff, staffcombined voices should be stemboth (not up/down);
+while voicecombined threads should get their direction set (up/down)";
+}
+
+
+End = { \skip 1*8; }
+
+violaI = \notes\relative c'' {
+  c c e4. e8
+}
+violaII = \notes\relative c'' {
+  c4 b a a
+}
+
+
+violoncello = \notes\relative c' {
+   c8 c c c    c8 c c c\break
+   a1
+}
+
+contrabasso = \notes\relative c {
+   a4 a8 a   a8 a a a\break
+   a1
+}
+
+violeStaff =  \notes \context Staff = viole <
+ \context Voice=oneViole <
+               \property Staff.instrument = #"Viola"
+               \property Staff.instr = #"Vla."
+
+ \End
+ >
+ \context Voice=twoViole <
+               \property Staff.instrument = #"Viola II"
+               \property Staff.instr = #"Vla. II"
+ \End
+ >
+  \context Voice=oneViole \partcombine Voice
+    \context Thread=oneViole \violaI
+    \context Thread=twoViole \violaII
+>
+
+staffCombinePianoStaffProperties = {
+       \property PianoStaff.devNullThread = #'()
+       \property PianoStaff.soloADue = ##t
+       \property PianoStaff.soloText = #""
+       \property PianoStaff.soloIIText = #""
+       % This is non-conventional, but currently it is
+       % the only way to tell the difference.
+       \property PianoStaff.aDueText = #"\\`a2"
+       \property PianoStaff.splitInterval = #'(1 . 0)
+       \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
+       \property PianoStaff.noDirection = ##t
+}
+
+
+\score {
+  <
+  \context StaffGroup <
+   \violeStaff
+
+  \context PianoStaff = bassi_group \notes <
+    \staffCombinePianoStaffProperties
+    \context Staff=oneBassi < \clef bass;
+               \property Staff.instrument = #'(lines
+                 "Violoncello" "    e" "Contrabasso")
+
+               \property Staff.instr = #"Vc."
+               \End >
+    \context Staff=twoBassi < \clef bass;
+               \property Staff.instrument = #"Contrabasso"
+               \property Staff.instr = #"Cb."
+
+    \End >
+  
+    \context Staff=oneBassi \partcombine Staff
+      \context Voice=oneBassi { \violoncello }
+      \context Voice=twoBassi { \contrabasso }
+ >
+>
+ >
+  \paper {
+    % \paperSixteen
+    linewidth = 80 * \staffspace;
+    textheight = 200 * \staffspace;
+    \translator{
+      \ThreadContext
+      \consists "Rest_engraver";
+      
+      % Set value for engraver at thread level,
+      % to override the default that is set in ScoreContext
+      % for added engraver at Voice level
+      devNullThread = #'()
+    }
+    \translator{
+      \VoiceContext
+      \remove "Rest_engraver";    
+
+      % The staff combine (bassi part) needs a
+      % thread_devnull_engraver here.
+      % Instead of maintaining two separate hierarchies,
+      % we switch add it, but switch it off immideately.
+      % The staff combine parts switch it on.
+      % devNullThread = #'never
+      \consists "Thread_devnull_engraver";
+    }
+    \translator{
+      \HaraKiriStaffContext
+      \consists "Mark_engraver";
+    }
+    \translator {
+      \OrchestralScoreContext
+      skipBars = ##t
+      soloText = #"I."
+      soloIIText = #"II."
+      % By default, turn off the Thread_devnull_engraver
+      % at Voice level
+      devNullThread = #'never
+
+      % Hmm
+      currentBarNumber = #218
+      BarNumber \override #'padding = #3
+      RestCollision \override #'maximum-rest-count = #1
+      marginScriptHorizontalAlignment = #1
+      TimeSignature \override #'style = #'C
+    }
+  }
+}
+
diff --git a/input/bugs/stem-through-beam.ly b/input/bugs/stem-through-beam.ly
new file mode 100644 (file)
index 0000000..63b6650
--- /dev/null
@@ -0,0 +1,79 @@
+% strange bug with stems through beams in second beam
+       
+End = { \skip 1*8; }
+
+violaii = \notes\relative c' {
+       [\!f8\sf(\>as f as][f g d)\!g]|
+}
+
+violai=\notes\relative c' {
+       [\!f8\sf(\>as f as][f g d)\!g]|
+}
+
+violeStaff =  \notes \context Staff = viole <
+ \context Voice=oneViola <
+               \property Staff.instrument = #"Viola"
+               \property Staff.instr = #"Vla."
+
+ \End
+ >
+ \context Voice=twoViola <
+               \property Staff.instrument = #"Viola II"
+               \property Staff.instr = #"Vla. II"
+ \End
+ >
+  \context Voice=oneViola \partcombine Voice
+    \context Thread=oneViola \violai
+    \context Thread=twoViola \violaii
+>
+
+\score {
+  \violeStaff
+  \paper {
+    % \paperSixteen
+    linewidth = 80 * \staffspace;
+    textheight = 200 * \staffspace;
+    \translator{
+      \ThreadContext
+      \consists "Rest_engraver";
+      % Set value for engraver at thread level,
+      % to override the default that is set in ScoreContext
+      % for added engraver at Voice level
+      devNullThread = #'()
+    }
+    \translator{
+      \VoiceContext
+      \remove "Rest_engraver";    
+
+      % The staff combine (bassi part) needs a
+      % thread_devnull_engraver here.
+      % Instead of maintaining two separate hierarchies,
+      % we switch add it, but switch it off immideately.
+      % The staff combine parts switch it on.
+      % devNullThread = #'never
+      \consists "Thread_devnull_engraver";
+    }
+    \translator{
+      \HaraKiriStaffContext
+      \consists "Mark_engraver";
+    }
+    \translator {
+      \OrchestralScoreContext
+      skipBars = ##t
+
+      % By default, turn off the Thread_devnull_engraver
+      % at Voice level
+      devNullThread = #'never
+      soloText = #"I."
+      soloIIText = #"II."
+
+      % Hmm
+      currentBarNumber = #218
+      BarNumber \override #'padding = #3
+      RestCollision \override #'maximum-rest-count = #1
+      marginScriptHorizontalAlignment = #1
+      TimeSignature \override #'style = #'C
+    }
+  }
+}
+
diff --git a/input/bugs/text-spanner.ly b/input/bugs/text-spanner.ly
new file mode 100644 (file)
index 0000000..493c93f
--- /dev/null
@@ -0,0 +1,13 @@
+% text spanners should not repeat start text when broken
+
+\score {
+  \notes \relative c'' {
+    \property Voice.crescendoText = #"cresc."
+    \property Voice.crescendoSpanner = #'dashed-line
+    c1\< c \break
+    c1 \!c \break
+    }
+  \paper {
+    linewidth = 40*\staffspace;
+  }
+}
\ No newline at end of file
index a85403af93d8d2776f95d7c50bbddcda2a621ee7..b09bc2997c090856079b57eca931374ee710eb62 100644 (file)
@@ -1,5 +1,15 @@
 \version "1.3.122"
 
+% Ugh, we need to override some LaTeX titling stuff
+\header {
+  title =      "Ouverture\\vrule width0pt height 0pt depth 1ex";
+  subtitle =   "\\normalsize Zu Heinrich Joseph v. Collins Trauerspiel\\vrule width0pt height 0pt depth 1ex";
+  subsubtitle =        "\\Large\\bf Coriolan";
+  opus =  "Op. 62";
+  piece = "\\normalfont\\large Allegro con brio";
+  composer =    "Ludwig van Beethoven (1770-1827)";
+  enteredby =   "JCN";
+}
 #(define raisedflat '((raise . 0.4) (music (named "accidentals--1"))))
 
 flauti = \notes \relative c' {
@@ -54,14 +64,14 @@ timpani = \notes \relative c' {
 }
 
 violino1 = \notes \relative c' {
-  \property Staff.instrument   = #"Violino I"
-  \property Staff.instr                = #"Vl. I"
+  \property Staff.instrument   = #"Violino I  "
+  \property Staff.instr                = #"Vl. I  "
   c1 c
 }
 
 violino2 = \notes \relative c' {
-  \property Staff.instrument   = #"Violino II"
-  \property Staff.instr                = #"Vl. II"
+  \property Staff.instrument   = #"Violino II  "
+  \property Staff.instr                = #"Vl. II  "
   c1 c
 }
 
@@ -109,15 +119,6 @@ violoncello = \notes \relative c' {
       \context Staff ="violoncello" \violoncello
     >
   >
- \header{
-               title = "Coriolan";
-               subtitle = "Ouverture"; 
-               opus = "Opus 62";
-               composer = "Ludwig van Beethoven (1770-1827)";
-               enteredby = "JCN";
-               copyright = "public domain";
-       }
-
   \paper {
        \paperSixteen
        indent=100.0\mm;
index d46b66856ae9c7b11ef4a2414ec6695c4319f0ca..30e0dd208729095594d2c2bf63f433b307a0c2e7 100644 (file)
@@ -15,6 +15,7 @@ staffCombinePianoStaffProperties = {
        \property PianoStaff.aDueText = #"\\`a2"
        \property PianoStaff.splitInterval = #'(1 . 0)
        \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
+       \property PianoStaff.noDirection = ##t
 }
 
 % Coriolan 218-222
@@ -229,6 +230,11 @@ contrabasso = \notes\relative c {
     \translator{
       \ThreadContext
       \consists "Rest_engraver";
+      
+      % Set value for engraver at thread level,
+      % to override the default that is set in ScoreContext
+      % for added engraver at Voice level
+      devNullThread = #'()
     }
     \translator{
       \VoiceContext
@@ -254,6 +260,8 @@ contrabasso = \notes\relative c {
 
       soloText = #"I."
       soloIIText = #"II."
+      % By default, turn off the Thread_devnull_engraver
+      % at Voice level
       devNullThread = #'never
 
       % Hmm
index ef735b38bb7e4b12699760812fa04534fe169be3..f767e7004d3826723466128686b666b7f285a952 100644 (file)
@@ -129,21 +129,24 @@ A2_engraver::acknowledge_grob (Grob_info i)
     state_ = SPLIT_INTERVAL;
   else if (unirhythm)
     state_ = UNIRHYTHM;
-         
-  if (Stem::has_interface (i.elem_l_)
-      || Slur::has_interface (i.elem_l_)
-      // || Tie::has_interface (i.elem_l_)
-      || i.elem_l_->has_interface (ly_symbol2scm ("tie-interface"))
-      /*
-       Usually, dynamics are removed by *_devnull_engravers for the
-       second voice.  On the one hand, we don't want all dynamics for
-       the first voice to be placed above the staff.  On the other
-       hand, colliding of scripts may be worse */
+
+  /* Must only set direction for VoiceCombines, not for StaffCombines:
+     we can't detect that here, so, ugh, yet another property */
+  if (!to_boolean (get_property ("noDirection"))
+      && (Stem::has_interface (i.elem_l_)
+         || Slur::has_interface (i.elem_l_)
+         // || Tie::has_interface (i.elem_l_)
+         || i.elem_l_->has_interface (ly_symbol2scm ("tie-interface"))
+         /*
+           Usually, dynamics are removed by *_devnull_engravers for the
+           second voice.  On the one hand, we don't want all dynamics for
+           the first voice to be placed above the staff.  On the other
+           hand, colliding of scripts may be worse */
 #if 0
-      || i.elem_l_->has_interface (ly_symbol2scm ("dynamic-interface"))
-      || i.elem_l_->has_interface (ly_symbol2scm ("text-interface"))
+         || i.elem_l_->has_interface (ly_symbol2scm ("dynamic-interface"))
+         || i.elem_l_->has_interface (ly_symbol2scm ("text-interface"))
 #endif
-      )
+         ))
     {
       /*
        Hmm.  We must set dir when solo, in order to get
index c0d980d5365b228d6af884b5840c89ca128717ce..a44155c07318cbeb05ae9fbf5436584ab1234a10 100644 (file)
@@ -450,8 +450,8 @@ Midi_note_off::Midi_note_off (Midi_note* n)
   // Anybody who hears any difference, or knows how this works?
   //  0 should definitely be avoided, notes stick on some sound cards.
   // 64 is supposed to be neutral
+  
   aftertouch_byte_ = 64;
-
 }
 
 String
@@ -594,16 +594,26 @@ Midi_track::add (Moment delta_time_mom, Midi_item* midi_p)
   event_p_list_.append (new Killing_cons<Midi_event> (e, 0));
 }
 
+extern bool verbose_global_b;
+
 String
 Midi_track::data_str () const
 {
   String str = Midi_chunk::data_str ();
+#if 0
   if (flower_dstream && !flower_dstream->silent_b ("Midistrings"))
+#else
+  if (verbose_global_b)
+#endif
     str += "\n";
   for (Cons<Midi_event> *i=event_p_list_.head_; i; i = i->next_) 
     {
       str += i->car_->str ();
+#if 0
       if (flower_dstream && !flower_dstream->silent_b ("Midistrings"))
+#else  
+      if (verbose_global_b)
+#endif 
         str += "\n";
     }
   return str;
index 976130a3f001cabcf542edb2d118fb156e918ce9..cdaf316cf898bbd53eab0527a78b998303305443 100644 (file)
@@ -34,14 +34,18 @@ Midi_stream::operator << (String str)
   return *this;
 }
 
+extern bool verbose_global_b;
 Midi_stream&
 Midi_stream::operator << (Midi_item const& midi_c_r)
 {
-//    *this <<midi_c_r.str (); 
   String str = midi_c_r.str ();
-  if (flower_dstream && !flower_dstream->silent_b ("Midistrings")) 
+#if 0
+  if (flower_dstream && !flower_dstream->silent_b ("Midistrings"))
+#else    
+  if (verbose_global_b)
+#endif    
     {
-    str = String_convert::bin2hex_str (str) + "\n";
+     str = String_convert::bin2hex_str (str) + "\n";
     // ugh, should have separate debugging output with Midi*::print routines
     int i = str.index_i ("0a");
     while (i >= 0)
index b4668ce37229816299030a612e4a5ba73cd1d4fb..ba873c50a9d638b5fbd782cc5cce2967033c3831 100644 (file)
@@ -81,7 +81,7 @@ Text_spanner::brew_molecule (SCM smob)
 
 
   SCM properties = Font_interface::font_alist_chain (me);
-  
+
   SCM edge_text = me->get_grob_property ("edge-text");
   Drul_array<Molecule> edge;
   if (gh_pair_p (edge_text))
@@ -89,10 +89,14 @@ Text_spanner::brew_molecule (SCM smob)
       Direction d = LEFT;
       do
        {
-         SCM text = index_cell (edge_text, d);
-         edge[d] = Text_item::text2molecule (me, text, properties);
-         if (!edge[d].empty_b ())
-           edge[d].align_to (Y_AXIS, CENTER);
+         /*  Don't repeat edge text for broken end */
+         if (!broken[d])
+           {
+             SCM text = index_cell (edge_text, d);
+             edge[d] = Text_item::text2molecule (me, text, properties);
+             if (!edge[d].empty_b ())
+               edge[d].align_to (Y_AXIS, CENTER);
+           }
        }
       while (flip (&d) != LEFT);
     }
index aad446c46e85a594709686bac168b13a1b43317d..8c0c48fcf85db4c5a4dc69ec4bfb4aa8167c49c4 100644 (file)
@@ -372,9 +372,6 @@ ScoreContext = \translator {
        splitInterval = #'(0 . 1)
        changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
 
-       %devNullThread = #'unisolo
-       %devNullVoice = #'unisolo
-
        StaffMinimumVerticalExtent = #(cons -4.0 4.0)
 
        barAuto = ##t
index d22249cbb0564305e2dcdbed257eb0ee9737e22b..64c846e9de0f3b8955c69d01fef1d958cd15b570 100644 (file)
@@ -35,6 +35,11 @@ mutopia-letter=$(mutopia-examples:%=out-letter/%.ps.gz)
 mutopia:
        $(MAKE) examples="$(mutopia-examples)" PAPERSIZE=letter local-WWW $(mutopia-letter)
 
+localclean: local-letter-clean
+
+local-letter-clean:
+       rm -f $(outdir)-letter/*
+
 #
 # <NAME> and -book targets only available through ly.make template makefile;
 # too scary to install in LilyPonds make yet.
index 18dedd5e05aaf39627bdaeb0d69d014872babf3d..d78dae7a978bdc1bc58bd5c003ec0ff58dfbb557 100644 (file)
@@ -31,4 +31,4 @@ bassiGroup =  \context PianoStaff = bassi_group \notes <
        \context Staff=oneBassi \partcombine Staff
                \context Voice=oneBassi \violoncello
                \context Voice=twoBassi \contrabasso
->
\ No newline at end of file
+>
index 295361aa912b4418ff8d8e6851092a5ca581986b..b2b60555d37ac5663beb29afdc29a8bab23286b3 100644 (file)
@@ -373,7 +373,7 @@ contrabasso =  \notes \relative c {
        R1|
        \!c4\p r r2|
        R1|
-       g4-"pizz." r r2|
+       g4-#'((font-shape . upright) "pizz.") r r2|
        
        %295
        R1|
index cc2ab866ecc28341c264245027bac608f71b2c77..b281667604e12f3441f981c216bd2e8e3013e746 100644 (file)
        \translator {
                \ThreadContext
                \consists "Rest_engraver";
+               
+               % Set value for engraver at thread level,
+               % to override the default that is set in ScoreContext
+               % for added engraver at Voice level
+               devNullThread = #'()
        }
        \translator {
                \VoiceContext
                \remove "Rest_engraver";
 
                % The staff combine (bassi part) needs a
-               % thread_devnull_engraver here.
+               % thread_devnull_engraver here.  Why?
                % Instead of maintaining two separate hierarchies,
                % we switch add it, but switch it off immediately.
                % --> move to Score level to be able to override
@@ -31,6 +36,7 @@
        \translator {
                \HaraKiriStaffContext
                \consists "Mark_engraver";
+               MultiMeasureRest \override #'minimum-width = #6
        }
        \translator  {
                \OrchestralScoreContext
@@ -38,6 +44,8 @@
 
                soloText = #"I."
                soloIIText = #"II."
+               % By default, turn off the Thread_devnull_engraver
+               % at Voice level
                devNullThread = #'never
                
                TimeSignature \override #'style = #'C
index 28c5a86c60f240048e7a252a6e1cc46de5bc7159..e5ff529fe09f10c3b692e638ec52a7df93f6f972 100644 (file)
        \translator {
                \ThreadContext
                \consists "Rest_engraver";
+               
+               % Set value for engraver at thread level,
+               % to override the default that is set in ScoreContext
+               % for added engraver at Voice level
+               devNullThread = #'()
        }
        \translator {
                \VoiceContext
@@ -41,6 +46,8 @@
 
                soloText = #"I."
                soloIIText = #"II."
+               % By default, turn off the Thread_devnull_engraver
+               % at Voice level
                devNullThread = #'never
                
                TimeSignature \override #'style = #'C
index 76167b981cd01b58869a71b32adced3d29fdd886..76a551b9e20acac65f5a128b49c84ded3cb274d7 100644 (file)
@@ -1,13 +1,7 @@
-%{
- run this through:
- ly2dvi -K coriolan.tex
- dvips -O 5mm,0mm -o coriolan.ps coriolan 2> /dev/null
-%}
-
-
 \version "1.3.120";
 
 instrument = "Orchestra"
+% instrument = ""
 
 \include "header.ly"
 \include "global.ly"
@@ -65,12 +59,7 @@ archiGroup =  \context StaffGroup = archi_group <
                \archiGroup
        >
        \header{
-               title = "Coriolan";
-               subtitle = "Ouverture"; 
-               opus = "Opus 62";
-               composer = "Ludwig van Beethoven (1770-1827)";
-               enteredby = "JCN";
-               copyright = "public domain";
+               instrument = "";
        }
        \include "coriolan-paper.ly"
        \include "coriolan-midi.ly"
index 24d8575ffa0535e45930404d22bca0f1d05bca36..ff033a920c6d28d20ea7ead33a6aa48ddc2c2cc0 100644 (file)
@@ -21,6 +21,7 @@ staffCombinePianoStaffProperties = {
        \property PianoStaff.aDueText = #"\\`a2"
        \property PianoStaff.splitInterval = #'(1 . 0)
        \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
+       \property PianoStaff.noDirection = ##t
 }
 
 #(set! point-and-click #t)
index dec1d9fae6dcf2bc5de747433656c54caa3a20d5..1bab08c7975497e6258cff9e1ad8a26a142dc173 100644 (file)
@@ -1,7 +1,10 @@
+% Ugh, we need to override some LaTeX titling stuff
 \header {
-  title =      "Ouverture";
-  subtitle =   "Coriolan";
+  title =      "Ouverture\\vrule width0pt height 0pt depth 1ex";
+  subtitle =   "\\normalsize Zu Heinrich Joseph v. Collins Trauerspiel\\vrule width0pt height 0pt depth 1ex";
+  subsubtitle =        "\\Large\\bf Coriolan";
   opus =  "Op. 62";
+  piece = "\\normalfont\\large Allegro con brio";
   composer =    "Ludwig van Beethoven (1770-1827)";
   enteredby =   "JCN";
   instrument = \instrument;
   mutopiaopus = "O62";
   mutopiainstrument = \instrument;
   date = "1807";
-  source = "Edition Dr. Max Unger 1936 from original published parts and autograph.";
+  
+  source = "i. Ed. Dr. Max Unger 1936 from and following score autograph and
+  original published parts, ie, Stimmen-Drucke N.Simrock Bonn (most probably
+  from 1807) and Industriekontor Vienna (1807).\\\\
+  ii. Beethoven's Werke -- Ouverturen fuer Orchester; Breitkopf u. Haertel,
+  Leipzig (not dated, but very old and worn).\\\\
+  iii.  Beethoven Werke II,1 -- Ouverturen und Wellingtons Sieg; G. Henle
+  Verlag, Muenchen (1974).
+  Veroeffentlichung des Beethovenhauses in Bonn.
+  Die ausgabe wurde durch die Unterstuetzung des Landes Nordrhein-Westfalen
+  ermoeglicht.";
+  
   style = "Classical";
   copyright = "Public Domain";
   maintainer = "Jan Nieuwenhuizen";
index 16113333c161e28fa9f15dc66a3f7c9489db3fe7..779e50be683de881241720f90325b8280caa0e3e 100644 (file)
@@ -398,7 +398,7 @@ violaI =  \notes \relative c {
        R1|
        \!c4\p r r2|
        R1|
-       g4-"pizz." r r2|
+       g4-#'((font-shape . upright) "pizz.") r r2|
        R1|
        c,4 r r2|
        R1*15|
index 8fe53abc311bc568736a1a343e19afb49159848f..7ba0e2c04614e0ff02e2e0ea48337fbefb8362ea 100644 (file)
@@ -398,7 +398,7 @@ violaII =  \notes \relative c {
        R1|
        \!c4\p r r2|
        R1|
-       g4-"pizz." r r2|
+       g4-#'((font-shape . upright) "pizz.") r r2|
        R1|
        c,4 r r2|
        R1*15|
index 1f72a246e0ab0e477f9f9aea9d2e7aad92e0fc91..2398bd9fc7bc662037b2cc720cc1930629ad9fe5 100644 (file)
@@ -6,6 +6,7 @@
 
 %{
 violeGroup =  \context PianoStaff = viole_group \notes <
+        \property PianoStaff.aDueText = #""
        \context Staff=oneViole {
                \property Staff.midiInstrument = #"viola"
                \property Staff.instrument = #"Viola"
@@ -36,6 +37,7 @@ violeGroup =  \context PianoStaff = viole_group \notes <
 %}
 
 violeGroup =  \notes \context Staff = viole <
+        \property Staff.aDueText = #""
        \context Staff=viole {
                \property Staff.midiInstrument = #"viola"
                \property Staff.instrument = #"Viola"
index 6d56bf22cdbd65122e8f5aaca832bef5b63c3eda..0932b1a8224005026113cd2589eac1e9fa3425fa 100644 (file)
@@ -410,7 +410,7 @@ violinoI =  \notes \relative c {
        R1|
        \!es!4\p r r2|
        R1|
-       d,4-"pizz." r r2|
+       d,4-#'((font-shape . upright) "pizz.") r r2|
        
        %295
        R1|
@@ -441,15 +441,15 @@ violinoI =  \notes \relative c {
        %310
        \!c4\pp r r2|
        R1|
-       c4-"pizz." r r2|
+       c4-#'((font-shape . upright) "pizz.") r r2|
        c4 r r2|
        c4 r r2|
 }
 
 violinoIStaff =  \context Staff = violino1 <
        \property Staff.midiInstrument = #"violin"
-       \property Staff.instrument = #"Violino I"
-       \property Staff.instr = #"Vl. I"
+       \property Staff.instrument = #"Violino I  "
+       \property Staff.instr = #"Vl. I  "
        \notes< 
                \global
                \context Voice=violinoi
index 3b7bcbae3de9de5b56a0b38ba7889c822907fd87..f1494f5fc29111b5793d43d2bc36fef558196aeb 100644 (file)
@@ -429,13 +429,13 @@ violinoII =  \notes \relative c {
        R1|
        \!g4\p r r2|
        R1|
-       b,4-"pizz." r r2|
+       b,4-#'((font-shape . upright) "pizz.") r r2|
        
        %295
        R1|
        c4 r r2|
        R1*15|
-       c4-"pizz." r r2|
+       c4-#'((font-shape . upright) "pizz.") r r2|
        c4 r r2|
        c4 r r2|
 }
@@ -444,8 +444,8 @@ violinoIIStaff =  \context Staff = violino2 <
        % MIDI hoort geeneens verschil tussen een
        % eerste en tweede viool ;-)
        \property Staff.midiInstrument = #"violin"
-       \property Staff.instrument = #"Violino II"
-       \property Staff.instr = #"Vl. II"
+       \property Staff.instrument = #"Violino II  "
+       \property Staff.instr = #"Vl. II  "
        \notes< 
                \global
                \context Voice=violinoii
index 75b287167915fc7ddbad6f9b795b23be75fc5bcb..b7f970ab684eb8268eaa9d9b6c1bff6515cf70c9 100644 (file)
@@ -443,7 +443,7 @@ violoncello =  \notes \relative c {
        R1|
        \!c4\p r r2|
        R1|
-       g4-"pizz." r r2|
+       g4-#'((font-shape . upright) "pizz.") r r2|
        
        %295
        R1|
@@ -473,7 +473,8 @@ violoncello =  \notes \relative c {
        %310
        \!c,\pp r r2|
        R1|
-       c4-"pizz." r r2|
+       % no mistake: octave lower than contrabass, ie, sounding equal
+       c,4-#'((font-shape . upright) "pizz.") r r2|
        c4 r r2|
        c4 r r2|
 }
index 754ab1cc00e77ab8e6578b81cc6d6ebd31029ddb..389a35bc930bb91a84dbf092e6721161a05ca19d 100644 (file)
@@ -116,6 +116,7 @@ interesting items (ie. note heads, lyric syllables and normal rests)"
      '(TextScript)
      '(
       combineParts
+      noDirection
       soloADue
       soloText
       soloIIText
index 3c62246ac1f3d0e206599bee8c2ce45a76d5e90a..350aee59c55d69f79aba510a8ed9563e7bd81e86 100644 (file)
@@ -209,6 +209,7 @@ top of those automatically detected. ")
 MIDI instrument to use ")
 (translator-property-description 'noAutoBeaming boolean? "If set to true then beams are not generated automatically.
 ")
+(translator-property-description 'noDirection boolean? "Don't set directions by a2-engraver when part-combining.")
 (translator-property-description 'noResetKey boolean? "Do not
 reset local key to the value of keySignature at the start of a measure,
 as determined by measurePosition.
index 849aeab201a23f83ce1b44d3b590402a513b85ac..e395ca7d48c87d21d06f8246748cb9467c6039b2 100644 (file)
@@ -212,8 +212,10 @@ class LatexPaper:
                if not self.m_use_geometry:
                        return latex_linewidths[self.m_papersize][self.m_fontsize]
                else:
-                       geo_opts = (a == None, b == None, c == None)
-                       
+                       geo_opts = (self.m_geo_lmargin == None,
+                                   self.m_geo_width == None,
+                                   self.m_geo_rmargin == None)
+
                        if geo_opts == (1, 1, 1):
                                if self.m_geo_textwidth:
                                        return self.m_geo_textwidth