[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Repeat 8va
From: |
H. S. Teoh |
Subject: |
Re: Repeat 8va |
Date: |
Fri, 8 Jan 2016 22:29:24 -0800 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Sat, Jan 09, 2016 at 12:11:48AM -0600, address@hidden wrote:
> On Fri, 8 Jan 2016, Christopher R. Maden wrote:
> > Generally, once you get into any kind of moderately complicated
> > score, you have to concoct your score and MIDI separately, e.g.:
> >
> > theTune = c c c c
> > theScore = \repeat volta 2 { \theTune }
> > theMidi = \theTune \transpose c c' \theTune
> > \score{ \theScore \layout{} }
> > \score{ \theMidi \midi{} }
>
> This is pretty much exactly what I do for a similar instruction in an
> original ragtime piece.
>
> It's a shame that LilyPond's requirement to completely evaluate music
> expressions immediately, and therefore once and for all, forces this
> kind of thing on us. The natural thing to want to do would be to have
> an "if (MIDI) { }" kind of construction at the point in the music
> where there's a difference; but that's simply impossible the way
> LilyPond currently works. And so anyone who wants both a printed
> score and MIDI is forced to write the whole thing twice over,
> attempting to keep the two versons updated relative to each other by
> hand, with the ability to share code only at the lowest levels of the
> hierarchy.
[...]
This is not really true. What I usually do is something like this:
music = <<
\new Staff {
a1 b c
\tag #'midi { a8 r b r c r }
\tag #'layout { a4-. b-. c-. }
}
>>
\score {
\removeWithTag #'midi \music
\layout {}
}
\score {
\removeWithTag #'layout \music
\midi {}
}
The \tag #'layout and \tag #'midi lines basically behave like an if
(MIDI) block. This lets you intersperse layout-specific and
midi-specific stuff in the same place, so that you don't forget to
update one after editing the other.
T
--
The richest man is not he who has the most, but he who needs the least.
- Repeat 8va, John Gourlay, 2016/01/08
- Re: Repeat 8va, Christopher R. Maden, 2016/01/08
- Re: Repeat 8va, H. S. Teoh, 2016/01/08
- Re: Repeat 8va, mskala, 2016/01/09
- Re: Repeat 8va,
H. S. Teoh <=
- Re: Repeat 8va, mskala, 2016/01/09
- Re: Repeat 8va, David Kastrup, 2016/01/09
- Re: Repeat 8va, mskala, 2016/01/09
- Re: Repeat 8va, David Kastrup, 2016/01/09
- Re: Repeat 8va, mskala, 2016/01/09
- Re: Repeat 8va, David Kastrup, 2016/01/09
- Re: Repeat 8va, David Kastrup, 2016/01/09
Re: Repeat 8va, Simon Albrecht, 2016/01/08
Re: Repeat 8va, David Kastrup, 2016/01/09