On Song Change - Initial Variation Setup Not Working

Gig Performer is fundamentally a performance tool for musicians. It is not intended to be a development environment for programmers. The intent of GP Script was to allow some basic manipulation of widgets, plugins and MIDI and while it has been extended a bit to allow some system control, it is just not not intended to be a deep (“do anything”) language. While we would like to add more functionality beyond just more system function calls, features that make the product itself more usable by non-programmers are generally higher priority. But this is why we also developed the SDK.

The SDK gives a developer arbitrary functionality. You can leverage JUCE or any other GUI tool as well and basically build anything you want. The SDK even lets you create GPScript function interfaces so that functionality developed via the SDK can be invoked from GPScript. E.g, create a GUI library that allows drawing and inject functions into GP so that via GPScript you can draw points, lines, circles, load images, etc.

Since the headers are defined as C externals (not C++), other programming languages such as Python that can call C functions can be used. In fact when we started, we had wrappers so that FPC (Free Pascal Compiler) could be used as well but it didn’t seem worth maintaining.

It is also possible to use tools like MaxMSP (or M4L in Ableton) to interact with Gig Performer via 2-way OSC messaging. In fact when GP was originally developed, we explicitly included OSC support so that existing Max patchers that had been developed during the prototyping days could continue to be leveraged.

Yes, and GPScript allows to close some gaps in functionality to make it a good performance tool. I’m not talking about some arbitrary stuff here like sending text messages.

I tried multiple plugin hosts, none of them did what I needed, but GP had scripting which I thought could help overcome this, that’s partly how I landed here.

I understand that, but the thing is, extensions rely on basically the same set of functions and callbacks as far as I can see, so I thought about them several times and not once found any benefits that would outweigh the effort. There are of course languages and frameworks that are more capable, and GPScript shouldn’t aim to beat them, but those capabilities have little or nothing to do with GP itself. Maybe I’m missing something, but after trying some extensions, looking through their code and the SDK, it’s hard for me to see why bother. :man_shrugging:

You mention JUCE, but that requires to use Xcode on Macs, yet another example of a hurdle.

Don’t get me wrong, it’s great that there’s an SDK, and some people obviously find that useful, so good for them. But the advice to use extensions instead of scripting is certainly not something that is beneficial to everyone (as a matter of fact, I don’t see a single use case where it would be - not that they don’t exist, of course, just not for me).