How does one add an additional widget for the same property? Using the symbolic shutterspeed2 as in:
gphoto2 --set-config shutterspeed2=1/500 is definitely preferable over gphoto2 --set-config shutterspeed=0.0020s I have a z7 where I developed my app that uses libgphoto2, and was using shutterspeed2 with it. Then I tried testing with my z8 and discovered shutterspeed2 wasn't available (among other things I wish to fix). The z7 reports properties 0x500d (Shutter Speed) and 0xd100 (Nikon Exposure Time), these are mapped to shutterspeed and shutterspeed2 respectively, however the z8 is only reporting 0x500d. I did manage to add shutterspeed2 for the Z8, by changing the duplicate prop detection to do string comparison instead of int comparison just to see if it would work at all. Turns out it works just fine for my z7 and z8. It sort of makes sense that widgets in the camera specific menus would get added before any of the generic ones, and allows duplicate widgets if one wanted to customize the string to value mapping for a specific camera make & model. Here's my change with lots of added debug messages: https://github.com/weegreenblobbie/libgphoto2/compare/81904a36a2a64e1f6005199ef9193db70e1fc444...a00bc950dc3bd3cf1a62506c3e65650b3a0ab5a6#diff-d3c5da5d3a5099832467c8377ed035f65cc92e5e0aae288462a9d265d6125de9 I'm curious if this is the right direction or if there's a better way. Thanks for reading, Nick On Sun, Jul 13, 2025 at 4:53 AM Marcus Meissner <mar...@jet.franken.de> wrote: > Hi Nick, > > I am not sure. but "shutterspeed" should already cover this configuratuon. > > - it is UINT32 > - it is using value / 10.000 currently > > Only problem is the very short exposuretimes perhaps. > > > > On Sat, Jul 12, 2025 at 08:45:47PM -0700, Nick Hilton wrote: > > After a bit of debugging, I managed to get shutterspeed2 working with my > > Nikon Z8! > > > > > https://github.com/weegreenblobbie/libgphoto2/compare/81904a36a2a64e1f6005199ef9193db70e1fc444...8ccf7153f4e95e71c17cd83e19ddbb4e46353cff > > > > It turned out to be a 32-bit property, unlike the 8bit properties like > the > > other nikon props. I'd like to add some documentation steps somewhere > too > > for how I figured this out. Mostly a process of producing and reading > the > > debug log carefully: > > gphoto2 --summary should show all values in the enum (if its an enum). > > and usually you would map what is on the camera to this enum. > > The Nikon Z8 SDK is however available to get interseting values. > > > rm -f my-logfile.txt; env LANG=C bin/gphoto2 --debug > > --debug-logfile=my-logfile.txt --list-all-config > > > > I'll see about adding support for a few more nikon specific properties > > and/or values for the Z8 to be on par with the Z7. > > > > -Nick > > > > gphoto2 --get-config shutterspeed2 > > Label: Shutter Speed 2 > > > > Readonly: 0 > > Type: RADIO > > Current: 1/1000 > > Choice: 0 1/6400 > > Choice: 1 1/4000 > > Choice: 2 1/3200 > > Choice: 3 1/2500 > > Choice: 4 1/2000 > > Choice: 5 1/1600 > > Choice: 6 1/1250 > > Choice: 7 1/1000 > > Choice: 8 1/800 > > Choice: 9 1/640 > > Choice: 10 1/500 > > Choice: 11 1/400 > > Choice: 12 1/320 > > Choice: 13 1/250 > > Choice: 14 1/200 > > Choice: 15 1/160 > > Choice: 16 1/125 > > Choice: 17 1/100 > > Choice: 18 1/80 > > Choice: 19 1/60 > > Choice: 20 1/50 > > Choice: 21 1/40 > > Choice: 22 1/30 > > Choice: 23 1/25 > > Choice: 24 1/20 > > Choice: 25 1/15 > > Choice: 26 1/13 > > Choice: 27 1/10 > > Choice: 28 1/8 > > Choice: 29 1/6 > > Choice: 30 1/5 > > Choice: 31 1/4 > > Choice: 32 1/3 > > Choice: 33 1/2.5 > > Choice: 34 1/2 > > Choice: 35 1/1.6 > > Choice: 36 1/1.3 > > Choice: 37 1 > > Choice: 38 1.3 > > Choice: 39 1.6 > > Choice: 40 2 > > Choice: 41 2.5 > > Choice: 42 3 > > Choice: 43 4 > > Choice: 44 5 > > Choice: 45 6 > > Choice: 46 8 > > Choice: 47 10 > > Choice: 48 13 > > Choice: 49 15 > > Choice: 50 20 > > Choice: 51 25 > > Choice: 52 30 > > Choice: 53 60 > > Choice: 54 90 > > Choice: 55 120 > > Choice: 56 180 > > Choice: 57 240 > > Choice: 58 300 > > Choice: 59 480 > > Choice: 60 600 > > Choice: 61 720 > > Choice: 62 900 > > Choice: 63 Bulb > > Choice: 64 Time > > END > > > > On Sun, Jul 6, 2025 at 3:25 PM Nick Hilton <weegreenblobb...@gmail.com> > > wrote: > > > > > Hello! > > > > > > I'm new to libgphoto2 development. I'm interested in adding > shutterspeed2 > > > for the Nikon Z8, I have a Z7 mark I, which does support shutterspeed2. > > > > > > Looking at the code here > > > < > https://github.com/gphoto/libgphoto2/blob/81904a36a2a64e1f6005199ef9193db70e1fc444/camlibs/ptp2/config.c#L11886 > > > > > for the Z7, looks like it's using nikon_z6_capture_settings, so is the > Z8. > > > I've tried adding a custom nikon_z8_capture_settings menu item here > > > < > https://github.com/gphoto/libgphoto2/compare/master...weegreenblobbie:libgphoto2:dev/nikon-z8-shutterspeed2 > >. > > > I've built the lib and the gphoto2 cli utility, verified it's linking > with > > > my local build: > > > > > > ldd gphoto2 | grep libgphoto > > > libgphoto2.so.6 => > > > /home/nhilton/development/pycontrol/external/lib/libgphoto2.so.6 > > > (0x00007275d35f8000) > > > libgphoto2_port.so.12 => > > > /home/nhilton/development/pycontrol/external/lib/libgphoto2_port.so.12 > > > (0x00007275d35e8000) > > > > > > However I don't see any indication my updates are having any impact. > > > > > > I had looked at previous commit changes sets that added various nikon > > > cameras, and it looked similar to what I did, however it's not working. > > > Not really sure how to proceed. > > > > > > Is there any documentation on how config.c is organized that I > missed? I > > > own the following camera and can test the changes necessary: z6ii, > z6iii, > > > z7, z8. > > I try to keep the number of tables to a minimum there, as various Nikon Z > series cameras have the same tables. > > Ciao, Marcus >
_______________________________________________ Gphoto-devel mailing list Gphoto-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gphoto-devel