On Variation Callback

You know that you can map a widget to a scriptlet parameter?
This way the widget value is reflected to the scriptlet parameter

I provided the link above to where.

I am asking how you found that out-of-date link?

Via the gig performer support pages this old documentation is not available.
Are you using the latest version 4.5.8?

I guess it probably was just a personal bookmark?!
But why is this outdated version still active at all? Why not place there a message like
“This manual is outdated! Please refer to the latest manual:” (and a link to the actual one)

„I need to compute a variable in my Scriptlet that cannot be a parameter in the scriptlet. … and therefore when variations are changed, the Scriptlet does not remember the value of a variable.„

That is a detailed technical description, what do you want to achieve at higher level.
What is the musical requirement?

Probably because nobody remembered it was there!

Of course, of course … that’s how to do it. LOL! I tried the direct way first, but the “On Variation CallBack” does not work in Scriptlets!

Using my Rackspace Script to set the value of a widget and then catching it in an “On ParameterValueChanged block” in my Scriptlet works just fine! :slight_smile:

Thanks for the hint. Problem solved.

nobody remembered it was there!

Yeah, maybe… but now that someone did some “digging up corpses”, maybe it’s time to “bury them deeper”? And in case you’d like to keep the older manuals, maybe you could set up an archive?

:slight_smile: The answer to your question is quite complex. Give me a few more weeks and I will publish my Scriptlet to the group for critique. I am working on a Scriptlet that allows a MIDI accordion player or any keyboard player using GP for that matter to play open-voice piano-like chords on their left hand even though physically they can’t play them on their instrument. Using my Scriptlet, the user specifies the open-voice chord to be played by actually playing the chord in Learn Mode. He does the same for the Trigger-Chord.

I got the idea from watching a YouTube video on a product called “Swing More!”. If you know me, you know that I am picking up where “Swing More!” left off and taking it to the next extreme in but in REALTIME.

I will probably do a quick video demonstrating how the Scriptlet works. It will show how the user defines his Trigger Chords and then defines the chord to be played. … and of course, using variations, he can specify Trigger-NotesPlayed relationships within each variation.

I have most of it working now, but I want to make sure it works flawlessly before posting it. There is a part of the Scriptlet that catches chords based on a time interval and then I look at the intervals between the notes in order to determine what Open-Chord, Velocity increment/decrement per note, and MIDI channel per note to SendNow. I am having a little trouble turning off hanging notes off, but I will resolve this.

Once I get this finished every MIDI Accordion player on the planet will be forced to buy GP in order to play chords in real time like a Art Tatum, Manyard Ferguson or Cory Henry plays. User definable, Realtime, and dynamic are the keywords that make this Scriplet special.

Here is a pre-release glimpse of the Panel for the Scriptlet. In this pic, you will see that I have just defined what to do when a Trigger Chord (C4, E4, F#4) is played. The result was defined by the user playing (C3, C3, G#3, C4, E4, G#4). The exact notes to be played are not relevant at execution time, but the intervals are. In this case, the interval hash is: “42” IE: the interval from C4 to E4 is “4” and the interval from E4 to F#4 is “2” … hence the hash “42”. So, in real time when any Trigger-Chord that has a hash of “42” will be outputted commensurately in the appropriate key.

If you have noticed the “vel incr” and “channel” sections … they will allow the user to specify a velocity increment or decrement for each outputted note played … the same goes for the “MIDI channel”. I am also going to automatically change inversions if the user desires.

Right now. the code is lightning fast and there seems to be hardly any latency. wish me luck. :slight_smile:

1 Like

You asked, " I am asking how you found that out-of-date link?"

I went to Google and did a search on, “gig performer scripting language” and the first item that came up was this:

So, I clicked on the link, and I got into the Language Document. From there, I requested “List of Callbacks” and scrolled through until I found:

Ok. If you click on the Help menu in Gig Performer, you can get directly to the latest documentation.

We will fix that link to forward to the correct documentation as well

Thanks

You are welcome :slight_smile: