+4
-4
@@ -25,8 +25,8 @@ class TabPosition(typing.NamedTuple):
|
||||
midi: int
|
||||
|
||||
def within_fret_span(positions) -> bool:
|
||||
fretted = [position.fret for position in positions if position.fret > 0]
|
||||
return not fretted or max(fretted) - min(fretted) <= MAX_FRET_SPAN
|
||||
frets = [position.fret for position in positions]
|
||||
return not frets or max(frets) - min(frets) <= MAX_FRET_SPAN
|
||||
|
||||
def positions_for_pitch(midi: fractions.Fraction) -> tuple[TabPosition, ...]:
|
||||
if midi.denominator != 1:
|
||||
@@ -131,12 +131,12 @@ def movement(previous: tuple[TabPosition, ...], current: tuple[TabPosition, ...]
|
||||
|
||||
@functools.lru_cache(maxsize=4096)
|
||||
def position_center(positions: tuple[TabPosition, ...]) -> tuple[int, int]:
|
||||
frets = [p.fret for p in positions if p.fret] or [0]
|
||||
frets = [p.fret for p in positions] or [0]
|
||||
strings = [p.string_number for p in positions]
|
||||
return min(frets) + max(frets), min(strings) + max(strings) - 2
|
||||
|
||||
def compactness(positions) -> int:
|
||||
frets = [p.fret for p in positions if p.fret]
|
||||
frets = [p.fret for p in positions]
|
||||
return max(frets) - min(frets) if frets else 0
|
||||
|
||||
def extend_positions(held, pending):
|
||||
|
||||
Reference in New Issue
Block a user