I found out the hard way that apparently adding \RemoveEmptyStaffContext 
globally to a score will erase some previous settings. In particular, if you 
have:

\layout {
  \context { \Staff
    ignoreFiguredBassRest = ##f
  }
}

\layout {
  \context { \RemoveEmptyStaffContext }
}

then the score will still use ignoreFiguredBassRest=##t (which is the 
default). If you don't add the RemoveEmptyStaffContext, then ##f is used.

Attached is an example file displaying this behavior.

Is this a bug? In my eyes, it is quite severe, because it means you can't 
trust  lilypond any more. If you check e.g. the individual parts (which do not 
add the RemoveEmptyStaffContext) for errors, you cannot be sure any more that 
the full score or e.g. the  choral score are correct, too!

Cheers,
Reinhold

PS: What is the reason anyway to have 
  ignoreFiguredBassRest = ##t
for the Staff context? Bass figures on rests ARE used and have a well-defined 
meaning (namely that they take the next bass note as reference, but play the 
harmony on the rest already). It seems that Han-Wen added this feature a while 
ago and set the default to ##t, but didn't really give any good reason to 
silently discart bass figures on rests... 
So, are there any reasons against making ##f the default (i.e. NOT silently 
discarding vital bass figures)???

-- 
------------------------------------------------------------------
Reinhold Kainhofer, Vienna University of Technology, Austria
email: reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at/
 * Edition Kainhofer Music Publishing, http://www.edition-kainhofer.com/
 * LilyPond music typesetting software, http://www.lilypond.org/
\version "2.13.11"
\pointAndClickOff

\header {
  title = "RemoveEmptyStaffContext erases previous settings"
  subtitle = "ignoreFiguredBassRest=##f in this case"
}


\layout {
  \context {
    \Staff
    ignoreFiguredBassRest = ##f
  }
}

% If the RemoveEmptyStaffContext is commnted out, everything works 
% (i.e. figures on rests ARE printed),
% But when you add the RemoveEmptyStaffContext, ignoreFiguredBassRest 
% is reset to ##f !!!

\layout {
  \context {
    \RemoveEmptyStaffContext
  }
}

  \new Score {
    \new Voice << 
      \figuremode { <6>4 <6> <3> <3> | <5> <5> <7> <7> } 
      \relative c'' { c2 c4 c | c r r c } 
    >>
}

Attachment: RemoveEmptyStaff_EraseSettings.pdf
Description: Adobe PDF document

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to