Forum

    • Register
    • Login
    • Search
    • Categories

    setAttribute - not working for me

    General Questions
    5
    14
    695
    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.
    • Lindon
      Lindon last edited by

      Ok last frustration of the day....

      So I have a midiScript processor with a single slider in it. The slider is linked up to the attack value of my envelope - and works fine.

      in my main interface I say this:

      const var Acoustic_OUT_COMMS = Synth.getMidiProcessor("Acoustic_OUT_COMMS");
      
      inline function onAttack_ACOUSTICControl(component, value)
      {
      	Acoustic_OUT_COMMS.setAttribute(0, value);
      	Console.print("setting the attack");
      };
      
      Content.getComponent("Attack_ACOUSTIC").setControlCallback(onAttack_ACOUSTICControl);
      

      literally nothing is happening - there isnt even a Console.print.

      Perhaps this is because the Attack_ACOUSTIC widget was/is previously wired to another container - but i cant see how to "unwire" a component - so I dont know if thats the problem or not....

      HISE Development for hire.
      www.channelrobot.com

      Lindon 1 Reply Last reply Reply Quote 0
      • Lindon
        Lindon @Lindon last edited by

        @Lindon ...and a quick test shows me I am right... so we MUST have a way to remove processorId and parmaterId - without it this is very very poor UX

        HISE Development for hire.
        www.channelrobot.com

        1 Reply Last reply Reply Quote 0
        • Christoph Hart
          Christoph Hart last edited by

          Yeah, basically that requires you to open up the JSON editor and remove the processorId and parameterId manually.

          Lindon 1 Reply Last reply Reply Quote 0
          • Lindon
            Lindon @Christoph Hart last edited by

            @Christoph-Hart any chance of a fix then?

            HISE Development for hire.
            www.channelrobot.com

            1 Reply Last reply Reply Quote 0
            • Christoph Hart
              Christoph Hart last edited by

              Yes, however there's an unspoken "if there's a workaround, it's not a bug" policy in HISE 🙂 so it's categorized under "cleanup maintenance task"

              1 Reply Last reply Reply Quote 1
              • ustk
                ustk last edited by

                @Christoph-Hart What if I want to link a button from the main interface to a script processor, AND use a callback in the main interface script?

                Can I link to the script processor from the callback in the main interface?
                I know there's a workaround using a global variable, but this is not a good idea AFAIK

                For instance, I have a button in the interface which controls another button in a script processor, but at the same time I want to set a panel visible in the main interface

                Thanks

                I cannot help pressing F5 in the forum...
                Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

                  @ustk You can either use the interface designer to link a control to a parameter or you can write a custom callback function. You can't have both. So if you want a control to perform more than one function you will have to use a custom callback.

                  @Christoph-Hart Would it be possible to link a control in the interface designer and also have it trigger a custom callback after it performs its linked action? Or is there something fundamental preventing this?

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

                  1 Reply Last reply Reply Quote 0
                  • ustk
                    ustk last edited by

                    @d-healey Thanks, I understand that we can't have both, I think because it would be weird to have two different callbacks for the same control (I guess the property editor use a kind of callback in the background)

                    so what should I do in my custom callback if I want also to link to a button in a script processor?
                    is a:

                    ScriptProcessor.setAttribute(n, value)
                    

                    working?
                    If so, how to define "n" when you have 20 controls?

                    If it is not the way, it would be cool to add it 😀

                    I cannot help pressing F5 in the forum...
                    Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

                    orange 1 Reply Last reply Reply Quote 0
                    • ustk
                      ustk last edited by

                      Ok I tried, and it works this way ☺

                      Still, I don't understand how to find "n" except by trying all the possibilities

                      I cannot help pressing F5 in the forum...
                      Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

                        @ustk To get n put all the controls in an array then use array.indexOf(control);

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

                        1 Reply Last reply Reply Quote 0
                        • orange
                          orange @ustk last edited by orange

                          @ustk Take a look at this example

                          A knob controlling Gain, Limiter Treshold and Delay at the same time. You can multiply the controls as much as you want...

                          By the way to get the n, you need to learn the control parameter names: create a slider (you won't use it to control, just to learn parameter name), select processor ID and Parameter. You can apply this Parameter name in setAttribute controls. Then delete the slider... 😉

                          HiseSnippet 1318.3oc6X8zaaTDEe1jrgXCA0h3CvJK.4fRS8FmjVUDxIw4OXBw1pNs.mhlr633QY8LV6NaaLUQhOAbOHNzuCbhy7ofaH0u.bf6v6M6td2E6DRPzpFoL4Rl2626Mu4su+MtsuzgEDH8IFENX3.Fw38L6LTn5UuGkKHM1hXXZZaaS1b3.ZP.ykXXL8tHKiByPzq+n1lTOpvgkRhPdpj6v9JdetJkZ602i64sC0kc.ueFzqrdCGontzSFBlwzlUHCnNmPOl0jhvlxjXL61tbkzuihpXADiY1T5NrSO4yEQ3eJOfejGC2XS5.JJh7NROWzhQpj583dtsSttADPKsSu7SGc4+Py84t7QzScB2QyvJUhr9CiotLyyNq4U4padFYLuYhLu6Z1wwmOPkxAss20rgPw76RgOAYMqHrjo9jYLqKADB0R8omv1wG1LRhx1qUYQK6UprvmMew4Kd+wVVat8tMZ1n4tVs1w5fuXaqM1us0SZ13.q6ewKTUv2z.k0yn9ZI9bKcX0RGyTa2sKyQUtDPtDdp4.t7Efb4+ATcrEy2dRvS3UJ5Nk7Wty4PLHFDNwyPcc2SHOReVZdkVz5gKZU8AQ5HAV.Cc9CX9JNK.7j8+xNsZlSnWLeQKXUpuzkU5QVk1h4vOh4UZwD5.pGYcO6JURn7btqpGPydkkGAhdJPn5ZI6CTrAc3eGpvJKAhles5pqNBXX2tbT1RVtal4Lcc8XskAbEWhG+nyVwNUgnq2Z+MaXsWyVoBwCZ6EdLWzl5C4gf+Dvo7CYI7GjmKlrhZJ0Uf9syhbebgGWvr5FJbPKvRJRfgNVeoWYGY+ARA3hWD9B4ExVX9hfmr..C84anT97iBUrxHATtDXf5Kj78NOxQTOnmOKnWOHaaQqxZote00VPKIFXMl9WdosXdzgwmvmVEQdVtn.HVqdh8l4i+BnphuP0oddGAkwJO1UEUWFGQSoh0RTdghunXghmMFmtcmDqXU4w7mDWr7p+kHVYQX+iX9ItvXbPUl7kwLu3xXYqx5D4Tx.TJZH3pVCXhKp3FI1Shk4hMJ.pRWj68iKx0wi6x7IbnVVQyDeHQaxw8NVu5Ou55jmzXKphlnIPooIn.ssXOC5DEU9rf4VrfSTxAZrwe+fC7pbtmB9Ci4fCcH9OeL7O4Spx17KIaEo8imiqeoVecKyY+o+JZAI331OJQBcZK1qERaIXoiHqUW5ffIoXi4zjThtlApgeHVCikshloAvXBoo4tXjway.M6jtgdTU9NfH7XF3ENaqFrch.bDCyNVvqk1hWUy8tls4JmdS1dmZB1KD.851diGxXdynFUoF6Ll67M+WmnXxC7TYRSTLcFa4cFMsGu+.O1toS6AQFWzzd5DNcwwr9suNNVLlv2t9DlGzX57WnouZWn+ko1t7..cG9aLArefo1wdSxf0e3u4Xv2wrM8sg.hGKCUbww6SgYNvZ9MC62Ad5iCCLUgf4gsdMlBaRFsuBtGMnNLgqdC1AIlocRcdjocBSxUHSeVLSe4K4gcDR1T8uu6NsW+1T8aS0uMU+s1T84RlyM9sOZeQwjc4+QbhdUTrK3k+YiWUqUnZPnZTq9pup1iYdLZPlr6euF7RI3UMof90Z6IXIHd44m+a09eK++Mh26MwYzm53KOzI5cNXgs4zTf6sPOMdAy8w8V1IutA8GvyK3G53fCGdOH1ZxRr70VhpWaIV4ZKwpWaIV6ZKwCt1R7vKQB7G2aiPkreT0BfP6s0upzvXaAEhV0oLj+FCRRsfC
                          

                          develop Branch / XCode 13.1
                          macOS Monterey / M1 Max

                          1 Reply Last reply Reply Quote 0
                          • Christoph Hart
                            Christoph Hart last edited by

                            Or use the autocomplete popup which shows you all available parameters - this is also more safe because of NO MAGIC NUMBERS.

                            d.healey 1 Reply Last reply Reply Quote 0
                            • d.healey
                              d.healey @Christoph Hart last edited by

                              @Christoph-Hart said in setAttribute - not working for me:

                              Or use the autocomplete popup which shows you all available parameters - this is also more safe because of NO MAGIC NUMBERS.

                              Oops I totally misunderstood the question.

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

                              1 Reply Last reply Reply Quote 0
                              • ustk
                                ustk last edited by

                                Thanks! It is way easier...

                                I cannot help pressing F5 in the forum...
                                Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

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

                                21
                                Online

                                982
                                Users

                                6.6k
                                Topics

                                60.7k
                                Posts