can you please post one of the song files that throw the error you describe above? Just put it in a zip file and drag it to the post edit box.
I suspect that your songs still have the “main keyboard” MIDI port referenced in some of their routes. Important note: deleting or renaming a port in your MIDI i/o settings doesn’t automatically remove/rename it in your songs if they have been created while the “Main Keyboard” port still existed. If I can take a look at your song files, I can check if this is the case.
The I/O settings don’t get changed by your song - they are, as you describe, global settings. But: your song files probably still reference the “Main Keyboard” port either in their routes or their bindings. When you look at some of the routes (maybe only in some song states) or bindings, you’ll see that they have an undefined source or target port. That is because the song was created using the “Main Keyboard” port - and this port name was then explicitly written into the song file. Now when opening (or verifying) this file, Cantabile will try to connect the routes, but will not find the port “Main Keyboard” (because you have removed it) and the verify process will throw the error you describe.
So don’t look into the I/O settings - they’ll stay the same regardless of the song you are loading. Check the actual routing and bindings of the song for any “undefined” input or output ports. Once you fix those in the actual song files, the errors will go away.
A general rule: you should try to name your MIDI ports as generically as possible - I’d strongly advise against naming them specifically according to your hardware. This may confuse the heck out of you if you change your hardware setup.
Rather use generic port names based on purpose rather than based on hardware, like “Main Keyboard”, “Second Keyboard” or “Guitar Midi Interface”. Note that this port name will be part of all the songs you create using this MIDI port.
That’s why I’d recommend keeping it generic and hardware-neutral - if in one year you buy a new audio/MIDI interface and then rename your ports, all your songs will be “stranded” (unless you revert to “Aliases”, but I would consider that an emergency fix, but not a good solution).
If you use a generic name like “guitar midi interface” (and then connect it in the I/O settings to your actual MIDI interface), changing your hardware is easy without having to change anything in your songs.