f57e24ad-65cd-40ed-9efa-00734bc73248.zip (23.8 KB)
Are you automatically loading a gig file when you start Gig Performer?
He’s got some GP Script with functions timers running, probably starting too early - there’s a reference to a function generator being accessed before it’s ready
Yes, the last-used gig is automatically reloaded.
Yup. As per this topic: How to detect and act on only the final value of a widget knob twist
When you disable that automatic load, start Gig Performer and load the gig file manually, what happens?
When you disable that automatic load, start Gig Performer and load the gig file manually
As GP is now crashing on every startup, how should I accomplish that?
Please activate this dialog and uncheck loading last gig file.
Thanks!
So, after merely disabling the automatic load, GP still crashed when I did a manual load.
So, next I tried also turning off ‘Run GP Scripts automatically’, like so
and in this case I was then able to load the gig manually without an immediate crash.
Here is the gig file, in case that helps.
SJ_grMFP_KMo_3-Synth_Helix_08b.zip (1.7 MB)
Are you starting a timer on an initialization section?
I believe that the only place I’m using a timer (TriggerOneShotRamp) is to manage the knob twist as mentioned above. That call is here:
// Act on change of connected widget used for Program (PC) choice
On ParameterValueChanged matching ProgramChangeNumber
//PC_Num = ProgramChangeNumber - 1 // this adjusts from 1-128 down to 0- 127
PC_Num = ProgramChangeNumber // leave along the parameter’s defined range of 0 - 127
// If in the "neutral" state, start a new Ramp to wait for
if ( !Waiting_For_Ramp ) then
Ramp_Start_Time = TimeSinceStartup()
TriggerOneShotRamp(MyRamp, SnapShot_Time_ms, 10)
//Print( "Ramp Started: " + Ramp_Start_Time + " SnapShot_Time_ms: " + SnapShot_Time_ms )
Waiting_For_Ramp = True
end
End
not in the Initialization or Activate sections:
initialization
Bank_Num = BankNumber - 1
PC_Num = ProgramChangeNumber - 1
Send_BanKPCBOth = 3
SendOnBankChange = 1
end
On Activate
Bank_Num = BankNumber - 1
PC_Num = ProgramChangeNumber - 1
SendBankAndPC( Send_BanKPCBOth, Bank_Num, PC_Num )
Last_Bank_Sent = Bank_Num
Last_PC_Sent = PC_Num
end
So, I think the answer to the question is “No”, but I hesitate to say that with 100% confidence at this point.
It is the case though that ramp functions are being called during the course of loading the Gig.
The Patch knob widget is connected to a script which sends MIDI to the device to set the correct patch (to match the widget setting).
So, it’s not in the Initialization section (per se), but it is happening during the “initialization” of the gig.



