lilypond-devel
[Top][All Lists]
Advanced

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

Re: AccidentalCautionary in NullVoice


From: Dan Eble
Subject: Re: AccidentalCautionary in NullVoice
Date: Sun, 10 Aug 2014 13:05:04 -0400

On Jul 27, 2014, at 07:31 , Janek Warchoł <address@hidden> wrote:

> @Dan: FYI, Keith has put up a patch that simplifies and improves
> NullVoice context - it should fix all the problems that we know of.
> It is currently being discussed at
> https://codereview.appspot.com/117050043

Patch set 3 seems more useful to me than patch set 4.

With NullVoice accepted by Staff, I am able to use NullVoice \with { <dynamics 
engravers> } to overcome another shortcoming of part-combined music, which is 
that simultaneous dynamics in the two source voices are lost if the notes to 
which they are attached are moved into the shared voice.  My workaround fails 
when the NullVoice is accepted by Score instead of Staff.

Also, the documentation should probably include \killCues on the notes within 
NullVoice.  Without it, there are warnings and extra notes in a score that has 
cues.  (Unless there’s something that could be done to NullVoice to make 
\killCues unnecessary.)

I’m also trying to figure out if there is a simple way to add MIDI performance 
to NullVoice.  (If I am using NullVoices for lyrics and dynamics, it seems 
natural to use them for MIDI output with one instrument per voice.)  The 
notation reference (2.18.2, pp. 484-5) suggests moving Staff_performer from 
Staff context to Voice context to get one channel per voice.  When I try that 
will NullVoice, I don’t get any tracks in the output file.  I do see tracks in 
the output file if I redefine the performer-group NullVoice to be just an alias 
of Voice and then use NullVoice \with { <midi performers> }.  I could do that 
on my own and call it something like InvisibleVoice; I mention it mainly for 
the sake of raising question, Should there be a simpler pre-packaged way to do 
this?

Thanks,
— 
Dan




reply via email to

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