Ah, thanks, Paul, but it’s been decades since I last used gdb. Would love to relearn that again and I will definitely look through that info, but I don’t think it will help me since I don’t have a shuttlepro 2 and I can’t make it crash like Lauren is having. I was hoping the debug messages would give me a clue but I may be at a brick wall. Trying to look through the code to see what might be going on. Stepping through would help a lot to at least understand the flow quicker… used to love MS Studio and it’s integrated debugger.
But I’m also seeing a lot of weird behavior in this dialog box, which is making me think this dialog needs a lot more attention than just this crash. It seems to replace items I’ve selected rather than add to the list, and then it will randomly add an item for some reason. Example:
I select and make my Kurzweil controller active. It shows up on the list in the active box. Fine so far.
I select another device at random, say a Korg nanoKONTROLER, and it will replace my controller with this one. Then I’ll select another one, and it will replace the Korg, still only one device in the active list. I’ll do that several times, each time replacing the one active controller with the new one, and then all of a sudden it will add the new controller to the list. No idea why or what was different on that selection.
So I select another one and it replaces one of the two in the list. Usually the last one added, and then I can repeat this pattern over and over till eventually I have more controllers, but it’s just randomly replacing them and adding them at will.
Not sure what to think about that, but this could be part of the issue with pointers to the control surface selection list being confused and if you actually have an active one with a device on it, it may be trying to access some other device it thinks was there but is actually null now. My guess at Lauren’s crash would be that the list isn’t being managed as expected and it’s referencing a null pointer, possibly because it’s the third one in the list.
And just for awareness and before you ask, after messing with it before, I rebuilt Ardour from the tarball so it was clean and the only change is that one line scale factor. I haven’t updated the source from git ardour is fine with one controller. I should be in line with your code unless you submitted more changes into git related to this dialog.
Lauren,
If you get a chance, can you disconnect the other two controllers you have and run a test with only the ShuttlePRO 2 connected? I’m curious if it will work by itself as the only controller in the list.
