HISE Logo Forum
    • Categories
    • Register
    • Login

    FX attribute numbers....

    Scheduled Pinned Locked Moved General Questions
    5 Posts 2 Posters 172 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • LindonL
      Lindon
      last edited by Lindon

      Okay, so.....

      I have a dynamically loadable set of fx using a slot FX...and this is only going to grow when I add Master ScriptNode FX stuff...

      Currently I have a "bulky" solution to displaying and changing FX param values - each possible FX has a panel containing all its controls...and I just hide/show these as required. So this means every possible FX has a panel with all the required widgets in it . Multiply this by 4 slot FX and 4 x Master Slot FX and we have a very very large set of widgets...

      So I'd like to move to a more dynamic approach - where I have a single set of UI widgets for each slot that control params dependent upon which FX is currently loaded in the slot.

      All this is do-able (I've did something similar in Kontakt -KSP - shudder)... here's some psudocode:

      on FXSelection:
             get the fx json for the loaded FX
            get the used widgets params (x,y,min,max,middle, default, type etc.) 
            layout the widgets correctly....
      
      

      leaving my widget callback like this:

      myFX.setAttribute(myFX.attributeName, value);
      

      Where myFX.attributeName is an "in module constant", basically a way to de-couple the code from any possible changes to the FX attribute number....
      we know it as this:

      myChorus.setAttribute(myChorus.Depth, value);
      

      So my psudo code above wont know which FX is loaded, or which FX attribute its supposed to be changing - still its simple enough to have this recoded in the "fx json"

      so for example in the json I could have some thing like this:

      EffectName: "Chorus",
      EffectParams: [
           { Title:"Depth",
            xpos:12,
            ypos:22,
            min: 0,
            max:1,
            type:"percentage",
            ....
            attributeNumber: 0
      },
      
      ],
      
      

      so my call back looks like this(sort of)

      on Widget01(component, value)
      {
         //some code to go get the correct effect json ...into-> myJASON
        myFX.setAttribute(myJASON.attributeNumber, value);
      }
      

      Okay enough around the houses....

      my problem is this:

      attributeNumber: 0

      -I have to set up the JSON before I use (or load) any given FX

      so - does anyone know any way to get the attribute values for each FX using their attribute names - WITHOUT loading an FX?

      or - how likely are we to see these attribute values change? - I know they havent moved much since ground zero - but just in case....

      (sorry for the long post to a fairly, simple question set)

      HISE Development for hire.
      www.channelrobot.com

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @Lindon
        last edited by

        @Lindon Yes it's possible, this is what we did in Mndala. I'll dig out some details when I'm at my computer.

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        LindonL 1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @d.healey
          last edited by

          @d-healey cool - thanks

          HISE Development for hire.
          www.channelrobot.com

          1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey
            last edited by

            So I had a look and we're using a function SlotFX.getParameterProperties() which returns a JSON object containing a bunch of data about all of the controls of the currently loaded effect. We then loop over that data and set those properties for our UI controls.

            There is just one problem. It seems this function is currently only working with Hardcoded Master FX and not regular SlotFX (the API doc is wrong).

            @Christoph-Hart Is this an easy fix?

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            LindonL 1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @d.healey
              last edited by

              @d-healey yep @Christoph-Hart I(clearly) would be very keen on this...

              HISE Development for hire.
              www.channelrobot.com

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              48

              Online

              1.7k

              Users

              11.7k

              Topics

              101.8k

              Posts