Enhanced Patch Persist?

In other words I have to have both the notes and sustain pedal disengaged in order for either CC89 or CC90 to trigger the patch change in the Kronos SetList page.

The sustain pedal needs to be scripted in such a way so that it only sends the CC om it’s own release after notes have been played. At the moment simply pressing the pedal without even playing any notes sends the CC!
I can only use logic to adapt the scripts you have kindly sent me! I have tried to learn scripting but find it pretty confusing!

…At the moment without even playing any notes when I step on the sustain pedal it is sending the CC!
The held notes are still doing their job correctly


Hi Paul, …OK! By inserting filter blocks I now have both UP and DOWN patch changing working independently perfectly with the release of keys.
What I still cant figure out is how to get the sustain pedal to hold the changes until it is released as well…?
As it stands if I play notes and while holding them engage the sustain pedal and keep the sustain pedal held down, when I release the notes the patch still changes! Also with no notes played engaging the sustain pedal changes the patch!
I tried changing the integer to 63 which is the CC number for sustain off but that doesn’t do anything- I’m rather lost at how to adjust the script to get it to work… ?

…am still struggling with this! …notes working fine to hold and release program change… just need the sustain pedal to do the same…?

Hi David & Paul,
Just filmed a quick demonstration of the patch change relaying via sustain pedal…

For me to better understand:

Proceeding with your favorite Rackspace change:

1) play some notes in Rackspace #1 and press the sustain pedal
2) chooses Rackspace #2
3) notes of Rackspace #1 are going on playing
4) releases the sustain pedal
5) Rackspace #2 is selected
6) play some new notes, they are played int Rackspace #2

Then, with GP Patch Persist:

1) play some notes in Rackspace #1 and press the sustain pedal
2) chooses Rackspace #2
3) notes of Rackspace #1 are going on playing
5) Rackspace #2 is selected
4) releases the sustain pedal
6) play some new notes, they are played int Rackspace #2

If you observe the main steps 1), 2) and 6), in both case, you:

  • play some notes in Rackspace #1 and press the sustain pedal
  • releases the sustain pedal
  • play some new notes, they are played int Rackspace #2

So for the use case you describe, what’s exactly the benefit to use your favorite Rackspace change method?

Rackspaces don’t come into it all. I am not using rackspaces to change my Kronos SetList patch.
I use one static, lone rackspace representing my whole rig. I am simply looking to adapt the scriplet that Paul kindly suggested
so that the held sustain pedal prevents the pre hit patch increment/decrement change from changing my Kronos SetList patch (and then accordingly everything else in my rig including VSTs/FX in GP and all my hardware fx) until the pedal is released. This procedure is actually working fine with actual key held notes using the scriplet that Paul created: I just need to have the sustain pedal doing the same thing.

I think the confusion here is that I am not sending a program message but CC messages to change the SetList patch on the Kronos up or down. It is these CC messages once triggered by the Boss pedal (pad 1 to go up with CC81 or pad 2 to go down a patch with CC67) that need to be stalled from reaching the Kronos by both held down keys and the sustain pedal. Then only when all keys and the sustain pedal are released will the CC81 or 67 hit the Kronos Setlist programs to move up or down as I need.

To clarify: I have two pads on a Boss FS-1-WL wireless footpedal (I’m triggering by hand): one set up to send CC81 and the other set to CC67. The Kronos is set up to interpret these CCs as program up and program down respectfully. The Boss FS-1-WL is seen by GP as a midi device and hence I have set up blocks accordingly in GP with Pauls scriplets within each chain for each CC message to only get relayed to the Kronos when all finger held keys on the Kronos have been released. Paul did amend his original suggested script with some more lines for the sustain pedal to be able to stall the CC message as well but as yet its not working!

If you block the CC64 sustain message and use a Sustain Scriptlet instead ( [Gig] Sostenuto and Sustain ) in front of the Scriptlet form @pianopaul, it should work. I could even modify a bit the Sustain Scriptlet for it to replace the CC64 sustain automatically. But, you could already test with it like this.

Another question, if you are using a Kronos who has already a kind of Patch Persist feature built-in, why do you need to do so much efforts?

Hi David, thanks v much for your suggestion! I’ll test that out and get back to you later today…

“…if you are using a Kronos who has already a kind of Patch Persist feature built-in, why do you need to do so much efforts?”… for the same reason that patch persist doesn’t stall the actual patch change message from being sent out the moment you hit the button on the Kronos to change patches. Yes! tails within the Kronos itself from the previous patch die away without being abruptly cut off with its SST (Smooth Sound Transition) capability but everything else in my rig would change immediately because just like Patch Persist the actual patch change message is sent out the moment the button is pressed. Indeed when you hit the button on the Kronos to change its patch you see it change just the same as P.P. regardless of wether you have keys/sustain held. Incidentally the Kronos’s SST is not as sophisticated as Patch Persist as it is merely there to stop tails from abruptly changing - you can custom tail times between individual patches but held notes and sustain have no effect at all.

As you can see from the screenshot I have inserted the sustain block as you suggested and renamed all relevant blocks to better reveal the passage of whats going on. I have actually had the CC64 message filtered out the whole time as if not the Kronos would be receiving its own sustain pedal messages! Physically held keyboard notes are still holding the change UP or DOWN OK until they are released but the sustain pedal is still not having any effect. Regular functionality of the sustain pedal itself is still working of course as the Kronos is still connected to everything else in the rig.

Please, assign the sustain pedal to a pedal or switch widget and map it to the sustain parameter of the Sustain Scriptlet.

1 Like

HOORAH!!! IT’S ALL WORKING!..

Thanks so much Paul & David!

Connecting the sustain widget as you suggested was indeed the last piece in the puzzle! The only thing one has to be aware of is that in order for the functionality to work one has to initially Ihit some patch changes while holding down keys and sustain: in other words if on first booting up I just hit the the Boss pad switch nothing happens! I have to hit a patch while keys/sustain are held down for it to work. Then after that if I want to simply scroll through patches without engaging sustain pedal or keys I can… perhaps there is away of making it all work immediately after bootup as default?

Meantime I will post a special vid to demonstrate it all working in context once I have adapted all my patch changes to the new system.

I am certain that once others I know realise that this is now possible through GP a lot more live keyboard players will see this as yet another one of the great things GP has to offer.

Thanks so much!

You should perhaps initialize the variables in your Scriptlet:

v_no : Integer = 0
v_cc : Integer = 0

Thanks David! Yes! Perfect! amending the variables both in Pauls scriplets and the sustain scriplets, as I’m sure you expected, has indeed sorted the Boss settings to work on boot up OK now!

Oh, did I really forget to initialize variables in the Sustain Scriptlet? :thinking: I will have to check this…

Here’s a resumee of all scripts used to achieve the patch change control release via notes off and sustain off…




@GPman, as a moderator of this community forum I appreciate very much your feedback and this resumee. But if you really want to help this community, as it has helped you, what would really help users is a short summary with a simplified wiring, the two Scriptlets you use (as formatted text or as an attachment) and possibly a simplified gig file. This would help much more than a patchwork of screenshots. In fact, only very few users know how to read GPScripts, but they do know how to copy and reuse them following your instructions, coming from your own experience :wink:

6 Likes

Certainly, for someone like me who knows nothing about scripting, although the subject interests me, I give up trying to understand what’s going on here in less than 10 seconds…

1 Like

Hi Hermon, I will certainly post a simplified explination along with a video clearly explaining what’s going on in due course! Thanks for your interest!

1 Like