DallasZhen
Member
Hi guys! I wrote yesterday a “Proof of concept” application for “software driven follow focus” and… IT WORKS!
It is very simple, as I did 8 specific focus distances starting from .45 meters. But every single time I ran the program, it was exactly stopping in the marks. This means that, at least with my lens, you can replicate focus movements very precise.
Little video here (took me more to capture and upload video than to write the program):
http://www.youtube.com/watch?v=YjQIbqVDcog
There are a couple of things that might need to be coded on behalf of speed and user interface. Things that come to my mind are the following:
-Intelligent selection of the 3 different speeds that the SDK gives you, so the software chose which one to use depending on how “far” the next step of focus is.
-Find if there is a way to get to know if the camera is ready to “receive” the next step command. What happens with the program right now is if I send the commands to close to each other, I get an error as the camera is “BUSY”, so there are two options right now… to send commands until the camera is not sending “BUSY” error, or to wait an specific amount of time. I don’t like the first one as I get the feeling that it might crash the communication. I am using the second one with a 300 millisecond wait, I found is very reliable but slow. The fastest I have tested with success is 100 milliseconds of wait, but sometimes it works and sometimes it doesn’t… Does anyone with experience in the SDK and knows how to get a notification from the camera when it’s ready to receive a command??
-I was wondering how to get to “Zero” position, or the shortest focus distance, and to infinity without asking the user to manually move the lens. After DSPographer’s post, if I can find a way to get some rough info of the position, the only thing needed is to know when we are at any extreme of the lens, with that, I would be able to know how many steps of “latitude” has the lens, very useful, but most important, being able to have a reset point without user intervention.
-You might be able have different ways to access the focus value of the camera, from using the actual “values”, so you can put… “Lets focus at 1.3 meters”, and the software would give the best approximation. To having a slider, that you can drag interactively and control the lens barrel, to “memory shortcuts” so you can have your favorite focus point. It might be even possible (and really simple) to attach a joystick or any input device to control this operation.
-A part of the interface would be to select the “calibration” steps of the camera for a new lens. Once that process is done, you don’t need to calibrate anymore the lenses, and you can share the “calibration files” for each lens.
-Program a function that given an amount of seconds, you can change focus from point to point, That way you can have shortcuts for follow focus effects. This depends on the speed and quality of the step size of motors, but might be useful and fun.
- Again, as I don’t have access to any other lens (My other lens set is a Lensbaby that doesn’t have a focus knob) I can check how related are lenses in step/focus distance. You might be able to map different lenses automatically.
So, again I am pretty busy right now, but as the long weekend is coming, I might be able to create a lot of this ideas and maybe do a program that encompass a rudimentary follow focus. My problem is that as most of my programs are for specific VFX production, most of them are based on console applications, so I don’t have the most remote idea of how to program buttons and sliders for windows. Anyway would be a good way to learn… but the original idea and objective of this posts is that anyone else could get and give ideas of a software like this… maybe even Canon should supply with a little application that does this… (I know… in my dreams!)![]()
I think this is very good news to share with.
Link: http://cinema5d.com/viewtopic.php?f=14&t=3258&start=40
I think this may become some thing like : Birger for RED ONE
Let's talk about.