154 | | It can be usefull to call an external program to make tethered shooting, instead of using the Merlin/Orion triggering. |
155 | | |
156 | | If a '''{{{shoot.py}}}''' python script is found in the user config. dir, the functions '''{{{init()}}}''', '''{{{mirrorLockup()}}}''' and '''{{{shoot(bracketNumber)}}}''' contained in this script will be called instead of internal ones. |
157 | | |
158 | | Here is a minimalistic example script: |
159 | | |
160 | | {{{ |
161 | | #!python |
162 | | import subprocess |
163 | | |
164 | | |
165 | | def init(): |
166 | | """ Init the shooting sequence. |
167 | | |
168 | | @return: error code, stdout, stderr |
169 | | @rtype: tuple of int, str, str |
170 | | """ |
171 | | |
172 | | # See shoot() function |
173 | | return 0, "", "" |
174 | | |
175 | | |
176 | | def mirrorLockup(): |
177 | | """ Lockup the mirror. |
178 | | |
179 | | @return: error code, stdout, stderr |
180 | | @rtype: tuple of int, str, str |
181 | | """ |
182 | | |
183 | | # See shoot() function |
184 | | return 0, "", "" |
185 | | |
186 | | |
187 | | def shoot(bracketNumber): |
188 | | """ Shoot. |
189 | | |
190 | | @param bracketNumber: number of the current bracket picture |
191 | | @type bracketNumber: int |
192 | | |
193 | | @return: error code, stdout, stderr |
194 | | @rtype: tuple of int, str, str |
195 | | """ |
196 | | |
197 | | # Launch external command |
198 | | args = ["gphoto2", "--capture-image"] |
199 | | p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
200 | | |
201 | | # Wait end of execution |
202 | | stdout, stderr = p.communicate() |
203 | | |
204 | | return p.returncode, stdout, stderr |
205 | | }}} |
206 | | |
207 | | The external program name (here, '''"gphoto2"''') must be the first element of the '''{{{args}}}''' list; optional params (here '''"--capture-image"''') can be given as additional elements of the list. If you want to give the '''{{{bracketNumber}}}''' value, use '''{{{"%d" % bracketNumber}}}''' (or '''{{{str(bracketNumber)}}}''') as param value. |
208 | | |
209 | | Under Windows, the full path of the program must be given, like '''{{{"C:\\Program Files\\notepad.exe"}}}'''. |
210 | | |
211 | | * ''Note:the tethered program needs to support command-line call.'' |
212 | | |
213 | | More informations about ''subprocess'' module usage can be found here: |
214 | | |
215 | | * [http://www.python.org/doc/2.5.4/lib/node528.html] |
216 | | * [http://www.python.org/doc/2.5.4/lib/node532.html] |
| 153 | Tethered shooting is now done through plugins. |
307 | | ==== Camera tab ==== |
308 | | |
309 | | * '''Time value''': shooting time. If set to 0, skip shooting sequence |
310 | | * '''Pulse width (high/low)''': width of the shutter triggering pulse (high level duration, and minimum low level duration between too consecutive shots) |
311 | | * '''Bracketing''': number of picture to take at each position, and the intent of the bracketing |
312 | | * '''Sensor (coef/ratio)''': ratio to 24x36 size, width vs height ratio |
| 244 | ==== Camera/lens tab ==== |
| 245 | |
| 246 | * '''Sensor (coef, ratio)''': ratio to 24x36 size, width vs height ratio |