Specialized Staff/Staves: 2-, 3-, 4-line staff?

to clarify, can dorico now write on a four-line staff? it seems obvious that the feature would allow it, but i just havent seen any pictures proving it, and i want to check.

disregard previous question, just installed the free trial.

i just created a 4-line staff, but the clef is no longer attached correctly to the staff. the image is “centered” on the staff, but not practically centered on a line. I would prefer the G-line to be the second from the bottom, and I think that should be customizable, but the way it is now is not even usable.
image
has this bug been fixed or is there a workaround?

The ability to alter the number of staff lines is a new feature, but it is not fully-fleshed out yet. (We really need a clef editor.)

You can theoretically get around this IF you don’t have anything else in the score that uses treble clef. You could alter the glyph to attach differently, or use a different clef and change its glyph.

But ultimately, we cannot fix this in any proper sense yet.

One alternative is to use another program that lets you define such things, and import that instrument into a dorico project via xml.

1 Like

thanks,
unfortunately, even when i fix it up in finale and import it to dorico as xml, the same issue persists.

i guess i wont be upgrading to v5 yet.

Huh. That surprises me. I believe that @FredGUnn might have some advice in this department. I believe he has some experience editing instrument definitions.

1 Like

In D5, it’s certainly easy to create staves with whatever number of staff lines you want, except 0. The catch is that there’s no Clef Designer, so there’s no way through the interface to specify the positioning of the clef and definition of the staff lines and spaces.

Welcome to the world of doricolib files! Doricolib files are unsupported and undocumented ways to do all sorts of things, including add or redefine clefs. As they are unsupported, there’s no guarantee they will work in the future, but here are treble clefs I had made for 3 and 4 line staves that work in 5.0.2 anyway.
Treble Clefs for 3 and 4-Line Staves.zip (1.0 KB)

We can’t post doricolib files directly in the forum, so the the file is zipped above. Download the zip file, unzip it, and copy the doricolib file to your DefaultLibraryAdditions folder. In Windows this lives at Users\yournamehere\AppData\Roaming\Steinberg\Dorico 5\DefaultLibraryAdditions. Just search the forum for the Mac location if you need it. If the folder doesn’t exist, go ahead and create it.

Once correctly installed, start Dorico. You’ll now have 2 more clefs in the Uncommon category:
uncommon

When applied to 3 or 4 line staves, you’ll get this, where the notated note is middle C:
clefs

If that’s not how you want them defined, feel free to tweak the file to get the results you want, or use it as a template to add additional clefs for additional number of staff lines etc. Hopefully that helps!

doricolib code for these clefs
<?xml version="1.0" encoding="utf-8"?>
<kScoreLibrary>
	<clefDefinitions>
		<entities array="true">
			<ClefEntityDefinition>
				<name>Treble Clef for 3-Line</name>
				<entityID>clef.treble3</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<basicClefType>kGClef</basicClefType>
				<clefTranspositionReminder>0</clefTranspositionReminder>
				<compositeID>comp.3LineGClef</compositeID>
				<clefCategory>kUncommon</clefCategory>
				<clefChangeCompositeID>comp.3LineGClefSmall</clefChangeCompositeID>
				<clefDefinition>
					<isPitched>true</isPitched>
					<requiredNumStaveLines>3</requiredNumStaveLines>
					<staveIndexFromBottomLine>0</staveIndexFromBottomLine>
					<hotSpot>
						<noteName>G</noteName>
						<octave>4</octave>
					</hotSpot>
				</clefDefinition>
			</ClefEntityDefinition>
			<ClefEntityDefinition>
				<name>Treble Clef for 4-Line</name>
				<entityID>clef.treble4</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<basicClefType>kGClef</basicClefType>
				<clefTranspositionReminder>0</clefTranspositionReminder>
				<compositeID>comp.4LineGClef</compositeID>
				<clefCategory>kUncommon</clefCategory>
				<clefChangeCompositeID>comp.4LineGClefSmall</clefChangeCompositeID>
				<clefDefinition>
					<isPitched>true</isPitched>
					<requiredNumStaveLines>4</requiredNumStaveLines>
					<staveIndexFromBottomLine>2</staveIndexFromBottomLine>
					<hotSpot>
						<noteName>G</noteName>
						<octave>4</octave>
					</hotSpot>
				</clefDefinition>
			</ClefEntityDefinition>
		</entities>	
	</clefDefinitions>
	<glyphDefinitions>
		<entities array="true">
			<GlyphPrimitiveEntityDefinition>
				<name>3LineGClef</name>
				<entityID>glyph.3LineGClef</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<codePoint>0xE050</codePoint>
				<isSmufl>true</isSmufl>
				<alternateForGlyph/>
				<fontStyle>font.defaultmusic</fontStyle>
				<pointSize>1</pointSize>
				<rotation>0</rotation>
				<colour>kDefault</colour>
			</GlyphPrimitiveEntityDefinition>
			<GlyphPrimitiveEntityDefinition>
				<name>3LineGClefSmall</name>
				<entityID>glyph.3LineGClefSmall</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<codePoint>0xF472</codePoint>
				<isSmufl>true</isSmufl>
				<alternateForGlyph/>
				<fontStyle>font.defaultmusic</fontStyle>
				<pointSize>1</pointSize>
				<rotation>0</rotation>
				<colour>kDefault</colour>
			</GlyphPrimitiveEntityDefinition>
			<GlyphPrimitiveEntityDefinition>
				<name>4LineGClef</name>
				<entityID>glyph.4LineGClef</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<codePoint>0xE050</codePoint>
				<isSmufl>true</isSmufl>
				<alternateForGlyph/>
				<fontStyle>font.defaultmusic</fontStyle>
				<pointSize>1</pointSize>
				<rotation>0</rotation>
				<colour>kDefault</colour>
			</GlyphPrimitiveEntityDefinition>
			<GlyphPrimitiveEntityDefinition>
				<name>4LineGClefSmall</name>
				<entityID>glyph.4LineGClefSmall</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<codePoint>0xF472</codePoint>
				<isSmufl>true</isSmufl>
				<alternateForGlyph/>
				<fontStyle>font.defaultmusic</fontStyle>
				<pointSize>1</pointSize>
				<rotation>0</rotation>
				<colour>kDefault</colour>
			</GlyphPrimitiveEntityDefinition>
		</entities>
	</glyphDefinitions>
	<compositeDefinitions>
		<entities array="true">
			<CompositeDefinition>
				<name>Treble Clef for 3-Line</name>
				<entityID>comp.3LineGClef</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<category>kClef</category>
				<components array="true">
					<component>
						<componentId>glyph.3LineGClef</componentId>
						<componentType>kGlyph</componentType>
						<xOffset>0</xOffset>
						<yOffset>-5</yOffset>
						<xScale>100.000000</xScale>
						<yScale>100.000000</yScale>
						<zOrder>0</zOrder>
						<maxOpticalScale>100</maxOpticalScale>
						<componentInstance>0</componentInstance>
						<colour>kDefault</colour>
					</component>
				</components>
				<relativeAttachments array="true"/>
				<scalingRules array="true"/>
			</CompositeDefinition>
			<CompositeDefinition>
				<name>Treble Clef for 3-Line (small)</name>
				<entityID>comp.3LineGClefSmall</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<category>kClef</category>
				<components array="true">
					<component>
						<componentId>glyph.3LineGClefSmall</componentId>
						<componentType>kGlyph</componentType>
						<xOffset>0</xOffset>
						<yOffset>-7.5</yOffset>
						<xScale>100.000000</xScale>
						<yScale>100.000000</yScale>
						<zOrder>0</zOrder>
						<maxOpticalScale>100</maxOpticalScale>
						<componentInstance>0</componentInstance>
						<colour>kDefault</colour>
					</component>
				</components>
				<relativeAttachments array="true"/>
				<scalingRules array="true"/>
			</CompositeDefinition>
			<CompositeDefinition>
				<name>Treble Clef for 4-Line</name>
				<entityID>comp.4LineGClef</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<category>kClef</category>
				<components array="true">
					<component>
						<componentId>glyph.4LineGClef</componentId>
						<componentType>kGlyph</componentType>
						<xOffset>0</xOffset>
						<yOffset>-2.5</yOffset>
						<xScale>100.000000</xScale>
						<yScale>100.000000</yScale>
						<zOrder>0</zOrder>
						<maxOpticalScale>100</maxOpticalScale>
						<componentInstance>0</componentInstance>
						<colour>kDefault</colour>
					</component>
				</components>
				<relativeAttachments array="true"/>
				<scalingRules array="true"/>
			</CompositeDefinition>
			<CompositeDefinition>
				<name>Treble Clef for 4-Line (small)</name>
				<entityID>comp.4LineGClefSmall</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<category>kClef</category>
				<components array="true">
					<component>
						<componentId>glyph.4LineGClefSmall</componentId>
						<componentType>kGlyph</componentType>
						<xOffset>0</xOffset>
						<yOffset>-4</yOffset>
						<xScale>100.000000</xScale>
						<yScale>100.000000</yScale>
						<zOrder>0</zOrder>
						<maxOpticalScale>100</maxOpticalScale>
						<componentInstance>0</componentInstance>
						<colour>kDefault</colour>
					</component>
				</components>
				<relativeAttachments array="true"/>
				<scalingRules array="true"/>
			</CompositeDefinition>
		</entities>
	</compositeDefinitions>
</kScoreLibrary>
3 Likes

that works great, thanks!

though now i have the problem that no key signatures will display.

AFAIK, there’s no way to custom configure key sigs with these yet. I assume a full featured clef and/or a staff designer will eventually be implemented, but this is all we have to work with for now.

1 Like