Hi Jason,
I've planned to make a Qt based editor for Linux for a long time ,and finally, I made (a kind of) test framework in C++ and RTMidi yesterday, where I made all the functionality to send CC's and Program Changes. But I soon realized that I have to send sysex (FX parameters and so on) messages to the Catalyst in order to make the editor usable. And now, I stumbled to this posting where I see you probably have done what's possible without sysex. I just want to share some comments and thoughts here that will probably not be helpful for you at all, but it might be good do see that you are not the only Linux user here.
Even when I used less than a hour to figure how to make some code to test if CC's and program changes work from Linux with C++, I'm by all mean not an C++ expert, and I had a lot of luck. I did my chops in Perl and that was more than 15 years ago, so you can imagine I'm quite rusty.
Today I Installed a midi monitor on my Android tablet and fired up my Catalyst and Line 6's Catalyst Editor. It seems to me that both sides are using sysex entirely and it's just a matter of registering the messages when one use either the amp or the editor and turn knobs and play around. But I'm not sure that's worth the effort. That said, I'm quite disappointed that Line 6 and others do not provide real cross platform editors for their products. I'm quite sure they are using toolkits such as Qt and so on. The share of Linux users on the desktop is around 5% at the moment, not a big number in %, but it's easy to imagine that means a lot of users. Harrison Audio, who makes the Mixbus DAW, said some years ago that their share of Linux users was more that 15%, and now, more and more vendors are doing Linux stuff as well. I really hope Line 6 will do the same.
I tried your editor and I guess that's as good as it gets with an ncurses interface.
I ran into some linking trouble when i ran the make command to compile your code. However, everything worked for me with this command:
gcc-15 -Wall -Wextra -std=c99 -lncurses -lasound ./src/ui.c ./src/midi.c ./src/main.c -o ./build/bin/catalyst
-editor
Thanks for your effort, but I can't help thinking if it's worth it. On the other hand, this issue is itching me all the time and maybe I will do an full blown GUI editor anyway in the future. That said, I'm a Line 6 fanboy and will buy the Helix Stadium within one year, and might be occupied with that one for a long time! :-)
Jostein