Save
This commit is contained in:
@@ -150,15 +150,15 @@ class Harmony:
|
||||
|
||||
def evaluate(self, notes, treatments=(), *, until=None, complete=False, enclosures=(), expressions=()):
|
||||
notes = generator.solo.types.sounding_notes(notes)
|
||||
from generator.solo.expressions import validate
|
||||
permissions, expression_error = validate(notes, expressions, self)
|
||||
if expression_error:
|
||||
return Result(False, 0, error=expression_error)
|
||||
from generator.solo.expressions import validate_frontier
|
||||
explicit_frontier=until is not None
|
||||
until = until if until is not None else max((n.end for n in notes), default=fractions.Fraction())
|
||||
permissions, expression_pending, expression_error = validate_frontier(notes,expressions,self,until,complete or not explicit_frontier)
|
||||
if expression_error:return Result(False,0,error=expression_error)
|
||||
ornaments, error = self.enclosure_events(notes, enclosures, until) if enclosures else ({}, '')
|
||||
if error:
|
||||
return Result(False, 0, error=error)
|
||||
pending, valid_contracts = [], []
|
||||
pending, valid_contracts = list(expression_pending), []
|
||||
for treatment in treatments:
|
||||
if treatment.start >= until:
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user