assurance-tunnel
assurance-tunnel
assurance-tunnel
assurance-tunnel

User Input - Lock bug


  • Beta Platinum

    Hi there all,

    I found an possible bug in Isadora (last stable release, Windows 10, USB version), what happens is that the max and min values of an user input can not be changed after the min and max has been set before.

    Steps to reproduce :

    1. Create a new user actor

    2. Create a new user input and set the type to an int

    3. Set the MIN and MAX to a value. (I used 0 and 4.)

    4. Close the actor (Save / Update all)

    5. Set the input of then User actor to a value inside our range. (1 for example..)

    6. Open the actor again

    7. Try to change the MIN and MAX to something higher.. (0 - 6 for example)

    8. Close the actor

    9. Try to set the input. (It uses the old range and we can't set it to the 6)


  • Tech Staff

    I was able to recreate. Will send a bug report


  • Tech Staff

    @juriaan

    Well actually you set the min max values outside of the user actor. Instead of changing the min max in "user input" actor leave it at min max. Now close the user actor and set the min max values as you wish. 

    I don't think this is a bug you just have two places to set the min max value that have to be updated individually.

    Best Michel


  • Tech Staff

    @michel

    Actually what I thought as well. Tried that, but same result


  • Tech Staff

    @crystalhorizon

    It does work fine for me. Leave the "user input" actor at min and max and I can update the min max values outside of the user actor anytime without a problem.

    Best Michel



  • @juriaan

    This is not a bug, though it is perhaps a bit confusing. The team and   made the decision some time ago to adopt the current behavior.

    When you update the range of a User Input, it does not automatically update the Scale Min/Scale Max values for the external input on the outside of the User Actor. There is a good reason for this: it is very possible that you have set specific ranges for the external input, and you don't want Isadora updating these without your consent.

    For example, make a new User Actor, add a floating point User Input with a range of -50 to +50 as shown below.


    Now close the User Actor and click on the title of the input to show the Inspector box. You'll see the range you expect here, -50 and +50.


    Now change the range from -50 and +50 to +25 and -25, which both limits the values and inverts them.


    Now double click the User Actor, and change the range of the input to -100 and +100. Close and save the User Actor. When you click on Input 1 again, you'll see that the values are still set to -25 and +25.

    Now, double-click the User Actor again, edit the User Input on further time so that the limits are -10 and +10, and save the User Actor. If you look at the inspector box again, you'll see that the values were changed.

    This is because you can't have a Scale Min/Max setting of -25/+25 when the actual maximums are -10/+10. So in this case, it does change the Scale Min and Scale Max.

    In previous versions of Isadora, saving the User Actor did update the external input limits, and this totally messed up people's patches.

    I can understand why you saw this as a bug, but it is the only way we could come up with to manage this situation.

    Best Wishes,
    Mark


  • Beta Platinum

    Hi @mark,

    I'm still experiencing a bit of confusion at the moment.

    Open the following example file :

    inputbug.izz

    Go to the 'Float' actor and open it

    Double click the value so you get the range. In there stands -12 as MIN and +12 as MAX

    Close the dialog

    See that LIMIT MIN and LIMIT MAX are still set to my old settings -10 and 10

    Close the actor 

    Try to change the value to 12 (Our max)

    The output of our Actor doesn't show 12..

    Why ? Both the input (external) as input (internal) are set to exactly the same. And why does Isadora shows -10 and 10 as LIMIT labels.. Shouldn't that be linked to the internal input / external input scale values so that we don't have 3 different parameters to update. It causes quite some confusion by the user..



  • @juriaan

    The Limit Min/Max of the User Input is set to -10/+10. So no value beyond that can pass through.

    Best Wishes,
    Mark


  • Beta Platinum

    @mark

    Alright.. I also got that. But why does it work that way ? If I set the MAX / MIN in the double click dialog shouldn't it be the same as the LIMIT MIN/MAX ? Why are there 3 different limiters (MAX / MIN Dialog, The LIMIT dialog, and the external input Scale MIN / MAX)  inside a single Input value. In my opinion linking the LIMIT dialog to the MAX / MIN Dialog makes perfect sense.



  • @juriaan

    Well, as with many things in Isadora, I can only say that it seemed like a good idea in 2004. I don't mean that as a cop out, but my actual thinking at the time was that it was good to have everything behave the same way... I mean, the User Input is an actor with a numeric output, so it should have it's own Limit Min/Max. Certainly this is a topic worth revisiting for the next release. (@Michel @Skulpture @DusX @mc_monte @crystalhorizon  take note... let's not forget this issue.) But I'm sorry to say isn't something we're going to change for v2.6.

    Best Wishes,
    Mark


  • Beta Platinum

    @mark

    That is fine. Just curious about the design choice and understanding the software :) Thanks for the replies and the great explanation .


  • Tech Staff

    @juriaan said:

    @mark
    Alright.. I also got that. But why does it work that way ? If I set the MAX / MIN in the double click dialog shouldn't it be the same as the LIMIT MIN/MAX ? Why are there 3 different limiters (MAX / MIN Dialog, The LIMIT dialog, and the external input Scale MIN / MAX)  inside a single Input value. In my opinion linking the LIMIT dialog to the MAX / MIN Dialog makes perfect sense.

     I don't see this as a bug. However I can understand the bigger picture and can see your POV.

    Just an idea; but what if the external input scale(s) [MIN/MAX] was greyed out; so when you changed the inside scales [MIN/MAX] were grey so it was a visual indicator that it can't be changed.