Question about UI Json data!



  • You're right! I was using the variable of the component instead of using the component ID. Solved :)


  • administrators

    I am using the ID instead of the variable almost every time I need to pass in an control as parameter to a function (and I would heavily recommend this paradigm for your own functions). The reason is to avoid reference counting cycles:

    // If you would pass the variable instead of the ID:
    CloseButton.set("parentComponent", parentAsVariable);
    
    // and later for some weird reason:
    parentAsVariable.data.closeButton = CloseButton;
    
    // BOOM, Cycling reference & leaking
    

    BTW, the Linux crash is fixed now :)



  • Double clicking on sliders brings up an option to enter a value but I would like not to have this, is there a way to disable it? Also how does one restore a slider to its default value when this behavior is active?



  • I can't change the stepSize of panels in the interface designer. I can set it in the script but it doesn't seem to be working as expected.



  • So double right clicking seems to be the way to restore the default value now. But how can I disable the value input thing? Also I'd like to make use of the value pop-up but I don't want the value to appear on the slider (seems redundant to display it twice and it won't fit on a vertical slider very well), how can I achieve this? I'd also like to use different colours for the background for this pop that the slider uses.

    How can I remove the X button from floating tiles?


  • administrators

    Yes, I will add an option to remove the textbox of the slider. You seem to be the first person ever that is not using the sliders with a custom filmstrip :)

    BTW, I was planning to add support for custom paint routines to sliders, which might solve most of the issues you have at once here (and allow even nicer things like displaying the current modulation value for a modulated parameter etc.). Currently you need to use a ScriptPanel and recreate 99% of the slider logic just if you want to customise the appearance.

    The stepSize property of the ScriptPanel has no influence on the actual step size because this is solely determined by your implementation of the mouse callback where you calculate the value. If you eg. round it to integers, you'll basically have stepSize = 1 and so on. What this property does is to tell the host that the automation data has this step size, so you don't end up automating floating point values when you're control is actually a combobox type thing with discrete entries.

    I've been running out of colourIds so I've reused the colours from the slider for the value popup, but that may end up looking weird in some scenarios. Another reason for custom paint routines, then you can use your own colours for the slider rendering and just use the native colour ids for the popup.

    And the X in the floating panels only appear once in a year under spurious conditions that I wasn't able to reproduce yet, but they will be definitely deactivated in the compiled plugin otherwise people could just delete the whole interface by pressing on the wrong button :)
    However if you are using an complex arrangement inside your floating tile using horizontal containers / tabs, the close buttons are intended and can be removed by setting the parent container to read only using the Dynamic property:

    const var data = 
    {
      "Type": "VerticalTile",
      "Dynamic": false, // set this to true to make the close buttons reappear
      "Content": [
        {
          "Type": "PresetBrowser",
          "StyleData": {
          },
          "LayoutData": {
            "Size": -0.5,
          }
        },
        {
          "Type": "Keyboard",
          "LayoutData": {
            
            "Size": -0.5,
          }
        }
      ]
    };
    


  • Thanks Christoph. It's just a single floating tile so I won't worry too much about the X. Custom paint routines for sliders would be good, currently I'm using native sliders for everything except bidirectional pan sliders.



  • I noticed a problem with the double right-clicking to restore the slider to its default value. This doesn't work if the slider can be midi automated because the learn CC box pops up as soon as you try to double right-click which prevents the value being reset. Maybe a key modifier could be used to reset the slider to default - like CTRL+Click or something?


  • administrators

    Whats wrong with double left click?

    Edit: Scrolled up, got it ;)

    Ctrl Click is using fine mode, so thats not free.


Log in to reply

Looks like your connection to Question about UI Json data! was lost, please wait while we try to reconnect.