lilypond-user
[Top][All Lists]
Advanced

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

Re: use default directions for \voiceN?


From: Evan Laforge
Subject: Re: use default directions for \voiceN?
Date: Sun, 14 Aug 2011 19:57:48 -0700

On Sun, Aug 14, 2011 at 7:27 PM, Kieren MacMillan
<address@hidden> wrote:
> Hi Evan,
>
>> I'm guessing both of these are possible, but I don't know quite the
>> right knobs to tweak to modify a voice in this way.  And I imagine it
>> must be a fairly common problem, so surely someone else has already
>> done something like this?

Ha, I should really do more research.  Just a bit more archive
trolling turned up \stemNeutral, which appears to be just what I want.
 Looking at the code in there makes a lot of things clearer.

> Instantiate the voices explicitly:
>
> \relative g' {
>  g4 a b c ~   |
>  << { \voiceOne c4 d e f } \new Voice { \voiceTwo a,2 a } >> \oneVoice
> }

Right, my problem was getting a tie from the end of voiceTwo to tie
into the beginning of oneVoice.  It didn't want to tie even when the
notes were the same pitch.  But keeping them as two voices solves the
problem, and \stemNeutral deals with the ugliness of staying in two
voices when one is silent.  So I think I'm good now, thanks :)

While I'm here... "assignment" in lilypond makes macros, but they
don't take arguments.  However, it's very common for music to repeat
except a little bit at the end, or a few notes in the middle or
something.  It looks like you can do full on functions by dropping
down into scheme, but then you (apparently?) lose the nice syntax.  Is
there a nice way to factor "almost the same" chunks of music?  Also,
the traditional kind of macro expansion requires you to know
beforehand where all the "holes" are to fill and provide them
explicitly, and that doesn't apply so well to music.

Also it feels like I would like some kind of "negative start time" for
pick-ups, so I could say e.g.

partTwo = <<
  \new Voice { \voiceOne { ... } }
  \new Voice { \voiceTwo { \pickup 1 measure { 2s c4 c | ... } } }
>>

music = { \partOne \partTwo }

This way the pickup from partTwo would overlap with the end of
partOne.  Otherwise, you have to split the parts up in a somewhat
unnatural way, just to insert a partOnePointFive that mixes the pickup
of partTwo with the tail of partOne.  And that leads to more messiness
if you have a rondo kind of A B C B D B thing.  Does that make sense?
Am I doing it wrong?



reply via email to

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