I made this to help my partner with her WFH setup.

Some of her cameras will over-expose when left on auto, and the settings to tweak the exposure aren’t super easy to get to.

With this tool, we have bound the spare knobs on her macropad (https://www.aliexpress.com/item/1005003500083583.html) to increase/decrease the exposure easily.

Disclosure: I used AI for the initial draft of the Windows api, and also to generate the README. Both have been manually reviewed and extensively refactored, although I am sure that there are some AI-isms that I probably missed (or accepted).

  • CameronDevOP
    link
    fedilink
    arrow-up
    3
    ·
    6 days ago

    Inspired by danhab99’s macropad project (ev-cmd)

    The AI code that was originally generated, using Jetbrains + Codex, was pretty poor. It used an ancient windows crate, and didn’t actually compile. It also did some very sketchy stuff like:

    let variant = VARIANT::default();
    let str = variant.Anonymous.Anonymous.bstrVal;
    

    which seems a bit silly, even if it does work.

    It was good to save me diving through the Windows API docs, but really needs a human to check that the code is reasonable.

    The windows crate could do with a bit of love, would be nice if MS could spend some effort on improving it. Doco is basically absent, and there could be some nice wrappers around some of the lower level stuff. E.g: The VariantGuard wrapper that I added would be a nice addition to the actual library. There seems to be a mish-mash of higher level and lower level code.

    Linux code was not tested, as for some reason the webcams I have spare don’t support exposure on Linux.

    • danhab99@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      5 days ago

      For a pile of rust it is pretty dang spiffy. I could definatly use this, my apartment gets flooded with light in the morning and my camera doesn’t adjust

      • CameronDevOP
        link
        fedilink
        arrow-up
        1
        ·
        5 days ago

        If there are issues, don’t hesitate to reach out, I’m happy to do whatever tweaks are required to get it working.

        I was also planning on getting it to control other camera features, like shutter/iso/etc.