Mouse position with variables

Hello,

I hope someone can help me with this, as I have multiple times gone over it and cannot find the reason that it is not working.
I made a simple extract from my project file as the original contains hundreds or maybe thousands of lines of code and would be impossible to explain.

I use an Arturia Beatstep controller - And I control an image editing program.

Imagine 6 different sliders

AA -----------^-----------
BB -----------^-----------
CC -----------^-----------
DD -----------^-----------
Rotate -----------^-----------
Rotate2 -----------^-----------

The rotate sliders can be moved using shortcuts
The AA - DD sliders can only be moved by placing the cursor in the middle of the slider and using mouse scroll on a dial.

What I like to do is after a value has been changed on the slider use a button (Down) to click on the name of the slider to see the before (or start position) On the (UP) it reverts back to the setting.

Every time a value is changed rr is given another value. That value is used to assign the corresponding hx and hy value which then can be assigned to the X and Y value of the mouse position.

This does works for the sliders which use shortcuts, in this example the Rotate sliders.
And I have assigned this successfully to about 35 different sliders.

But somehow I do not get it to work for the sliders which use a mouse position. Although the rr value updates the mouse position on the before after button always goes to the last value used where shortcuts are used.

Is there anyone who can see what I do wrong?

Thanks for looking!

David

By writing this and making a simple version of the code I found a way to solve it but it is not a very good solution.

Shortcut - Mouse test.bmtp (5.1 KB)

Hi David,

Welcome back to the Bome Forum!

I see 2 issues with your project:

  1. You are using a variable rr and trying to share it between translators. Variables oo,pp,qq,rr,ss,tt,uu,vv, ww and xx are local variables and are only visible within a given incoming trigger, otherwise the value is undefined.
  2. You are not checking the same values in translator 1.2 as you have set in translators 0.5-0.8.

The following file fixed both of these issues.

  • Changed rr to ga which is a global variable (check the user manual for naming of global and local variables and their use).
  • Changed the values in 1.2 to match those set up in 0.5-0.8

Since I did not connect my Arturia Beatstep I created an alias for it and tested using BomeSX. You will need to assign the aliases for both input and output My Arturia Beatstep to your actual device. This will be a one time thing and will be remembered unless you change the assignment.

Shortcut - Mouse test-sjc.bmtp (5.5 KB)

PS. Please set zz=0 in rules of translator 0.4 . I set that for debugging only. Debugging will be a new feature that will allow logging activities but is not available in the current production release of MT Pro.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi Steve,

Thank you! That got me back on track! I still do not get the full picture what limitation there is on the global variables, most of the time I use local variables. And where the rr value gets lost and why?
the rr value did work on many sliders only when using one of the sliders with mouse position rather than shortcuts it would only remember the last value associated with the last shortcut function.
I will have another read of that part of the manual.

I have not been posting here for a while as most of the time I run into a problem and write up a post just writing the explanation what I want to accomplish and how I go about it helped me find the solution!
This program is capable of so much! Still surprised how little it is known and that there is not more posted on this forum.

Thanks again!

David

Any variables that you need to share between translators need to be global. Local variable only work within a given translator most of the time and are undefined outside of that translator. The only exception is if two translators share the exact same incoming trigger, the variable is visible to all translators that share that incoming trigger ( which is almost never the desired situation)

with using mouse position with different variables is not a good experience for me. Local variable only work within a given translator most of the time and are undefined outside of that translator. I have not been posting here for a while as most of the time mouse speed test I run into a problem and write up a post just writing the explanation what I want to accomplish and how I go about it helped me find the solution!
This program is capable of so much! Still surprised how little it is known and that there is not more posted on this forum.

Hi @ameliajohnson202012345 ,

We have 40 tutorials for Bome MIDI Translator Pro and there are pretty much daily posts. I’m sorry it is difficult for you. Is there a particular issue you need help with?

You are right. local variables should be considered temporary within a translator only.
Local variables are oo pp qq rr ss tt uu vv ww and xx. (10 of them)

(Technically they can be shared between translators with the exact same incoming trigger)

Any other 2 letter combinations are global variables and these should be used when working across translators. There are 710 global variables available as of MIDI Translator Pro 1.9.0 starting with the letter g-z excluding the local ones mentioned above.

The user documentation is both available online and by pressing F1 within Bome MIDI Translator Pro.

Let us know if you need anything in particular.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz