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

[MusicXML import] fermatas on barlines #19770

Closed
craigsapp opened this issue Oct 19, 2023 · 2 comments · Fixed by #20213
Closed

[MusicXML import] fermatas on barlines #19770

craigsapp opened this issue Oct 19, 2023 · 2 comments · Fixed by #20213
Labels
feature request Used to suggest improvements or new capabilities MusicXML

Comments

@craigsapp
Copy link

Your idea

When importing MusicXML data containing fermatas on barliness, the fermatas are ignored.

See MusicXML documentation for barlines, where up to two fermatas are allowed as child elements of <barline>: https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/barline

Example of a fermata on a barline from the MusicXML documentation:
https://www.w3.org/2021/06/musicxml40/musicxml-reference/examples/fermata-element

Problem to be solved

Click to view MusicXML for examples below.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.1">
  <work>
    <work-title>Untitled Project 2</work-title>
  </work>
  <movement-title>Flow 1</movement-title>
  <identification>
    <encoding>
      <software>Dorico 4.0.31.1060</software>
      <encoding-date>2023-10-18</encoding-date>
    </encoding>
  </identification>
  <part-list>
    <score-part id="P1">
      <part-name>Violin I</part-name>
    </score-part>
    <score-part id="P2">
      <part-name>Violin II</part-name>
    </score-part>
    <score-part id="P3">
      <part-name>Viola</part-name>
    </score-part>
    <score-part id="P4">
      <part-name>Violoncello</part-name>
    </score-part>
  </part-list>
  <part id="P1">
    <measure number="1">
      <attributes>
        <divisions>4</divisions>
        <key number="1">
          <fifths>0</fifths>
          <mode>none</mode>
        </key>
        <time>
          <beats>4</beats>
          <beat-type>4</beat-type>
        </time>
        <staves>1</staves>
        <clef number="1">
          <sign>G</sign>
          <line>2</line>
        </clef>
      </attributes>
      <note>
        <pitch>
          <step>A</step>
          <octave>4</octave>
        </pitch>
        <duration>16</duration>
        <voice>1</voice>
        <type>whole</type>
        <stem>up</stem>
        <staff>1</staff>
      </note>
      <barline location="right">
        <bar-style>light-heavy</bar-style>
	<fermata type="upright"/>
      </barline>
    </measure>
  </part>
  <part id="P2">
    <measure number="1">
      <attributes>
        <divisions>4</divisions>
        <key number="1">
          <fifths>0</fifths>
          <mode>none</mode>
        </key>
        <time>
          <beats>4</beats>
          <beat-type>4</beat-type>
        </time>
        <staves>1</staves>
        <clef number="1">
          <sign>G</sign>
          <line>2</line>
        </clef>
      </attributes>
      <note>
        <pitch>
          <step>C</step>
          <octave>5</octave>
        </pitch>
        <duration>16</duration>
        <voice>1</voice>
        <type>whole</type>
        <stem>down</stem>
        <staff>1</staff>
      </note>
      <barline location="right">
        <bar-style>light-heavy</bar-style>
      </barline>
    </measure>
  </part>
  <part id="P3">
    <measure number="1">
      <attributes>
        <divisions>4</divisions>
        <key number="1">
          <fifths>0</fifths>
          <mode>none</mode>
        </key>
        <time>
          <beats>4</beats>
          <beat-type>4</beat-type>
        </time>
        <staves>1</staves>
        <clef number="1">
          <sign>C</sign>
          <line>3</line>
        </clef>
      </attributes>
      <note>
        <pitch>
          <step>F</step>
          <octave>3</octave>
        </pitch>
        <duration>16</duration>
        <voice>1</voice>
        <type>whole</type>
        <stem>up</stem>
        <staff>1</staff>
      </note>
      <barline location="right">
        <bar-style>light-heavy</bar-style>
      </barline>
    </measure>
  </part>
  <part id="P4">
    <measure number="1">
      <attributes>
        <divisions>4</divisions>
        <key number="1">
          <fifths>0</fifths>
          <mode>none</mode>
        </key>
        <time>
          <beats>4</beats>
          <beat-type>4</beat-type>
        </time>
        <staves>1</staves>
        <clef number="1">
          <sign>F</sign>
          <line>4</line>
        </clef>
      </attributes>
      <note>
        <pitch>
          <step>F</step>
          <octave>2</octave>
        </pitch>
        <duration>16</duration>
        <voice>1</voice>
        <type>whole</type>
        <stem>up</stem>
        <staff>1</staff>
      </note>
      <barline location="right">
        <bar-style>light-heavy</bar-style>
	<fermata type="inverted"/>
      </barline>
    </measure>
  </part>
</score-partwise>

The above MusicXML file containing <fermata> as a child of <barline> renders as:

Screenshot 2023-10-18 at 7 00 57 PM

in Musescore 4.1.1. There should be a fermata above the top staff on the ending barline, and a fermata below the bottom staff on the ending barline as well.

Prior art

Finale 27.2.0 renders the same MusicXML example data as expected:

Screenshot 2023-10-18 at 3 25 03 PM

Additional context

No response

@muse-bot muse-bot added the feature request Used to suggest improvements or new capabilities label Oct 19, 2023
@craigsapp
Copy link
Author

Also note that <fermata> can occur twice as a child of <barline> (https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/barline). This is to allow for a fermata both above and below a barline at the same time.

Click to view MusicXML data with two fermatas on barline
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.1">
  <work>
    <work-title>Untitled Project 2</work-title>
  </work>
  <movement-title>Flow 1</movement-title>
  <identification>
    <encoding>
      <software>Dorico 4.0.31.1060</software>
      <encoding-date>2023-10-18</encoding-date>
    </encoding>
  </identification>
  <part-list>
    <score-part id="P1">
      <part-name>Violin I</part-name>
    </score-part>
  </part-list>
  <part id="P1">
    <measure number="1">
      <attributes>
        <divisions>4</divisions>
        <key number="1">
          <fifths>0</fifths>
          <mode>none</mode>
        </key>
        <time>
          <beats>4</beats>
          <beat-type>4</beat-type>
        </time>
        <staves>1</staves>
        <clef number="1">
          <sign>G</sign>
          <line>2</line>
        </clef>
      </attributes>
      <note>
        <pitch>
          <step>A</step>
          <octave>4</octave>
        </pitch>
        <duration>16</duration>
        <voice>1</voice>
        <type>whole</type>
        <stem>up</stem>
        <staff>1</staff>
      </note>
      <barline location="right">
        <bar-style>light-heavy</bar-style>
	<fermata type="upright"/>
	<fermata type="inverted"/>
      </barline>
    </measure>
  </part>
</score-partwise>

Rendering in Finale 27:

Screenshot 2023-10-24 at 12 17 44

@Jojo-Schmitz
Copy link
Contributor

See #20915, port of #20213 to 4.2.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Used to suggest improvements or new capabilities MusicXML
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants