I’m at stress level 9000 because apparently I uploaded a broken version of my plugin. Logic reports:
PUBLISHED PARAMETER INFO:
# # # 251 Global Scope Parameters:
WARNING: retrievedValue = 0.400079 (was 0.400079), Parameter did not retain default value when set
WARNING: retrievedValue = 0.400079 (was 0.400079), Parameter did not retain default value when set
WARNING: retrievedValue = 0.400079 (was 0.400079), Parameter did not retain default value when set
WARNING: retrievedValue = 0.400079 (was 0.400079), Parameter did not retain default value when set
WARNING: retrievedValue = 0.378178 (was 0.378177), Parameter did not retain default value when set
ERROR: Parameter did not retain set value when Initialized
* * FAIL
--------------------------------------------------
AU VALIDATION FAILED: CORRECT THE ERRORS ABOVE.
--------------------------------------------------
It doesn’t say which parameters or why they would differ …
I’d say no, but it’s really hard to tell since I have over 250 parameters, yet Logic doesn’t care to tell me which actual parameter is causing problems.
The big difference to the post you mentioned is that in there, values are actually differing. In my case, the values seem to be the same, except the last
WARNING: retrievedValue = 0.378178 (was 0.378177), Parameter did not retain default value when set
which only differes in the last digit. Could be a double to float conversion somewhere?
Anyway I might start a git bisect today to single out the commit which introduced the problem.
I would suggest running sudo killall -9 AudioComponentRegistrar after building a new plugin and before testing it as it can pick up an old one otherwise (this should be in your installer to).
TBH I don’t fully understand the role of AudioComponentRegistrar, however you can find countless cases of users and developers experiencing issues with audio components not being picked up after being added, or even after audio units being removed them still being picked up. You can find them on here, KVR, and others. You can get around it by logging out/in or restarting but the above command prevents the need for either of those. We use this for CI too which we’ve been able to reliably recreate the issue with (GitHub Actions) and again the above command has fixed that.
Have a look through this old thread, there’s another suggestion I made there, maybe for older OS versions this still works? I assume these users are on older OS versions?
its multiple users and they have been testing my suggestions for a few days now, so I guess someone would have rebootet at this point. Not sure though. I thought the restart was a trick reserved for win users though
Restarts are what we always do (and recommend) for Logic users, after updating/installing a plugin. Studio One doesn’t require a restart, but you have to right-click in the plugins pane and select Rescan (or something like that).
If not even a restart is working it suggests something else is up to be honest. Is auval picking up the plugin, have you ran it through the tests using auval?
In my experience killing the AudioComponentRegistrar helps the AudioUnit to be found. But it doesn’t do anything to the validation.
Since it seems to be an issue with conversion precision, maybe have a look at your parameter NormalisableRanges. Do you use manual mapping functions? Could it be, that one of the mappings does not return the same result when normalising and denormalising?
I think that is what the validation is actually testing.
Guys I finally got it. Once again, I was falling victim to my own assumptions:
When doing my git bisect I assumed removing the plugin, then starting Logic (making sure the plug wasn’t there) then adding the new one and starting Logic again would make Logic rescan the plugin. Spoiler alert: It doesn’t.
I just had to rescan manually …
The culprit was a line where I lazily set a parameter value from its current value:
@daniel you’re completely right I’ve completely misunderstood and thought we’re talking about the wrong version of a plugin loading not an auval failure - it’s been a long day!!
Looking back I think I got hung up on this point…
In the end I still don’t know what happened, the problem just disappeared. A clean build would probably have solved the problem as well…
This sounds like one of those cases when you’ve not been testing what you think you’re testing.
@FrederikSiepe if you run the installer your users have and then run sudo killall -9 AudioComponentRegistrar can you reproduce the issue?
Awesome! Regarding the rescan in Logic there are two ways to force Logic to do a rescan (that I’m aware of), set the version number to be higher than the previously scanned version (note always make sure this is incremented for your users!!) or set the version number to 0.0.0 this will always rescan the plugin in Logic (I contacted Apple about this in the past). So you could always make debug builds use a version of 0, however I think killing AudioComponentRegistrar will also likely do the trick.