-
Notifications
You must be signed in to change notification settings - Fork 390
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
Making voices can disrupt makeAccidentals() #577
Comments
jacobtylerwalls
changed the title
Calling makeNotation() on a Measure with Voices causes makeAccidentals() to have no effect
Creating measures through makeNotation() causes makeAccidentals() to have no effect
Jul 15, 2020
Or, could even do this in
|
jacobtylerwalls
changed the title
Creating measures through makeNotation() causes makeAccidentals() to have no effect
Making voices can disrupt makeAccidentals()
Jul 15, 2020
This was referenced Jul 15, 2020
Hmmm...it seems better to fix this in makeAccidentals or makeNotation, since I wouldn't expect makeVoices to affect accidental status. But not entirely sure. |
Agreed. The patch I linked just adds recurse() in makeAccidentals. |
Fixed in #578 -- thanks! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Based on case reported by Igor Praznik, music21 list 3/3/20.
makeNotation()
callsmakeAccidentals()
perMeasure
object, butmakeAccidentals()
only inspectsmeasure.notesAndRests
, which is empty in this case because the notes have been put in voices already:music21/music21/stream/__init__.py
Line 5867 in 93bea7c
Need to grab the voice objects somewhere, possibly just recursively callingUpdate: I think this is only affecting the code path where measures have not been created yet. In that case, probably easier to just callmakeAccidentals()
, but there are going to be corner cases here with accidentals tied from previous measures.makeAccidentals()
beforemakeVoices()
andmakeMeasures()
, since without measures to worry about, those corner cases go away.The text was updated successfully, but these errors were encountered: