@@ -5,6 +5,21 @@ import fractions
|
||||
|
||||
import generator.model
|
||||
|
||||
|
||||
def solo_source(staff):
|
||||
"""Source-form pickup context, shared by training and arranged choruses.
|
||||
|
||||
The arrangement repeats the source form before each solo. Only an unlabelled
|
||||
pickup inherits its preceding source-form harmony. Scores without a pickup
|
||||
retain their ordinary initial-harmony checks. Explicit pickup harmony
|
||||
(including N.C.) still takes precedence in read().
|
||||
"""
|
||||
from generator.score import body_start_measure_index
|
||||
measures=staff['measures'];initial=None
|
||||
if body_start_measure_index(measures):
|
||||
initial=next((h for m in reversed(measures) for h in reversed(m['harmonies'])),None)
|
||||
return read(staff,initial=initial)
|
||||
|
||||
@dataclasses.dataclass(frozen=True)
|
||||
class ChordSpan:
|
||||
start: fractions.Fraction
|
||||
|
||||
Reference in New Issue
Block a user