musescore / musescore/MuseScore

Beams do not export to MusicXML as rendered in MuseScore

Open
#33,513 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community MusicXML
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Issue type

Import/export issue

Description with steps to reproduce
  1. Create any score containing the beamings shown in the image
  2. Export as uncompressed MusicXML
  3. Compare beams in the MusicXML file with the beams rendered in MuseScore
Supporting files, videos and screenshots
Image

MusicXML export ("No system or page breaks" is selected for legibility but the issue persists regardless of this setting):

...
<measure number="1">
			<attributes>
				<divisions>8</divisions>
				<key>
					<fifths>0</fifths>
				</key>
				<time>
					<beats>2</beats>
					<beat-type>4</beat-type>
				</time>
				<clef>
					<sign>G</sign>
					<line>2</line>
				</clef>
			</attributes>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>1</duration>
				<voice>1</voice>
				<type>32nd</type>
				<stem>down
				</stzem>
				<beam number="1">begin</beam>
				<beam number="2">begin</beam>
				<beam number="3">begin</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>1</duration>
				<voice>1</voice>
				<type>32nd</type>
				<stem>down</stem>
				<beam number="1">continue</beam>
				<beam number="2">continue</beam>
				<beam number="3">continue</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>1</duration>
				<voice>1</voice>
				<type>32nd</type>
				<stem>down</stem>
				<beam number="1">continue</beam>
				<beam number="2">continue</beam>
				<beam number="3">continue</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>1</duration>
				<voice>1</voice>
				<type>32nd</type>
				<stem>down</stem>
				<beam number="1">continue</beam>
				<beam number="2">continue</beam>
				<beam number="3">continue</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>1</duration>
				<voice>1</voice>
				<type>32nd</type>
				<stem>down</stem>
				<beam number="1">continue</beam>
				<beam number="2">continue</beam>
				<beam number="3">continue</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>1</duration>
				<voice>1</voice>
				<type>32nd</type>
				<stem>down</stem>
				<beam number="1">continue</beam>
				<beam number="2">continue</beam>
				<beam number="3">continue</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>1</duration>
				<voice>1</voice>
				<type>32nd</type>
				<stem>down</stem>
				<beam number="1">continue</beam>
				<beam number="2">continue</beam>
				<beam number="3">continue</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>1</duration>
				<voice>1</voice>
				<type>32nd</type>
				<stem>down</stem>
				<beam number="1">end</beam>
				<beam number="2">end</beam>
				<beam number="3">end</beam>
			</note>
			<note>
				<rest/>
				<duration>8</duration>
				<voice>1</voice>
				<type>quarter</type>
			</note>
		</measure>
		<measure number="2">
			<attributes>
				<time>
					<beats>6</beats>
					<beat-type>8</beat-type>
				</time>
			</attributes>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>6</duration>
				<voice>1</voice>
				<type>eighth</type>
				<dot/>
				<stem>down</stem>
				<beam number="1">begin</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>2</duration>
				<voice>1</voice>
				<type>16th</type>
				<stem>down</stem>
				<beam number="1">continue</beam>
				<beam number="2">forward hook</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>4</duration>
				<voice>1</voice>
				<type>eighth</type>
				<stem>down</stem>
				<beam number="1">end</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>2</duration>
				<voice>1</voice>
				<type>16th</type>
				<stem>down</stem>
				<beam number="1">begin</beam>
				<beam number="2">forward hook</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>6</duration>
				<voice>1</voice>
				<type>eighth</type>
				<dot/>
				<stem>down</stem>
				<beam number="1">continue</beam>
			</note>
			<note>
				<pitch>
					<step>C</step>
					<octave>5</octave>
				</pitch>
				<duration>4</duration>
				<voice>1</voice>
				<type>eighth</type>
				<stem>down</stem>
				<beam number="1">end</beam>
			</note>
			<barline location="right">
				<bar-style>light-heavy</bar-style>
			</barline>
		</measure>
...
In which versions of MuseScore Studio is this issue present?

Tested in 5.0.0.260520042, 4.6.5.253511702, and 3.3.4.9134

Regression

No.

Operating system

Tested on Windows 10 and Windows 11

Additional context

No response

Checklist
  • This report follows the guidelines for reporting bugs and issues
  • I have verified that this issue has not been logged before, by searching the issue tracker for similar issues
  • I have attached all requested files and information to this report
  • I have attempted to identify the root problem as concisely as possible, and have used minimal reproducible examples where possible

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the export from the attached score and compare the rendered beams with the MusicXML beam elements shown in the report. Trace the MusicXML export path for beam starts, continuations, ends, and hooks. Done means the exported beam structure matches the beams rendered in MuseScore for the reported examples.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.