Latch a non - latchable plugin

I’m using Realitone Banjo running in Kontact which does not provide a latch feature to hold chords. Is there a workaround of some sort I can try?

I think it would help the helpers if you would describe in detail:

  • what exactly you are doing
  • what exactly is happening
  • what exactly do you expect to happen

because most of us won’t have this particular plugin installed and won’t know what it does (or should do), nor do we know what exactly you want to achieve.
Everyone who wants to help is depending on the things you describe - and this is not too much, to be honest.
Always remember this guideline:
How to report issues and ask properly for help? - General discussion about Gig Performer - Gig Performer Community
Thanks for helping us to help you. :wink:

2 Likes

Maybe that helps

[Gig] AutoSustain Scriptlet

2 Likes

@bigalminal , likely @pianopaul 's script will either nail exactly what you want to do as is or with little modification. I created a similar script to simply hold the high strings note through most of the last third of Purple Rain a few weeks ago. With a little work and learning, GpScript is a fantastic way to expand the functionality of GP.

X

I will try the script. I heard back from the developer overnight and was told that there is no latch function built into the plugin. Strange, as their picking guitar has a latch.

From my discussion with @bigalminal

By default all notes played turn on and off as they are pressed and released. (Non latched normal mode)

With a specific MIDI message (perhaps CC64 but up in the air) we go into a latch function.

While in the latch function, the last 3 notes pressed continue to play until it is replaced by another note. We basically suppress the note-off function, however if new note is played, we play a note-on for the new note and send a note off for the note that was released. That way the last 3 notes played are always on while in the latch state.

We use a separate CC to mute and unmute the audio out of the plugin while in the latch state. This might be done between song parts or through a separate control.

When we release the latch state (usually at the end of the song) , we turn all notes that are playing off and unmute the output audio to resume normal operation.

Can this be done with a gig script? If not, we’ll probably need to do something in Bome MIDI Translator Pro. My guess is with the right programming skills it can probably be done in a Scriptlet, perhaps using the note tracker function.

Steve

I don’t understand why it’s the last three notes.

The AutoSustain mechanism available though GPScript is essentially a generalized “latching” mechanism which has been there for a long time, originally through a rackspace script but now exists as a scriptlet and I believe it’s actually included with the installer.

When you play a note and add more notes, then let go the keyboard, all those notes will stay on until you press another note at which point all the earlier notes stop instantly and the new one starts. But we don’t restrict to the last three notes.

@dhj

That is the way the plugin works. As long as 3 notes are playing a banjo pattern will be played based on the evaluated chord. If more than 3 notes is played, the plugin will not know what pattern to play. If less than 3 notes is played, it stops playing the pattern. He wants to play a chord (3 notes) release it and have it continue playing until either a new 3 note chord is played or until he turns the latch off. It is not a simple sustain function.

I hope this explains it better.

Steve

Edit: Although I think he is going to test the other script first just in case it does what he wants. I think this might be a unique case so lets see where he gets with your default script.

Well, that should work fine with the AutoSustainer — play a three note chord and release, it will stay “on”. Then play another three note chord and that will take over from the first one.

Yes, he is on a gig today so let’s give him a few days to try it first. I’m hoping that it will work for him.

Steve

I played around with it and had to make a few changes.

  1. Instead of using Sustain Off to send note off, I just set it to Mute the output audio. That way the banjo picking continues on the current pattern instead of stopping and then starting again when you press the latch control. If I don’t do that, the timing of the picking gets a delay so everything is off.
  2. I have set Mute to Off when moving to the rackspace and Latch to On as a default in the Script file. so if I move from one rackspace to Banjo, the picking automatically starts. Not sure I will keep it that way.

on_off(“off/on”) : parameter “off”, “on” = “On”

  1. The stop widget is used to stop the picking if I want it to completely stop instead of mute while I’m in the banjo rackspace.

I will go over this with Alan next week to ensure we have things set up OK but I’m pretty sure we can use the modified version of your auto sustain.

Thanks for the scriptlet as it got me 90% there.

Steve

P.S. I also found out that RealiBanjo stops picking if you press a not recognizable chord. It seems to handle major, minor and augmented but doesn’t handle major7 or dominant 7th. Nothing to do here, just and FYI on that plugin.

1 Like

I appreciate all the input from you guys, With all the work that has been done I feel that I should explain why the sustain is needed. When a chord is first struck, there is a delay of perhaps less than 1/2 second before the picking starts. However, it does start in sync, but the delay is very noticeable. It has been a real pain having to put up with it. So having it running in the background but muted when not needed will be a real blessing.

Can a quantize feature be added to the latch? ie: The sustain notes only change on 1/4 or 1/2 or whole note while the playback head is running?

With scripting and activating global play this is possible

I have no knowledge in scripting. Would you be willing to script the necessary code? Thank you in advance!

For my understanding:
You press the sustain pedal, but it should do sustain with the beginning of the next beat.
And when you release it, it should release sustain again with beginning of the next beat?

I think that could be a good starting point

[Gig] Quantize Song Parts Changes