lilypond-auto
[Top][All Lists]
Advanced

[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



reply via email to

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