2

very new here so please bear with me. I'm an artist trying to realise an idea for a camera that takes photos every X interval during a month. Everything works, except that the app with which I transfer the photos to a MacBook seems quite unstable after a day or so flooding the Console with RemoteCameraControl[94450] <Warning>: ========== resetTimeoutTimer ==========< and often randomly disconnecting with

2018/4/6 00:02:15 PTP_FALSE -> pollingThread[464]: Failed to get all device PropValue!!!
2018/4/6 00:02:20 PTP_FALSE -> timeoutThread[713]: Time Out!!

(from a log created by the program)

I've not been able to solve this using a combination of Python & LaunchAgents or even resorting to AppleScript, so now I was hoping to have a crack at changing the program itself. The program in question is Sony's freely available RemoteCameraControl (http://support.d-imaging.sony.co.jp/imsoft/Mac/rcc/us.html):

Mach header
      magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
   MH_MAGIC    I386        ALL  0x00     EXECUTE    26       3740   NOUNDEFS DYLDLINK TWOLEVEL WEAK_DEFINES BINDS_TO_WEAK PIE

I've opened it using MachOView and see it's an x86. Now I've been trying to understand the contents, but with my background in coding (Python, R, JS, PHP etc) I was confused by the lack of a linear logic: I understand there are lots of (symbolic) links being specified, either to external or internal components/programs, but nowhere can I seem to find something along the lines of "If no activity for X minutes then shut down the program" or find the parameter that dictates the PTP_FALSE -> timeoutThread[713]: Time Out!! errors.

I know this is hardly a specific question, but I was wondering whether anyone could point me into the right direction: are some of the contents not shown by MachOView? Do I need another app to see the linear logic of the app? Is there any good documentation on beginner's steps of how to understand an executable of this sort? I've found this website http://thestarman.pcministry.com/asm/index.html but am not sure where really to start either...

4
  • You opened the executable and so you are seeing the executable code contents. It sounds like you were expecting source code there. Are you aware of the difference? (A "no" answer would indicate you'd need far more information than can be provided in an answer – it's practically an IT course on its own.)
    – Jongware
    Apr 14, 2018 at 12:18
  • Have you tried to simply kill and restart the RemoteCameraControl process automatically, e.g. once per day? This should be possible using AppleScript, see macstuff.beachdogs.org/blog/?p=31
    – user22967
    Apr 14, 2018 at 13:59
  • @usr2564301: Yes I'm aware of the difference, and the fact that the source code is inherently lost during compilation into the executable file. But I did think I would be able to find (and change) the specified parameter for such variables as "Timeout" and "resetTimeoutTimer" in the executable? Apr 16, 2018 at 9:52
  • @MichaelEngel: Good idea. I did already create a .plist with KeepAlive and added it to LaunchAgents, but the program does a lot of back talk when it crashes and restart, prompting dialogs both on quit and start (already set defaults write com.apple.CrashReporter DialogType none but it happily adds dialogs of its own about folder location to save files, etc.). The tricky thing with your solution is that I need to be sure it isn't in the middle of taking photographs (and the trigger for the photograph is something completely outside of the program)... Apr 16, 2018 at 10:12

1 Answer 1

1

Sony has published a remote camera API that seems to to support image capture etc. Unfortunately, this seems to be available for Android and iOS only.

However, there's a number of projects on github (pysony,sonypy) as well as quite a number of Sony remote tools for other languages (simply search "sony remote" on github) that implement a Python API that should work on OS X. There is a list of supported cameras on the Sony developer web site. My old NEX-3 is not supported (probably due to the lack of Wifi, I assume remote control does not work over a USB connection), so I couldn't test the Python code.

1
  • I'm afraid I'm using an older DSLR model, also unsupported... Jun 20, 2018 at 21:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.