As API v.2.1 requires an additional step, why use it? Someone on the official forum asked this question. The question and my response are below.
Question
Instead of doing:
- Start session
- Set API version
- Acquire status prior to shooting
- Acquire/Set properties
- Shoot still image
- REPEAT: Confirm file save
- Acquire file
can we do:
- Start session
- Shoot still image
- REPEAT: check status of the takePicture command
(osc/commands/status with id that was acquired when takePicture was called)
If status of this is “done”, doesnt it mean that it was saved?- Acquire file
This seems to work, am I missing some edge cases?
My opinion
Your method will work.
However, it will only work with the v2.0 API, which the THETA S supports.
The v2.1 API is compliant with the Google OSC API version 2.0.
The edge case is if you want to support future cameras that don’t support the OSC level 1 (THETA API v2.0).
I suspect that this is unlikely with THETA products. So, you should be okay. What we don’t know is if the next-generation THETA exposes API v2.0 or API v.2.1 immediately after the camera boots.
If you’re building your app for your own camera or for a controlled set of cameras (like in a factory you’re under contract to optimize with 360 workflows), then you should be okay with your method. If you are releasing your app to the general public, you should check in again after the next generation camera is released and see if the default is API v2.0.