lilypond-devel
[Top][All Lists]
Advanced

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

Re: Support articulations, slurs and breaths in MIDI (issue 26470047)


From: Keith OHara
Subject: Re: Support articulations, slurs and breaths in MIDI (issue 26470047)
Date: Tue, 26 Nov 2013 23:39:35 -0800
User-agent: Opera Mail/12.16 (Win32)

On Tue, 26 Nov 2013 09:54:57 -0800, <address@hidden> wrote:

>> > the next goal for this sub-project may be to get the audio
playback
>> > to honour the \repeat structures by translating the volta and
>> > tremolo flavours to unfold.
>>

Thinking about the context property David suggested, (if it were called
repeat-performance, for example)
would we could have three settings for it
#'all (expand volta, tremolo, percent and unfold for the performer)
#'notvolta (expand only tremolo, percent and unfold for the performer)
#'unfold (as now, expand only unfold for the performer)
with repeat-performance=#'all as the default, and people who like the
current behaviour able to set it to
#'unfold

Stating the obvious for the sake of anyone searching the archives,
there is the music function \unfoldRepeats  that converts all \repeat * to 
unfolded repeats.

To have unfolded repeats in midi, but folded in the printed score, requires a 
two \score blocks:  one with \layout{} and one with \midi{}.   That is a little 
inconvenient, but understandable, as the easiest way to unfold the repeats is 
at the front end, when iterating the music.

The other inconvenience with \unfoldRepeats is that it is not smart enough to 
convert
  \new Staff <<
    {\tempo "vivo" \repeat volta 3 s1 \tempo "morendo" s1 }
    { c''2 c''4 c''4 e'2 a' } >>
into
  \new Staff <<
    {\tempo "vivo" \repeat unfold 3 s1 \tempo "morendo" s1 }
    {\repeat unfold 3 {c''2 c''4 c''4} e'2 a' } >>

(I have used that limitation to advantage, applying \unfoldRepeats to the music so the 
tremolos are unfolded in midi, but not applying it to the "conductor"  part 
that has the global tempi and volta repeats.)




reply via email to

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