Camera Control 4.1 – Dog Food

Changes in 4.1 – the “Eat your own dog food” release of Camera Control.


– allow fractional bracketing by changing Cint to Cdbl

– don’t crash on line 157 if there is nothing to download

– removed the “download immediately” function and changed things so that the normal tether does this function
– fixed the bug where push external viewer doesn’t work unless you explicitly choose the output folder

Download it here.

49 Replies to “ Camera Control 4.1 – Dog Food”

  1. I can’t get this program to do anything. I have followed the instructions, but when I click the executable I get a HTML GUI, which isn’t explained anywhere. I have set the watched folder in LR2 but nothing shows up unless I push import. What do I need to do to get the program to pull the files out of my card and push them to LR.


  2. Steve, this isn’t a program or an executable; it’s a script that runs within an HTML file and downloads images to your PC as they are shot. It won’t “pull files out of” your card, it’ll only download images *as you take them*. Then it’s up to you to use your choice of viewer — I use Adobe Bridge and that works fine; I’m told LR works also but don’t have personal experience. I hope that clarifies things for you.

  3. Just downloaded this impressive looking script but have run into a problem already.

    I’ve got a Nikon D100. Set it to PTP mode in the menu, connected to PC and ran the script.

    All seems fine….except the camera just shows “PC” in the top display and the shutter release button doesn’t take a shot. Likewise, trying to take a shot from within the software does nothing.

    Any ideas?

  4. To be honest I don’t know if it would work on a D100, nobody else seems to have tried it. From what I understand the D100 with an older firmware is not fully ptp/wia compatible. I do NOT know this for sure though.

    Does Windows see your camera ok in Explorer? if so then the script should work, but if not, then no hope I’m afraid.

  5. Raymond,
    Can I expect this to work with a D300 and Vista 64-bit?
    I had it working fine on an XP laptop but have since sold it.


  6. It will work worse on Vista by all accounts; but if it is still usable will depend on what features you use. Afraid you’ll have to try and see really as I don’t have personal experience with Vista.

  7. This script is great, but I’ve got a question. Is it possible for a preview of the picture to be viewable on the rear LCD of the camera after each shot while tethering? I have a D80, and the image is no longer displayed on the camera while tethering; I want to be able to tether and still have the redundant preview on the camera itself.

  8. Just love it. I must find a longer USB cord now… Shooting RAW is a huge plus over the JPG limitation of Eye-Fi. Keep up the great code!

  9. Walt, sadly I think that’s impossible. Or at least I have no clue how I could make that work. The camera seems to shut off the LCD as soon as anything is plugged in, even if you are using a video cable to display on a TV!

  10. I was starting to think it was a behavior of the camera that couldn’t be changed. Thanks for confirming, at least I won’t be bothered by not knowing.

  11. First, Thank you Raymond! What a great program you’ve created.
    I’m running CC4.1 on a Lenovo SL500 with Vista Business operating system, and Lightroom V2.5
    My Nikon D200 connects and works perfectly in JPEG mode or RAW+JPEG modes.
    However, I can’t get it to work in RAW only mode. Perhaps it is a problem with my workflow or setup.
    How I setup:
    1. Connect USB cord to laptop and camera, then power on camera.
    2. Create a folder on the desktop for temporary storage of images.
    3. Open Lightroom and create a new catalog with the Auto Import set to Auto Import from the folder I created on the desktop.
    4. Open CC4.1 which recognizes the D200. Select RAW in CC4.1 and RAW on the D200.
    5. Start tether and make images. Shutter function works with the CC4.1 release button or camera shutter release. No image shows in CC4.1 or Lightroom.
    If I set the camera to either JPEG or RAW+JPEG then images are captured and feed to Lightroom and displayed as JPEG files.
    Imports JPEGS with no problem, but no RAW files.
    I’m hoping the problem is with my setup and any help from you or anyone that has traveled this road would be appreciated.
    Thanks again!

  12. I don’t know what I’m doing wrong. I was looking for a way to tether my computer and found this on I just downloaded it and am trying to make it work with my Nikon D3. When I select the camera I get a warning stating “This device may not support shutter release from the computer, use camera shutter if onscreen shutter button does not work”. I can’t get either one to work. My camera is in PC mode which kills al of the button features. Does someone out there know what I’m doing wrong?

  13. Ok, I just figured out what I was doing wrong. I just changed my USB setting in my camera to PTP and can release the shutter.

  14. Now that everything is up and working for me, I just realized that none of my programs have an auto-import feature. I use Nikon Transfer, ViewNX, and CaptureNX. I also have Photoshop elements. None of these have an auto-import feature as far as I can tell. Any reasonably priced solutions out there?

  15. Hi raymond, using CC4.1 with my D50 and it’s light and shadow.

    The good bits: It’s free, it works, and it gives that pro-feel, to configure your camera remotely and have pictures come up on screen automagically. ๐Ÿ™‚

    The not so good:
    – Preview size doesn’t do anything for me
    – I have my camera set to shoot Raw+Jpg. When I use tether, it downloads both pictures, but says “no preview for raw”, this could be improved easily I guess.
    – When I use the shutter release, currently with “JPG” it downloads the Raw, and with “Raw” it downloads the Jpg. Yesterday “Raw” didn’t download anything and “JPG” downloaded the Jpg. Can’t make sense of it yet.
    – My lens at 18mm goes from aperture 3.5 – 22, at 55mm from 5.6 – 36. CC doesn’t know I change the focus and shows the wrong values in the dropdown. Selecting an unavailable one results in a runtime error in Line 290 error 8004201c. I don’t know if it would make sense to refresh the values continuously or catch the error, refresh then and show a hint if/that the selected value isn’t available.
    – The external viewer can’t be configured. How about a textbox for a command line to execture after each picture, with a placeholder for the file?

    I think that’s it for now. It’s meant to be constructive criticism, the good kind of criticism I heard ๐Ÿ™‚

    Cheers, and thanks for you work!

  16. I just tried it, and its great! I hooked it up with my nikon D80 to do an animated film. only thing is, I can’t get the preview?! anyone know how I can fix it to get the preview??

  17. Raymond,
    First, thank you for bringing this to us.
    My question is the RAW mode as well. I see it has been asked a couple times but haven’t seen the definitive answer. Is it possible to view pictures while shooting in RAW mode only. I shoot in RAW mode and rarely shoot JPG anymore. Basically looking for a preview in RAW as well as a bigger preview. Regardless, it’s still a fun program and maeks us all feel light years ahead of everybody else around us, haha. Nothing better than controlling your camera from a laptop to boost your ego. ๐Ÿ™‚

  18. Raymond,
    My apologies, I just viewed your videos and they answered my questions. (ie: view raw in another program while shooting…Bridge or LR)
    Thanks again for all your hard work.

  19. Where did you get the data that you populate into the ShutterTable and WBTable dictionaries? Does nikon publish that, or did you develop a process to probe the camera for valid values?

    What about the long ugly GUID-lookin’ strings, like dev.Properties(“Format”) on line 593?

    I want to try to adapt your script to my Sony…it connected, but they don’t speak the same language (yet!!)

    Thanks for a great program!

  20. Russ,

    The dictionary table values come from looking at the WIA structure where it shows acceptable values for the sub key. What they mean is a matter of educated guessing and trial and error. I used Excel and VBA to work this out as it has a better IDE and lets me do “watch” and look at objects in real time.

    The GUID strings you get from the MS documentation on WIA Automation on MSDN.

    Good luck with the Sony!

  21. How can i save timelapse photos to my PC with a D40. It just saves them on my memorycard which gets full after 900 pics (2GB).

  22. OK a little more info… the scrips just shows up in notepad. I had some dev/programming programs installed on this system, perhaps that’s why this is showing up?

  23. Greg, the hta should be associated with mshta.exe, not with notepad, as follows:
    ProgramID: htafile
    EXEFile: ......\System32\mshta.exe %1 %*

  24. Daniel, the script doesn’t support that. In theory I could implement it but I’m afraid of having my script delete things from the card so would rather avoid it.

  25. Great program! Many thanks. I use it together with my Nikon D80 (shooting in RAW), Asus laptop running with Vista Home Premium and viewing in Lightroom 2.6.

  26. Raymond,

    Is works fine with my D50 but it looks like battery life is reduced because of it being tethered and the meter seems to be on all the time. I am doing long timelapse shots. Is there any way to make the camera go into standby mode between shots to conserve battery life.

    D50 is rated at about 2000 shots on single charge but I get less than 400 (20 sec interval) when connected to laptop with no autofocus and manual mode. Battery dies in only a few hours.


  27. This is typical with tethering, I have heard that there is the same issue with the Nikon software. The actual USB connection draws a lot of juice apparently. In fact this is one way to deep-discharge your battery; just leave it plugged into usb!

    Only real solution is an AC power supply.

  28. Ok, thanks for the clarification.
    Do you know if there is any cheaper
    alternative to the Nikon branded AC power supply?
    I think $90 for an adapter is too much.

  29. Just wanted to say THANKS!

    This works OK for my D3000, a few bugs but considering that Nikon doesn’t even support this camera on there Camera control pro 2(And say it cant be done), You rock in my books!

  30. Thank you Raymond,

    I got file to load buy changing the association to mshta.exe but it isnt finding my D40X. Do I need to make some changes to my registration? I tried searching for mshta buy using regedit and I found many refrences. Just not sure I ever found the right one. Any more help would be great. FYI I have Vista 64 and its always been a little quirky.

    ProgramID: htafile
    EXEFile: ……\System32\mshta.exe %1 %*

    Thank you,
    Greg Bahlhorn

  31. Also I still have the demo of the nikon software installed, perhaps that’s the problem with finding the camera?

  32. Greg, the demo of the Nikon software should not be a problem. And if you are getting my script to run then basically that’s it I’m not sure what else would be needed. Is WIA functioning? e.g. can you see the camera from Windows Explorer?

  33. @Dustin, it’s strange the way they don’t support a few “low end” models. D70 is in the same category, there is no SDK for them. But they can do PTP fine so at least this basic tethering functions I have implemented are possibe.

    @Sean, I’m afraid electrical power is the point at which I’m unwilling to DIY! I know my limitations! I would suppose that a search on Ebay would turn up some alternatives but as with everything there buyer-beware!

  34. @raymond, I find it funny that ccp2 supports D60 D40 D40x but not the newer D3000..I am sure it can work, But Marketing said no…This way more D5000 will sell.

  35. Raymond, Yes I can see the camera but the script does nothing when I try to select the camera. What should I set the USB to on the camera?

  36. I was testing the program with my D3000 and noticed that I can’t change the mode setting. So after some more testing I found out that the camera doesn’t sync the“Exposure Mode”).value, back to the pc.

    Ive added an extra test which actually tries to change the value in the camera (its on r484) Ive also changed what Exposure Mode would dislpay (r322)

    I also changed the preview size code and added ‘None’, so that it now works. ‘None’ could be usefull when using lightroom to show the photo’s. (r946 & r829)

    Here is the link to the code:
    Im a coding newb so this was a nice training ;P.

  37. First thanks for the program.

    I downloaded CC4.1 and installed it. Then I setup Lightroom 2.3 to auto import. I set my D70’s USB to PTP and plugged it in. All appeared to be working fine, I could control the camera settings with CC4.1 even the shutter release worked. However I got not pictures on the PC. When disconnected the camera from the computer the pictures were on the memory card. Next I tried my D200. All the CC4.1 and Lightroom setting were the same and everything work fine. My pictures were tethered through CC4.1 and auto imported into Lightroom. Any thoughts in why the D70 didn’t work?

  38. Allard, I’m please that you found this interesting and glad you made it work for yourself. However I would appreciate if you did not upload modified versions of my Copyright code to other websites. Thanks.

  39. This is a great program. Thanks a lot for your development. I wonder if you can add the bulb timer control option. Some time it’s nice to have an exposure longer than 30 seconds.

  40. Raymond, I love your camera control script. I am trying to use it for a DIY photobooth for my wedding using a Nikon D3000. I was able to get it to shoot remotely and display big previews using Windows Explorer in “filmstrip” mode. The one thing I need to finish the job is some way to introduce a delay in your script between when you push the shutter release button and when it fires the camera. Don’t suppose you know of an easy piece of script I could put in there to accomplish that? Setting the camera to 5 second delay does not accomplish this… Oddly, the 2 second remote delay option works, but this is not quite long enough for how I plan to set things up. Thanks in advance, great little script.

  41. Raymond, your idea worked great.

    The last piece of the puzzle is that I think drunk people will have a hard time navigating the mouse and clicking the correct button in the script. Are there any “hot keys” in your script? i.e. hit T for timelapse or S for shutter release? I was considering covering up the keyboard on the laptop with a piece of wood or cardboard, only allowing the guests to hit one button to take a picture. I’ve considered using an old style mouse with a track ball, positioning the mouse in the correct place, and removing the ball… but the keyboard option would be easier.

Leave a Reply

Your email address will not be published. Required fields are marked *