[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lilypond-auto] Issue 3698 in lilypond: Enhancement: Allow capacity audi
From: |
lilypond |
Subject: |
[Lilypond-auto] Issue 3698 in lilypond: Enhancement: Allow capacity audio (MIDI) performers to interpret \repeat \alternative blocks intelligently |
Date: |
Mon, 02 Dec 2013 00:42:32 +0000 |
Status: Accepted
Owner: ----
CC: address@hidden, address@hidden, address@hidden,
address@hidden, address@hidden
Labels: Type-Enhancement
New issue 3698 by address@hidden: Enhancement: Allow capacity audio
(MIDI) performers to interpret \repeat \alternative blocks intelligently
http://code.google.com/p/lilypond/issues/detail?id=3698
This issue is a follow-on from Tracker Issue 3664
http://code.google.com/p/lilypond/issues/detail?id=3664 and Rietveld Issue
https://codereview.appspot.com/26470047. Issue 3664 dealt with better
playback for MIDI articulations etc. in MIDI output.
There was a lot of discussion during review of further MIDI enhancements
regarding \repeat blocks. This issue has been raised to capture that
discussion and what conclusions were reached.
LilyPond audio/MIDI output currently only handles \repeat unfold blocks and
plays back all \alternative blocks as if they were sequential bars. In the
past it was felt that since LilyPond's main purpose was to produce
graphical notation output this was sufficient for the main purposes
of 'proof-hearing' a score. However, there is now interest in enhancing
LP's to provide better interpretation of \repeat blocks.
Issue 3664 replaced much, but not all, of the functionality in
articulate.ly. This issue covers only functionality relating to \repeat
blocks. Other work to replace articulate.ly features should be covered by
a separate issue.
How, and to what level, audio/MIDI output (I'll use MIDI from now on) will
be determined by a property in a <tbd> context named, for example
repeat-performance. The default setting of the property would be one which
specified the current behaviour for midi playback.
The suggested syntax for the property is a list of symbol values, to
represent the various types of repeat
these could be
'volta - expand volta repeats
'volta-once - don't expand voltas, but always use the last \alternative
(if one is present)
'tremolo - expand tremolos to unfolded values
'unfold - always expanded
'percent - always expanded
'all - interpret all forms of repeat fully (logical OR
of 'volta, 'tremolo, 'percent and 'unfold)
'minimal ( or #f or '() ?)
- only observe unfold repeats as now and treat \alternative
block bars sequentially as (this is the default value)
Issue - how should \alternative be handled?
Use keywords as above in the main list, or
use a double list for the property
e.g. (('unfold 'percent 'volta-once) 'last-time)
where the second element of the list could be a specifier for handling
\alternative - with values of
'last-time - always perform the last \alternative
'select - use the appropriate \alternative block corresponding to the
volta iteration
'sequence - as now, just hack through all the bars in all \alternative
blocks in sequence.
It's possible the double list of (repeat-settings alternative-settings)
could be derived from a single list specified in the API and this double
list is the one the performers use to determine the behaviour.
Hope I didn't miss anything from the discussion.
Cheers, Ian
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
- [Lilypond-auto] Issue 3698 in lilypond: Enhancement: Allow capacity audio (MIDI) performers to interpret \repeat \alternative blocks intelligently,
lilypond <=