Can I save a custom instrument?

The place for beginner Finale users. ("How do I...")

Moderators: Peter Thomsen, miker

sleepfacingwest
Posts: 5
Joined: Fri May 31, 2019 6:24 am
Finale Version: 25.5.0.259
Operating System: Mac

Post by sleepfacingwest » Fri May 31, 2019 6:59 am

Is there a way to save custom edits to an extant instrument or add a new one to the instrument list? I can go into the 'score manager' to change the full and abbreviated name of instruments (or create new ones), the default clef, the MIDI sound patch, and the transposition, but I'd like to save this as a new addition so I can simply select the instrument from a list when setting up scores instead of having to manually change everything every time. I realize I can save a template, but this only really helps when I want to use the exact same ensemble. I want to be able to drop this custom instrument into any context in the future without having to waste the time of doing the same repetitive tasks over and over again.

Ideally I'd also be able to set the playable range of the instrument so I can take advantage of the yellow notehead range-warnings, but I won't get greedy.

I found an old post from 2011 about this and the people suggest editing 'instrument.txt' found in the configuration files or component files (there was some disagreement of where it actually was), but I think things have changed since the as I haven't been able to find the file they mentioned. (the message board won't let me post the URL for the relevant discussion). The closest I could find was an ensemble list in library/application support/MakeMusic/Finale/Configuration Files/ensembles.txt. I took a look at it and I'm pretty sure that isn't it.

Computer: Late 2012 Mac Mini Server
Operating System: OS 10.13.6 High Sierra
Finale Version: 25.5.0.259


User avatar
motet
Posts: 8226
Joined: Tue Dec 06, 2016 8:33 pm
Finale Version: 2014.5,2011,2005,27
Operating System: Windows

Post by motet » Fri May 31, 2019 4:36 pm

Probably the most straight-forward thing to do is to make a template with your custom instruments. Hacking whatever file Finale uses for its instrument list seems like buying trouble.

User avatar
zuill
Posts: 4418
Joined: Sat Dec 10, 2016 9:35 pm
Finale Version: Finale 2011-v26.3.1
Operating System: Windows

Post by zuill » Fri May 31, 2019 6:27 pm

The format introduced in Finale 2012 uses a file called Finale.Instruments. As far as I know, it's not editable.

Zuill
Windows 10, Finale 2011-v26.3.1
"When all is said and done, more is said than done."

sleepfacingwest
Posts: 5
Joined: Fri May 31, 2019 6:24 am
Finale Version: 25.5.0.259
Operating System: Mac

Post by sleepfacingwest » Sat Jun 01, 2019 4:32 am

zuill wrote:The format introduced in Finale 2012 uses a file called Finale.Instruments. As far as I know, it's not editable.
Zuill
Crap. I took a look at the file with all the various resources I have and nothing made it look obviously editable. This one might be a lost cause :cry:

User avatar
motet
Posts: 8226
Joined: Tue Dec 06, 2016 8:33 pm
Finale Version: 2014.5,2011,2005,27
Operating System: Windows

Post by motet » Sat Jun 01, 2019 6:07 am

Finale.instruments is an SQLite database. There are Firefox plug-ins that can read and write SQLite databases.

User avatar
motet
Posts: 8226
Joined: Tue Dec 06, 2016 8:33 pm
Finale Version: 2014.5,2011,2005,27
Operating System: Windows

Post by motet » Sat Jun 01, 2019 6:47 am

I was able to open the file with the Firefox -lug-in and look at it. These tables are probably of interest to you:

Code: Select all

CREATE TABLE instruments (
		instrument_id INTEGER PRIMARY KEY AUTOINCREMENT,
		instrument_uuid TEXT UNIQUE,
		instrument_name TEXT,
		staff_style TEXT,
		number_style TEXT,
		bracket TEXT,
		notation_style TEXT,
		default_instrument_uuid TEXT,
		clef_1 TEXT,
		clef_2 TEXT,
		clef_3 TEXT,
		transclef TEXT,
		usekeysigs INTEGER,
		transposition INTEGER,
		fret_instrument TEXT,
		percussion_note INTEGER,
		percussion_layout TEXT,
		other_attributes TEXT,
		FOREIGN KEY(number_style) REFERENCES autonumber_styles(style_name) ON DELETE CASCADE
	)
CREATE TABLE instrument_ranges (
		low_midi_note INTEGER NOT NULL,
		high_midi_note INTEGER NOT NULL,
		instrument_id INTEGER REFERENCES instruments ON DELETE CASCADE ON UPDATE CASCADE,
		expertise_level TEXT NOT NULL
	)
CREATE TABLE staff_or_group_names (
		instrument_id INTEGER REFERENCES instruments ON DELETE CASCADE ON UPDATE CASCADE,
		locale_id INTEGER REFERENCES locales ON DELETE CASCADE ON UPDATE CASCADE,
		full_name TEXT,
		abbreviated_name TEXT
	)
Here's a section of staff_or_group_names:

Code: Select all

210	1	Trumpet in B^flat()	B^flat() Tpt.
211	1	Trumpet in C	C Tpt.
212	1	Trumpet in D	D Tpt.
213	1	Cornet	Cnt.
214	1	Flugelhorn	Flghn.
215	1	Mellophone	Mello.
216	1	Horn in F	Hn.
217	1	Trombone	Tbn.
Changing it would require that you know and understand SQL and relational databases, though, and as far as I know the database isn't publicly documented, so you might have to guess.

I seem to recall the late Charles Lawrence messing with this on the old forums.

sleepfacingwest
Posts: 5
Joined: Fri May 31, 2019 6:24 am
Finale Version: 25.5.0.259
Operating System: Mac

Post by sleepfacingwest » Sat Jun 01, 2019 10:28 am

motet wrote:Finale.instruments is an SQLite database. There are Firefox plug-ins that can read and write SQLite databases.
HOLY CRAP! This is awesome! I agree with your earlier post that making edits could be sketchy. I'll take a look at this and in the event I decide to try messing with anything, I'll test it out first on a secondary computer before applying anything to my main rig. If I figure anything out I'll update the thread.

Post Reply