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!

    • Sep 10 2021 | 3:40 pm
    • Sep 11 2021 | 3:07 pm
      I can see that you set the initial value to 0.33, but when I dragged your amxd into my project, the dial was set to 0.
    • Sep 11 2021 | 3:10 pm
      My version info:
      Live Suite 11.0.6 Big Sur 11.5.2, 2020 M1 MacBook Pro Max 8.1.11
      Maybe this is a bug?
    • Sep 11 2021 | 3:51 pm
      only when you drag a new device "on" a existing device and replace it, the values of the matching parameters are copied to the new device, but when you add a device, the init values should be set.
      Is the Audio Engine ON? I just tested when the Audio Engine is off, it´s set to 0. Live 11.0.5 Win 10
    • Sep 11 2021 | 4:20 pm
      Yes, my audio engine was off. I was doing some dev work and didn't need the audio output. I turned it back on, removed your device, and dragged it back in from the Finder, and I got the 0.33. I repeated the experiment with my device, and sure enough, the controls got their init values properly! Man, I wish I had noticed that before I wasted so much time with the settings of those controls.
      Can you think of a reason that this would be the expected behavior? It seems buggy to me. Especially, with newer Macs, the audio engine being disabled can be due to something as simple as unplugging your headphones (on Mac now, the speakers and headphones are seen as two separate audio devices, unfortunately -- when you select headphones for your output device, and unplug them, Ableton thinks the audio output device has gone away, so it shuts down the audio engine).