So given the lack of traffic in this forum, I figured there was no point waiting, plus a major storm knocked out my internet for almost 4 days (aside from hot-spotting to my phone which only gets 1-2 bars of signal at best at my house) so I leapt in and built one.
Here's where I've got to. I haven't actually tested this yet as I need to get my guitarist's device to perform functional testing, but in theory it looks correct (famous last words). I'll come back and update it if and when testing uncovers any issues.
The other guitarist in my band has a Line 6 Helix LT so I'm sure it won't be long before I'm being asked to automate patch changes for that as well and I'll be back creating another instrument definition!
Lessons Learnt:
Controller Names have a maximum length else they will not show up in the Event List. I don't know what that exact max. character limit is, but the longest I have is 36 characters so it will only be a few above that. To make it more fun, you can import a definition with longer controller names (i.e. no data validation on import), and when you go into the Instrument Definitions in Cakewalk/Sonar, and edit the controller names via the UI, there is also no validation (i.e. you can make them as long as you like).
I started crafting my definition file by hand, but patch names would not import and I couldn't work out why, so I worked backwards, created a few patches in each bank in the Ins. Def. UI, and then exported to see what I was doing wrong. The dumb mistake I made was that even though in the .Patch Names section of the file, the patch 'header' has square brackets around it (e.g. [Hotone Ampero II Stage Patch A01-1 to A26-3]), when you reference them down in the .Instrument Definitions section, you do NOT use square brackets (e.g. Patch[1]=Hotone Ampero II Stage Patch A26-4 to A52-1).
Change Log:
31 Jan 2025 - Correct typo on Controller 65 (error should not affect functionality)
23 Jan 2025 - Fixed many of the controller names being too long to display in Sonar
Hotone Ampero II Stage - generic.ins