Instrument editor

Hi

I’m trying to create new instruments. I’ve created a new instrument from an existing one, changed the picker name, edited the label name and saved as… (star). The instrument appears in the instrument library, but not in the instrument picker. What am I doing wrong?
By the way, how to I change the language for an instrument?
Cheers,
Québ


Capture d’écran, le 2023-05-26 à 21.06.33

2 Likes

It seems you can’t browse for custom instruments. A bug most likely. But if you search for it, it will appear.

1 Like

Thanks Craig, but unfortunatly it neither shows up on a search

1 Like

At the moment, the instrument editor only shows and allows you to edit the instrument names in English, which is not very helpful when using another language: it is meant to show you the names using the language that is currently chosen in the Language page of Engraving Options. This is something we will address as soon as possible.

4 Likes

Hi Daniel,
I don’t know if something is bugged, but I’ve tried to change my preferences to instrument names in English just to check it out and the instrument picker still shows the instrument in French. I didn’t try with a blank project though.
Even though I create an new instrument from an original that has English as it’s reference language (with French chosen by default, some instruments are stuck with English as a reference, even if the name is actually translated), it won’t appear in the instrument picker.

I’m also having trouble with the instrument editor. It is very buggy. Here’s an example:

Create a new instrument “VST Test” based on existing “Synthesizer”.

I must then immediately hit OK in the editor to save the instrument. If I try to Edit Staff Labels and then click ok within that dialog box, everything is cleared. This then screws things up with the instrument so I have to delete it entirely.

I finally managed to get my VST Test instrument setup but when I add it to the score I get the staff label of “Synthesizer Copy” rather than VST Test which was setup in the instrument definition.

So far, I have no confidence in using this editor and creating new instruments.

I watched the Anthony Hughes video and he is not having any of the problems I’m having. It works exactly as I would expect.

I did a reinstall of Dorico 5 and the first time I tried to add a custom instrument everything worked fine. The second time it didn’t i.e. closing the Edit Staff Label dialog cleared everything.

I’m on an Apple Studio Max 64GB and am running the Noteperformer template (with NP4).

EDIT: Looks like everything is working now. I still don’t trust it though. There is a bug somewhere.

There are certainly some glitches in the instrument editor at present, several of which we have fixes queued up for, and we will get those fixes into your hands as soon as possible.

4 Likes

Is the Instrument Editor currently set to handle instruments with octave transpositions that maintain them in both concert and transposed layouts (like piccolo or double bass)? I have been working to create a Bass Dulcimer, which transposes at the octave, and seem to be unable to give it the same transposition in both concert and transposed fields.

I can try to set both fields to C3, but the lower field switches to C2 when I confirm the field. Sometimes on returning to this definition, the lower field has switched to C-1.

bassDulcimerInstruDef

There’s a problem with octave transpositions, as you’ve found. This too is fixed in our internal builds and the fix will be included in the first maintenance release, when it arrives.

6 Likes

Hi, I am on Mac M1 Ventura and the instrument editor crash Dorico very frequently, only sometimes by selecting an instrument. I am too afraid to use it now. All my crash reports have been sent automatically to Steinberg : hopefully you will find the bug.

Edit : I cannot delete the instrument variants I created, either the Bin icon does not light up or when it is available and I can click it it just add an “*” to the name but no do delete it. I am afraid to say but it seems the instrument editor was not ready for release : either bugs or a behaviour which has to be clearly explained. To be frank, a bit disappointed.

It would be helpful if you would please do Help > Create Diagnostic Report and upload the resulting zip file here so we can ensure that the crashes you’ve experienced are ones that are already on our radar. I’m sorry for the inconvenience caused.

I am trying to understand what is supposed to happen if you edit an instrument by adding extra lines to its staff – in particular, how the existing clef relates to the lines of the expanded staff. There must be something in the manual about this, but I can’t find anything about the Edit Instrument dialog. Can anyone point me to the relevant page please?

At the moment, there is no control over how the clefs display with extra lines. This is a notable deficiency that, I have no doubt, will be remedied in due course.

1 Like

It’s a bit of a pain and there’s no documentation, but it’s not terribly difficult to add additional clefs with a doricolib file. The catch is I haven’t found a way to create a custom key signature for a clef designed for an unusual number of staff lines. If you just need a clef for C or open key, it’s not that hard to create one though.

What exactly are you looking for? It’s possible I might have a similar clef created already, or can quickly come up with one.

Thanks. I was idly wondering whether it would be possible to have a single staff of 11 equally spaced lines from G2 to F5 (middle C being C4), i.e. basically a grand staff without the gap in the middle. The obvious clef for such a monster staff would be the alto – and oddly enough it was by visualising such a thing that I learned the alto clef when I started playing the viola!

I was thinking of it as a possible workaround for the fact that, when you input chords with a MIDI keyboard, Dorico puts notes of middle C or above in the treble staff even if they are the tenor voice. Of course you can move them to the bass staff manually, but I thought it might be less trouble to have them all in a single staff. I know, it’s a weird idea – I just wanted to try it out. But I couldn’t get the alto clef to stay centred on middle C after I added the extra lines. (A further snag is that you can’t have a staff of more than 10 lines, whereas everyone knows it’s better if you can go up to 11 …) And I still don’t know where the manual deals with this. [EDIT: @FredGUnn, when you say there is no documentation, do you mean for the change-number-of-staff-lines feature? Surely there must be something on the Edit Instruments dialog in the manual?]

Ok, here you go:
MonsterStaff.zip (1.5 KB)

Unzip the file and copy the doricolib file to your user DefaultLibraryAdditions folder. In Windows this lives at Users\yournamehere\AppData\Roaming\Steinberg\Dorico 5\DefaultLibraryAdditions. You can search the forum for where it lives on Mac. If you don’t have that folder, go ahead and create it.

Once installed, start or restart Dorico. When you go to Setup, you’ll now see a Custom category with your Monster Staff option, containing your 11-line staff.

The clef is already defined for the instrument, but is also available under Uncommon Clefs:

Once you add the instrument, you’ll have an 11-line staff with G2 at the bottom, C4 in the middle, and F5 at the top.

I’ll be in transit most of the day, so won’t be checking back in much, but hopefully it works for you! I’ve pasted the code under the spoiler tag below as well.

Monster Staff doricolib
<?xml version="1.0" encoding="utf-8"?>
<kScoreLibrary>
	<instruments>
		<entities array="true">
			<InstrumentEntityDefinition>
				<name>Monster Staff</name>
				<entityID>instrument.generic.monster</entityID>
				<parentEntityID>instrument.keyboard.piano</parentEntityID>
				<inheritanceMask>0</inheritanceMask>
				<nameID>instrumentname.generic.monster</nameID>
				<numStaves>1</numStaves>
				<musicXMLSoundID>keyboard.piano</musicXMLSoundID>
				<numberingStyle>kDummy</numberingStyle>
				<showGuitarChords>false</showGuitarChords>
				<showChordSymbols>false</showChordSymbols>
				<staveDefinition>
					<numStaveLines>11</numStaveLines>
					<barlineSpan>5</barlineSpan>
					<bracketSpan>1</bracketSpan>
					<useBrace>false</useBrace>
					<isVocalStave>false</isVocalStave>
					<defaultContextualStemDirectionIsUp>false</defaultContextualStemDirectionIsUp>
				</staveDefinition>
				<clefs>
					<clefIDsForEachStave array="true">
						<staveClefIDs>
							<idForTransposingLayouts>clef.monster</idForTransposingLayouts>
						</staveClefIDs>
					</clefIDsForEachStave>
				</clefs>
				<pitchedInstrumentData>
					<standardRange>C0-G7</standardRange>
					<advancedRange>C0-G7</advancedRange>
					<concertOctaveTransposition>0</concertOctaveTransposition>
					<transposedChromaticTransposition>0</transposedChromaticTransposition>
					<transposedDiatonicTransposition>0</transposedDiatonicTransposition>
					<useKeySignatures>false</useKeySignatures>
					<showTransposition>kFollowOptions</showTransposition>
				</pitchedInstrumentData>
				<playingTechniques array="true">
					<playingTechnique>
						<techniqueID>pt.natural</techniqueID>
					</playingTechnique>
				</playingTechniques>
			</InstrumentEntityDefinition>
		</entities>	
	</instruments>
	<instrumentNames>
		<entities array="true">
			<InstrumentNameEntityDefinition>
				<entityID>instrumentname.generic.monster</entityID>
				<name>Monster Staff</name>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<data>
					<uiName>Monster Staff</uiName>
					<singularFullName>Monster</singularFullName>
					<singularShortName>Mon.</singularShortName>
					<pluralFullName>Monster</pluralFullName>
					<pluralShortName>Mon.</pluralShortName>
					<gender>kNeutral</gender>
					<language>kEnglish</language>
				</data>
			</InstrumentNameEntityDefinition>
		</entities>
	</instrumentNames>
	<instrumentFamilies>
		<entities array="true">
			<InstrumentFamilyEntityDefinition>
				<entityID>instrument family.custom</entityID>
				<name>Custom</name>
				<order>13</order>
				<parentEntityID/>
				<inheritanceMask>0x0</inheritanceMask>
				<instrumentDefinitionIDs> instrument.generic.monster
				</instrumentDefinitionIDs>
			</InstrumentFamilyEntityDefinition>
		</entities>
	</instrumentFamilies>
	<clefDefinitions>
		<entities array="true">
			<ClefEntityDefinition>
				<name>Monster Clef</name>
				<entityID>clef.monster</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<basicClefType>kCClef</basicClefType>
				<clefTranspositionReminder>0</clefTranspositionReminder>
				<compositeID>comp.cClefMonster</compositeID>
				<clefCategory>kUncommon</clefCategory>
				<clefDefinition>
					<isPitched>true</isPitched>
					<requiredNumStaveLines>11</requiredNumStaveLines>
					<staveIndexFromBottomLine>10</staveIndexFromBottomLine>
					<hotSpot>
						<noteName>C</noteName>
						<octave>4</octave>
						<transposedOctave>4</transposedOctave>
					</hotSpot>
				</clefDefinition>
			</ClefEntityDefinition>
		</entities>
	</clefDefinitions>
	<glyphDefinitions>
		<entities array="true">
			<GlyphPrimitiveEntityDefinition>
				<name>cClefMonster</name>
				<entityID>glyph.cClefMonster</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<codePoint>0xE05C</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>Monster C Clef</name>
				<entityID>comp.cClefMonster</entityID>
				<parentEntityID/>
				<inheritanceMask>0</inheritanceMask>
				<category>kClef</category>
				<components array="true">
					<component>
						<componentId>glyph.cClefMonster</componentId>
						<componentType>kGlyph</componentType>
						<xOffset>0</xOffset>
						<yOffset>15</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

Thank you very much! This works fine. I can’t figure out how it works, but I won’t ask you to explain. Not only would it be a bit of a cheek, but I don’t think Daniel would approve!

1 Like

Great, glad it works! Basically if you look at your userlibrary.xml file, or any exported Expression Map, or Page Template Set, etc., you can see a lot of different categories of information that can be exported, imported, or edited. There’s obviously no documentation for editing doricolib files, and Daniel doesn’t really approve, but there’s a lot of ability to customize the user experience or hack in your own feature requests. You can search the forum for doricolib, but there are a bunch of us who have tried to figure out ways they can be used to solve various problems that aren’t otherwise available though the Dorico interface, like this one.

1 Like

But only if you extend the caret to both staves, right? You don’t have to do that.

Yes, but I don’t want to enter the notes one staff at a time. I want to enter 4-note chords and have them split between the staves — ideally by voices (SA in treble, TB in bass), but I gather Dorico won’t do this automatically. Having tried the monster clef I quite like it: to me it seems less confusing than having the tenor voice popping up in the treble staff whenever it gets as high as middle C. And it’s less trouble than finding these rogue tenor notes and moving them manually. There’s probably an easier way, but I haven’t found it yet.