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

playback_support_for_dynamics_in_voices #23247

Conversation

RomanPudashkin
Copy link
Contributor

@RomanPudashkin RomanPudashkin commented Jun 14, 2024

Resolves: #19137 (first attempt here)

@avvvvve
Copy link

avvvvve commented Jun 21, 2024

@RomanPudashkin Sounding great so far!

There's a bit of an issue with how dynamics at the same beat position interact. The 'Apply to voice' property should affect playback in this priority order:

  1. Highest priority: Individual voice dynamics (1, 2, 3, or 4), which should only affect the staff they are applied to
  2. 'All > All voices on this staff only'
  3. 'All > All voices on instrument' (basically, this is the fallback dynamic for voices that aren't affected by a dynamic with one of the above settings at this exact beat position)

See this example:

image

The 'Apply to voice' property is set as follows:
mf is set to 'Voice 1'
f is set to 'All > All voices on instrument'
p is set to 'All > All voices on this staff only'

Expected behavior

Check for individual voice dynamics
Voice 1 in the right hand is played at mf

Check for 'All > All voices on this staff only' dynamics
All voices in the left hand are played at p

Apply the 'All > All voices on instrument' dynamic to any remaining voices
Voice 2 in the right hand is played at f

Current behavior

The dynamic that is applied changes depending on the order in which they are added. It seems as though if you apply an 'All > All voices on instrument' dynamic last after setting other dynamics in other voices, the 'All' dynamic overwrites any other dynamic.

The goal of this priority order is to make playback predictably the same regardless of the order dynamics are added.

@RomanPudashkin RomanPudashkin force-pushed the playback_support_for_dynamics_in_voices branch from 88d7f74 to b9c6774 Compare June 25, 2024 08:10
@RomanPudashkin RomanPudashkin force-pushed the playback_support_for_dynamics_in_voices branch from b9c6774 to 56bf7b6 Compare June 25, 2024 08:13
@RomanPudashkin RomanPudashkin merged commit a6a2bd8 into musescore:master Jun 25, 2024
11 checks passed
@RomanPudashkin RomanPudashkin deleted the playback_support_for_dynamics_in_voices branch June 25, 2024 08:47
RomanPudashkin added a commit to RomanPudashkin/MuseScore that referenced this pull request Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add playback support for dynamics and hairpins in voices and specific staves
4 participants