Skip to content

A deep overhaul of dynamics and expression #17001

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

Merged
merged 5 commits into from
Apr 28, 2023

Conversation

mike-spa
Copy link
Contributor

@mike-spa mike-spa commented Mar 24, 2023

Resolves: #16900 (among many other things)

Summary:

  1. Don't automatically flag as "other" dynamics with text. As long as the string contains the substring identifying the dynamic type, we should retain the type. NOTE: this also resolves the issue that dynamics with text don't have playback.

  2. Keep dynamics aligned properly (i.e. dynamic under the notehead) when custom text is added. This is now the default, with an option to revert to old behaviour.

  3. Offset dynamics laterally to avoide collision with barlines (with toggle/untoggle option).

In general, dynamics must be detached from text settings. Specifically:

  1. Dynamics symbols now have the possibility to override the score music font (independently of text font)

  2. Dynamics symbols can have custom size (independent from text size) expressed as a percentage of the default.

  3. Dynamics text (i.e. text typed into a dynamic) must be treated as expression text, and it now takes all its defaults from there. The Style -> Text Styles -> Dynamics page has been removed.

  4. Expressions have a new dedicated class of their own. "Old" expressions, i.e. staff text with an "expression" style, are mapped into the new expression item preserving the old layout.

  5. Expressions entered on the same chord as a dynamic mark will automatically align to the dynamic (with toggle/untoggle option).

  6. An expression + dynamics snapped pair is dragged together.

  7. Long awaited quality-of-life improvement: when dropping (or clicking and entering) a new dynamic onto an existing one, it will replace the old one with the new one (instead of having to delete and re-enter to change a dynamic).

  8. A new inspector panel for Dynamics, containing all the relevant applicable settings. Some of these settings are moved here from the Text inspector panel, mainly the Above - Below and the Frame Settings.

  9. The Text inspector panel is not shown when a "pure" dynamic is selected. It is only shown when a dynamic+custom text is selected, and the options only refer to the text part.

  10. New options in the Style -> Dynamics submenu.

  11. A new inspector panel for Expressions, containing (for now) only the "Snap to dynamics" option.

20230428_143610.mp4
20230428_144523.mp4

@mike-spa mike-spa requested a review from its-not-nice March 24, 2023 15:19
@mike-spa mike-spa force-pushed the unjankifyDynamics branch 7 times, most recently from 8aec753 to 0d3b133 Compare March 31, 2023 11:40
@mike-spa mike-spa force-pushed the unjankifyDynamics branch 16 times, most recently from 890c118 to 35c8fdd Compare April 7, 2023 12:42
@mike-spa mike-spa force-pushed the unjankifyDynamics branch 4 times, most recently from 4d34407 to 6fa289b Compare April 12, 2023 14:19
@mike-spa mike-spa force-pushed the unjankifyDynamics branch from 6fa289b to e84347b Compare April 14, 2023 16:18
@mike-spa mike-spa force-pushed the unjankifyDynamics branch 2 times, most recently from 34d0d4f to 5357c65 Compare April 28, 2023 12:38
@mike-spa mike-spa changed the title Unjankify dynamics A deep overhaul of dynamics and expression Apr 28, 2023
@mike-spa mike-spa marked this pull request as ready for review April 28, 2023 12:47
@mike-spa mike-spa force-pushed the unjankifyDynamics branch from 5357c65 to adc699a Compare April 28, 2023 12:54
mike-spa and others added 5 commits April 28, 2023 16:27
1. Don't automatically flag as "other" dynamic with text. As long as the string contains the substring identifying the dynamic type, we should retain the type. NOTE: this also resolves the issue that dynamics with text don't have playback.

2. Keep dynamics aligned properly (i.e. dynamic under the notehead) when custom text is added. This is now the defaul, with an option to revert to old behaviour.

3. Offset dynamis laterally to avoide collision with barlines (with toggle/untoggle option).

In general, dynamics must be detached from text settings. Specifically:

4. Dynamics symbols now have the possibility to override the score music font (independently of text font)

5. Dynamics symbols can have custom size (independent from text size) expressed as a percentage of the default.

6. Dynamics text (i.e. text typed into a dynamic) must be treated as expression text, and it now takes all its defaults from there. The Style -> Text Styles -> Dynamics page has been removed.

7. Expressions have a new dedicated class of their own. "Old" expressions, i.e. staff text with an "expression" style, are mapped into the new expression item preserving the old layout.

8. Expressions entered on the same chord as a dynamic mark will automatically align to the dynamic (with toggle/untoggle option).

9. An expression + dynamics snapped pair is dragged together.

10. Long awaited quality-of-life improvement: when dropping (or clicking and entering) a new dynamic onto an existing one, it will replace the old one with the new one (instead of having to delete and re-enter to change a dynamic).

11. A new inspector panel for Dynamics, containing all the relevant applicable settings. Some of these settings are moved here from the Text inspector panel, mainly the Above - Below and the Frame Settings.

12. The Text inspector panel is not shown when a "pure" dynamic is selected. It is only shown when a dynamic+custom text is selected, and the options only refer to the text part.

13. New options in the Style -> Dynamics submenu.

14. A new inspector panel for Expressions, containing (for now) only the "Snap to dynamics" option.
added vtest
@mike-spa mike-spa force-pushed the unjankifyDynamics branch from adc699a to 6901e6e Compare April 28, 2023 14:27
@its-not-nice its-not-nice added the vtests This PR produces approved changes to vtest results label Apr 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vtests This PR produces approved changes to vtest results
Projects
None yet
Development

Successfully merging this pull request may close these issues.

let long dynamic text not collide with barlines
4 participants