Page 1 of 1

"No Matching Overload found" Error in script?

Posted: Tue Jul 07, 2020 3:26 am
by rmjmusic
I have a program with 3 layers and zones in each. Each layer has its own Morph filer that I'm using as a Hi Pass Filter. But I also wanted to link the cutoff of each Morph Filter to one knob on the macro interface. I'm using the script below but after attaching the parameter and moving the knob I get the error
"No matching overload found: candidates:
void asParameter(Element&.lua_State*luabind::object.luabind::object.bool)
void asParameter(Element&.lua_State*luabind::object.luabind::object)"

Code: Select all

function onHPFilterCutoffChanged()


    this.parent:getLayer("Main Layer"):getLayer("Synth 1"):getBus("Synth-Bus"):getEffect("Hi Pass"):setParameter(1)
    
    this.parent:getLayer("Main Layer"):getLayer("Synth 2"):getBus("Synth 2-Bus"):getEffect("Hi Pass"):setParameter(1)

    this.parent:getLayer("Main Layer"):getLayer("Synth 3"):getBus("Synth 3-Bus"):getEffect("Hi Pass"):setParameter(1)

end

 defineParameter("Hi Pass Filter Cutoff", "Hi Pass Filter Cutoff",  0, 0, 22000, 1, onHPFilterCutoffChanged)
I've checked multiple times the path to the effect and the parameter I'm trying to set. I've used both it's name, long name and ID, but keep getting the error. I checked online documentation but haven't found anything specifically speaking on this error.

Any clue what I may be doing wrong? I appreciate the help!

Thanks!

Re: "No Matching Overload found" Error in script?

Posted: Tue Jul 07, 2020 4:34 am
by misohoza
There are couple of issues here.

The setParameter needs 2 arguments. Parameter name or id and value to be set.
Don't use empty spaces in parameter names. It's ok for long name. If you really insist on using parameter name with empty spaces you need to refer to it as: _G["Hi Pass Filter Cutoff"]

You can also use parameter definition to "clone" the filter cutoff parameter. But this is just a suggestion.

Code: Select all

hpDefinition = this.parent:getLayer("Main Layer"):getLayer("Synth 1"):getBus("Synth 1-Bus"):getEffect("Hi Pass"):getParameterDefinition(1)

function onHPFilterCutoffChanged()

    this.parent:getLayer("Main Layer"):getLayer("Synth 1"):getBus("Synth 1-Bus"):getEffect("Hi Pass"):setParameter(1, HiPassFilterCutoff)
    
    this.parent:getLayer("Main Layer"):getLayer("Synth 2"):getBus("Synth 2-Bus"):getEffect("Hi Pass"):setParameter(1, HiPassFilterCutoff)

    this.parent:getLayer("Main Layer"):getLayer("Synth 3"):getBus("Synth 3-Bus"):getEffect("Hi Pass"):setParameter(1, HiPassFilterCutoff)

end

defineParameter("HiPassFilterCutoff", "Hi Pass Filter Cutoff",  hpDefinition, onHPFilterCutoffChanged)

Re: "No Matching Overload found" Error in script?

Posted: Tue Jul 07, 2020 7:16 pm
by rmjmusic
Doh...Yes this makes sense. I have that in other places in my script but these slipped under the radar.

As always, thanks misohoza! Works perfect.