Confused about initial values
Sep 10 2021 | 3:27 pm
I have wasted about 2 hours trying to get initial values to work for live.numbox and live.dial. Let me give an example of what I tried to do:
- added a live.dial; set type to float, range "0. 1."
- entered "0.33" in "Initial Value", which automatically checked "Initial Enable"
- saved the device
- created a new Live project and added the device -- the dial had a value of 0
I tried locking the device in the live patch editor and setting the value of 0.33 on the dial directly. Saved the device, loaded a new project, added the device -- still had a value of 0.
Finally, I changed "Parameter Visibility" from "Automated and Stored" to just "Stored". I saved the device, loaded a new project, and added it -- and voila, the dial came up with a value of 0.33.
I saw hints from old forum posts that it might have something to do with this, but I don't understand the rationale behind it.
My device doesn't need to automate this particular dial, so it's ok to just set it to "Stored", but I imagine that I might build devices in the future that I *do* want to automate, and I *do* want an initial value -- imagine a dial that controls the cutoff frequency of a low-pass filter. It would make a lot more sense to set that cutoff to something like 20kHz out of the box rather than 0, since with a setting of 0, you won't hear anything, and it will make the device that much more difficult for a new user to understand.
I also don't get why there aren't dozens of forum posts about this topic -- it seems like one of the very first things you're going to want to do with a live.numbox or a live.dial is to set the initial value. Then when it doesn't work, and you aren't well versed in parameter visibility concepts, you're going to struggle like I did for a couple of hours. This seems like such a basic use case that it's surprising that there isn't more conversation or documentation about it.
That suggests to me that maybe I'm coming at this problem the wrong way. All I want is for a few controls that have sane defaults in them when you first load the device. But I don't want to cripple them by removing the ability to automate them.
Can anybody help me understand this at a fundamental level? Thanks!