diff --git a/abjadext/nauert/attackpointoptimizers.py b/abjadext/nauert/attackpointoptimizers.py index cdf8437..b7713a9 100644 --- a/abjadext/nauert/attackpointoptimizers.py +++ b/abjadext/nauert/attackpointoptimizers.py @@ -69,19 +69,22 @@ class MeasurewiseAttackPointOptimizer(AttackPointOptimizer): c'16.. d'64 ~ - \times 4/5 { + \tuplet 5/4 + { d'8 e'32 ~ } - \times 4/7 { + \tuplet 7/4 + { e'8 ~ e'32 f'16 ~ } - \times 4/5 { + \tuplet 5/4 + { f'16. g'16 ~ @@ -89,19 +92,22 @@ class MeasurewiseAttackPointOptimizer(AttackPointOptimizer): g'16 a'16 ~ - \times 4/5 { + \tuplet 5/4 + { a'16 b'16. ~ } - \times 4/7 { + \tuplet 7/4 + { b'16 c''8 ~ c''32 ~ } - \times 4/5 { + \tuplet 5/4 + { c''32 r32 r32 @@ -135,21 +141,24 @@ class MeasurewiseAttackPointOptimizer(AttackPointOptimizer): c'16.. d'64 ~ - \times 4/5 { + \tuplet 5/4 + { d'16. ~ d'32 e'32 ~ } - \times 4/7 { + \tuplet 7/4 + { e'16. ~ e'16 f'16 ~ } - \times 4/5 { + \tuplet 5/4 + { f'16. g'16 ~ @@ -157,21 +166,24 @@ class MeasurewiseAttackPointOptimizer(AttackPointOptimizer): g'16 a'16 ~ - \times 4/5 { + \tuplet 5/4 + { a'16 b'32 ~ b'16 ~ } - \times 4/7 { + \tuplet 7/4 + { b'16 c''32 ~ c''8 ~ } - \times 4/5 { + \tuplet 5/4 + { c''32 r16 r16 @@ -273,19 +285,22 @@ class NaiveAttackPointOptimizer(AttackPointOptimizer): c'16.. d'64 ~ - \times 4/5 { + \tuplet 5/4 + { d'8 e'32 ~ } - \times 4/7 { + \tuplet 7/4 + { e'8 ~ e'32 f'16 ~ } - \times 4/5 { + \tuplet 5/4 + { f'16. g'16 ~ @@ -293,19 +308,22 @@ class NaiveAttackPointOptimizer(AttackPointOptimizer): g'16 a'16 ~ - \times 4/5 { + \tuplet 5/4 + { a'16 b'16. ~ } - \times 4/7 { + \tuplet 7/4 + { b'16 c''8 ~ c''32 ~ } - \times 4/5 { + \tuplet 5/4 + { c''32 r32 r32 @@ -397,7 +415,8 @@ class NullAttackPointOptimizer(AttackPointOptimizer): c'64 d'64 ~ - \times 4/5 { + \tuplet 5/4 + { d'32 ~ d'32 @@ -408,7 +427,8 @@ class NullAttackPointOptimizer(AttackPointOptimizer): e'32 ~ } - \times 4/7 { + \tuplet 7/4 + { e'32 ~ e'32 @@ -423,7 +443,8 @@ class NullAttackPointOptimizer(AttackPointOptimizer): f'32 ~ } - \times 4/5 { + \tuplet 5/4 + { f'32 ~ f'32 @@ -437,7 +458,8 @@ class NullAttackPointOptimizer(AttackPointOptimizer): g'16 a'16 ~ - \times 4/5 { + \tuplet 5/4 + { a'32 ~ a'32 @@ -448,7 +470,8 @@ class NullAttackPointOptimizer(AttackPointOptimizer): b'32 ~ } - \times 4/7 { + \tuplet 7/4 + { b'32 ~ b'32 @@ -463,7 +486,8 @@ class NullAttackPointOptimizer(AttackPointOptimizer): c''32 ~ } - \times 4/5 { + \tuplet 5/4 + { c''32 r32 r32 diff --git a/abjadext/nauert/quantizer.py b/abjadext/nauert/quantizer.py index 6452a57..9ae8863 100644 --- a/abjadext/nauert/quantizer.py +++ b/abjadext/nauert/quantizer.py @@ -106,31 +106,31 @@ def quantize( \time 2/4 c'4 ~ - \times 4/5 { + \tuplet 5/4 { c'16. cs'8.. ~ } } { - \times 4/7 { + \tuplet 7/4 { \tempo 8=57 \time 5/4 cs'16. d'8 ~ } - \times 4/5 { + \tuplet 5/4 { d'16 ef'16. ~ } - \times 2/3 { + \tuplet 3/2 { ef'16 e'8 ~ } - \times 4/7 { + \tuplet 7/4 { e'16 f'8 ~ @@ -140,12 +140,12 @@ def quantize( f'32 fs'16. ~ - \times 4/5 { + \tuplet 5/4 { fs'32 g'8 ~ } - \times 4/7 { + \tuplet 7/4 { g'32 r32 r16 @@ -206,7 +206,7 @@ def quantize( ~ e'16 ~ - \times 2/3 { + \tuplet 3/2 { \tempo 4=30 e'32 f'8. @@ -215,7 +215,7 @@ def quantize( fs'32 ~ } - \times 2/3 { + \tuplet 3/2 { fs'32 g'8. r32 diff --git a/tests/test_MeasurewiseAttackPointOptimizer___call__.py b/tests/test_MeasurewiseAttackPointOptimizer___call__.py new file mode 100644 index 0000000..2e15f3a --- /dev/null +++ b/tests/test_MeasurewiseAttackPointOptimizer___call__.py @@ -0,0 +1,54 @@ +import abjad +from abjadext import nauert + + +def test_MeasurewiseAttackPointOptimizer___call___01(): + string = r""" + \tuplet 11/8 + { + a''8 + ~ + a''8 + ~ + a''8 + ~ + a''8 + ~ + a''8 + ~ + a''8 + ~ + a''8 + \grace { + e''16 + e''16 + } + d''8 + ~ + d''8 + r8 + r8 + } + """ + string = abjad.string.normalize(string) + container = abjad.Container(string) + time_signature = abjad.TimeSignature((4, 4)) + attack_point_optimizer = nauert.MeasurewiseAttackPointOptimizer() + attack_point_optimizer(container, time_signature) + string = abjad.lilypond(container) + assert string == abjad.string.normalize( + r""" + { + \tuplet 11/8 + { + a''2.. + \grace { + e''16 + e''16 + } + d''4 + r4 + } + } + """ + ), print(string) diff --git a/tests/test_QGrid___call__.py b/tests/test_QGrid___call__.py index 608e5f9..bd1b944 100644 --- a/tests/test_QGrid___call__.py +++ b/tests/test_QGrid___call__.py @@ -61,12 +61,12 @@ def test_QGrid___call___02(): assert isinstance(result, list) and len(result) == 1 assert abjad.lilypond(result[0]) == abjad.string.normalize( r""" - \times 2/3 + \tuplet 3/2 { c'8 c'16 c'16 - \times 2/3 + \tuplet 3/2 { c'16 c'16 @@ -132,7 +132,7 @@ def test_QGrid___call___03(): assert abjad.lilypond(result[0]) == abjad.string.normalize( r""" \tweak edge-height #'(0.7 . 0) - \times 2/3 + \tuplet 3/2 { c'4 c'4 diff --git a/tests/test_Quantizer___call__.py b/tests/test_Quantizer___call__.py index eeeee16..85f3d65 100644 --- a/tests/test_Quantizer___call__.py +++ b/tests/test_Quantizer___call__.py @@ -205,7 +205,7 @@ def test_Quantize_05(): c'16 } c'8 - \times 2/3 + \tuplet 3/2 { c'8 \grace { @@ -214,7 +214,7 @@ def test_Quantize_05(): c'8 c'8 } - \times 4/5 + \tuplet 5/4 { c'16 c'16 @@ -223,7 +223,7 @@ def test_Quantize_05(): c'16 c'16 } - \times 4/7 + \tuplet 7/4 { c'16 ~ @@ -361,7 +361,7 @@ def test_Quantize_08(): c'16 } c'8 - \times 2/3 + \tuplet 3/2 { c'8 \grace { @@ -370,14 +370,14 @@ def test_Quantize_08(): c'8 c'8 } - \times 4/5 + \tuplet 5/4 { c'16 c'16 c'8 c'16 } - \times 4/7 + \tuplet 7/4 { c'8 c'16 @@ -541,7 +541,7 @@ def test_Quantize_12(): { { \tweak text #tuplet-number::calc-fraction-text - \times 6/7 + \tuplet 7/6 { \tempo 4=60 \time 7/8 @@ -550,7 +550,7 @@ def test_Quantize_12(): ~ cs'16 } - \times 4/7 + \tuplet 7/4 { \grace { d'16 @@ -563,7 +563,7 @@ def test_Quantize_12(): } } { - \times 4/5 + \tuplet 5/4 { e'8 r32 @@ -600,9 +600,9 @@ def test_Quantize_13(): { { \tweak text #tuplet-number::calc-fraction-text - \times 7/10 + \tuplet 10/7 { - \times 4/7 + \tuplet 7/4 { \tempo 4=60 \time 7/8 @@ -612,7 +612,7 @@ def test_Quantize_13(): cs'8 } \tweak text #tuplet-number::calc-fraction-text - \times 3/5 + \tuplet 5/3 { d'2. ef'2 @@ -620,7 +620,7 @@ def test_Quantize_13(): } } { - \times 4/5 + \tuplet 5/4 { \grace { e'16 @@ -780,7 +780,7 @@ def test_Quantize_16(): { { \tweak text #tuplet-number::calc-fraction-text - \times 5/7 + \tuplet 7/5 { \tempo 4=72 \time 7/8 @@ -793,7 +793,7 @@ def test_Quantize_16(): ~ } { - \times 4/5 + \tuplet 5/4 { ef'16 e'32 diff --git a/tests/test_attack_point_optimizers.py b/tests/test_attack_point_optimizers.py index 1d7bd3c..40321c6 100644 --- a/tests/test_attack_point_optimizers.py +++ b/tests/test_attack_point_optimizers.py @@ -4,7 +4,7 @@ def test_MeasurewiseAttackPointOptimizer___call___01(): string = r""" - \times 8/11 + \tuplet 11/8 { a''8 ~ @@ -39,7 +39,7 @@ def test_MeasurewiseAttackPointOptimizer___call___01(): assert string == abjad.string.normalize( r""" { - \times 8/11 + \tuplet 11/8 { a''2.. \grace {