Is there a way to set Program Change from MIDIs to open my instruments?

I download a lot of MIDIs as a great learning tool to learn Cubase and all the instruments I have. And Cubase is great at opening MIDIs, even some that are decades old, because it can read all the MIDI data that at least Logic can’t. I don’t know about other DAWs, as those are the only two I have.

However, every time I open a new MIDI, there’s a long and tedious process of going track by track and replacing each instrument from the basic GM set by the Program Change to my version. That may take somewhere between half an hour to several hours depending on the MIDI.

So I wonder if there’s a way, via a script, plugin, or whatever, to set Cubase to open MIDIs differently, in a way that is user customized, so for example, when I open a MIDI with 50 tracks that are a full orchestra, instead of replacing the Violins I track GM instance with OT Berlin Strings Violins I, then go to Violins II, then Violas, then Cellos, then Basses and so on, I can have a script that when the program change says violins, it will not load the GM violins, but Berlin Strings Violins I, or when it says Trombone, it will load the one from Berlin Brass, not the GM version.

Is this doable?

The only option I know of in Cubase is in the preferences
but you won’t be able to do what you want

Dorico and Sibelius have intelligent functions to import midi tracks onto instrument tracks
I don’t think this exists in Cubase but it would be a good option

Create a project template? Not a perfect solution, but might be better than nothing.

Does Dorico Elements have this function, or just the pro version? And if it does, can it export straight to Cubase, or save as a Cubase project?

Dorico Pro is $600, but Elements is $100, that’s something I would spend if it saved me a lot of time.

You mean opening that template, importing the MIDI, then dragging each MIDI part onto the proper track? That’s a good idea, thanks!