[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Condensing single-bar rests into a multi-measure rest
From: |
Urs Liska |
Subject: |
Re: Condensing single-bar rests into a multi-measure rest |
Date: |
Sun, 04 Jan 2015 09:26:14 +0100 |
User-agent: |
K-9 Mail for Android |
Am 4. Januar 2015 01:16:23 MEZ, schrieb David Sumbler <address@hidden>:
>From: Urs Liska <address@hidden>
>To: address@hidden
>Subject: Re: Condensing single-bar rests into a multi-measure rest
>Date: Sat, 03 Jan 2015 18:59:17 +0100
>> >
>Am 03.01.2015 um 18:45 schrieb David Sumbler:
>>> From: Urs Liska <address@hidden>
>>> To: address@hidden
>>> Subject: Re: Condensing single-bar rests into a multi-measure rest
>>> Date: Sat, 03 Jan 2015 16:45:27 +0100
>>>
>>> Am 03.01.2015 um 16:36 schrieb David Sumbler:
>>>> I have now finished setting the saxophone quartet, which is the
>first
>>>> substantial multi-instrument piece I have attempted with Lilypond.
>>>>
>>>> I am very pleased with the result, and I am now at the stage of
>tweaking
>>>> the appearance of the output.
>>>>
>>>> Searching in the Lilypond documentation, one problem I have not
>been
>>>> able to find a solution to is this: in the piece there are a few
>places
>>>> where one instrument is silent for several consecutive bars. In
>the
>>>> score these obviously appear as single bar rests, but in the
>relevant
>>>> instrumental part I should like them to appear as a "multi-measure
>>>> rest".
>>>>
>>>> The problem may be that I have used \parallelMusic for the whole
>score:
>>>> this seems an obvious way of doing things for a piece such as this
>with
>>>> a small number of instruments. It has certainly been far easier to
>find
>>>> my way around the file than in my previous Lilypond efforts (e.g. a
>>>> piece for flute and piano), even though they were a lot shorter
>than
>>>> this one.
>>>>
>>>> But looking at the documentation, I can only see multi-measure
>rests
>>>> appearing if they are entered as multi-measure quantities - e.g.
>R1*6.
>>>> If this is true, then the only way I can see to get the result I
>want,
>>>> would be to deconstruct my whole file and reassemble it as 4
>separate
>>>> sections, one for each instrument. This in itself will be a
>tedious
>>>> chore, but it also means the resulting file(s) will be much less
>easily
>>>> navigable when I make further additions and modifications.
>>>>
>>>> Is there any way to get the result I want whilst still keeping the
>>>> \parallelMusic layout?
>>> LilyPond by default only interprets single entities as combinable
>rests
>>> (i.e. R1*6), while consecutive rests (e.g. R1 R1) are separated by
>>> \compressFullBarRests.
>>>
>>> I recently had the same problem and got a file from the list which I
>>> tweaked to work well in a quite similar case.
>>> You can find the file at
>>>
>https://git.ursliska.de/beautifulscores/das-trunkne-lied/blob/master/library/ly/to-lilylib/combineMultimeasureRests.ily
>>>
>>> I'm not sure if it is really straightforward to use in other
>contexts
>>> but I suspect you should be able to use it.
>>> You have to remove the conditional expression in the last function
>>> \combineMMRests (because that's project specific), but I expect the
>file
>>> to work smoothly once you've done that.
>>>
>>> To use it include the file and surround your music by
>\combineMMRests
>>> \yourMusic.
>>>
>>> HTH
>>> Urs
>> Thanks for that. I have tried the file, and although it does not
>> produce any errors, it does not seem to change the output at all. So
>it
>> may be that I am doing something wrong. Here is what I have done.
>>
>> Firstly, the final function now reads:
>>
>> combineMMRests =
>> #(define-music-function (parser location music) (ly:music?)
>> (condense music)
>> music)
>>
>> I'm not entirely sure I have got this right!
>
>No, that's not right. The "result" of a Scheme function is the result
>of
>the last expression, and that is "music" in your case, so you're
>returning the unaltered music argument.
>
>I think (without testing) that
>
>combineMMRests =
>#(define-music-function (parser location music) (ly:music?)
> (condense music))
>
>should be right.
>
>>
>> Secondly, in the section of my main file which produces a part for a
>> instrument, I have:
>>
>> \score {
>> \combineMMRests {
>> \myMusic
>> }
>> \layout {
>> }
>> }
>>
>> Is this correct?
>
>That looks correct, although you don't need the curly braces around
>\myMusic in this case.
>
>However, I don't know if parallelMusic is interfering here
>additionally.
>
>HTH
>Urs
>
>I have now corrected my version of the combineMMRests function, but
>unfortunately it still leaves my output unaffected.
>
>I can see how something like this could work - unfortunately my
>understanding at this stage of Scheme and Lilypond internals is
>insufficient for me to see where the problem might be or to write
>something similar from scratch.
>
>I can't see why \parallelMusic should cause a problem: presumably it
>just returns exactly what the individual parts would produce if they
>were not interleaved in the parallelMusic structure.
>
>David
>
>
But you do have the \compressFullBarRests somewhere?
Urs
>_______________________________________________
>lilypond-user mailing list
>address@hidden
>https://lists.gnu.org/mailman/listinfo/lilypond-user