Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor dynamics #23

Open
11 tasks
trevorbaca opened this issue Nov 3, 2018 · 0 comments
Open
11 tasks

Refactor dynamics #23

trevorbaca opened this issue Nov 3, 2018 · 0 comments
Assignees

Comments

@trevorbaca
Copy link
Owner

trevorbaca commented Nov 3, 2018

  • Consider replacing niente dynamic with LilyPond \! hairpin-stop.

  • Add interpolated dynamic handler

For terraced (discrete / nonhairpin) but interpolated dynamics: p, mp, mf, f ... etc.

Method will count underlying number of leaves / plts / attachment targets; then interpolate between two values; optional LMR-style specifier to direct growth at edges (or middle).

  • Add fractional dynamics

p+1/2, p-1/2

p+1/3, p+2/3, p-1/3, p-1/3.

And so on.

  • Add semantic check for incorrectly parenthesized dynamics. So p ... (pp) < f will be found.

  • add hairpin staff padding check; raise "you probably mean baca.dls_staff_padding() instead."

        baca.hairpin(
            'p < f',
            abjad.tweak(7).staff_padding,
            )
  • integrate indexed tweaks
        baca.hairpin(
            'ff >',
            (abjad.tweak(True).to_barline, -1),
            )
  • add force_final_dynamic keyword
        baca.hairpin(
            'ff < fff >',
            force_final_dynamic='ff',
            pieces=baca.plts(),
            )
  • Raise exception when mf -- ! enchains niente o< f. Causes two LilyPond \! commands to attach to same leaf.

  • Add sequential dynamics. Something like baca.hairpin('p < [mf, f, ff]') to give p < mf, p < f, p < ff on successive applications.

  • Add interpolative dynamics. Something like baca.hairpin('p < [mf,, ff]') to interpolate from mf to ff according to total number of applications; allow keywords or other specifiers to control for fraction dynamics and repeat values.

  • Add baca.dynamic('f', allow_repeats=True) keyword to generate sequential f not colored as redundant.

@trevorbaca trevorbaca self-assigned this Nov 3, 2018
@trevorbaca trevorbaca changed the title Add interpolated dynamic handler Add new dynamic features Nov 7, 2018
@trevorbaca trevorbaca changed the title Add new dynamic features Add new dynamics features Nov 7, 2018
@trevorbaca trevorbaca mentioned this issue Nov 7, 2018
3 tasks
@trevorbaca trevorbaca changed the title Add new dynamics features Dynamics enhancements Nov 28, 2018
@trevorbaca trevorbaca changed the title Dynamics enhancements Make dynamics enhancements Jul 5, 2019
@trevorbaca trevorbaca changed the title Make dynamics enhancements Refactor dynamics Aug 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant