Camera Settings

This page describes how to set and get various camera settings of connected camera device using RICOH Camera USB SDK.

Contents

Supported Camera Settings

Core Class

The core class of camera settings is:

CameraDeviceSetting

  • The CameraDeviceSetting class represents various camera settings of the connected camera device.
  • Supported camera settings are provided as derived class of the CameraDeviceSetting class.

Date and Time

Use the CameraTime class to set and get date and time of connected camera.

Get the Current Value

The following example demonstrates how to get the current date and time of connected camera and time_t value of the same value.

std::unique_ptr<CameraTime> cameraTime(new CameraTime());
cameraDevice->getCameraDeviceSettings(
    std::vector<CameraDeviceSetting*>{time.get()});
const CameraTimeValue& cameraTimeValue =
    dynamic_cast<const CameraTimeValue&>(cameraTime->getValue());
time_t cameraDateTime = cameraTimeValue.get();

If you want to obtain a time_t value from the acquired CameraTime, use the get method of CameraTimeValue, which stores the actual value in the CameraTime object.

Set Value

The following example demonstrates how to set camera device’s date and time.

time_t t = time(nullptr);
std::unique_ptr<const CameraTime> cameraTime(new CameraTime(t));
cameraDevice->setCameraDeviceSettings(
    std::vector<const CameraDeviceSetting*>{time.get()});

You can use the CameraTime class and the setCameraDeviceSettings method to set a specified time_t value.

Date and time of the camera device can be set by specifying time_t value for the constructor with arguments.

Live View Specification

Use the LiveViewSpecification class to get current live view specification.

Get Value

The following example demonstrates how to get live view specification.

std::unique_ptr<LiveViewSpecification> liveViewSpecification(new LiveViewSpecification());
cameraDevice->getCameraDeviceSettings(
    std::vector<CameraDeviceSetting*>{liveViewSpecification.get()});
const LiveViewSpecificationValue& liveViewSpecificationValue =
    dynamic_cast<const LiveViewSpecificationValue&>(liveViewSpecification->getValue());
const LiveViewImage& liveViewImage = liveViewSpecificationValue.get();
// Image: 720x480,
// FocusArea:
//     (0.1, 0.166666), (0.9, 0.166666),
//     (0.1, 0.833333), (0.9, 0.833333)

If you want to obtain a LiveViewImage object from the acquired LiveViewSpecification, use the get method of LiveViewSpecificationValue, which stores the actual value in the LiveViewSpecification object.

LiveViewImage object has height and width size of the live view image and the range where focus position can be specified on the live view image. focusArea represents the upper left corner of the live view image as (0.0, 0.0), the upper right as (1.0, 0.0), the lower left as (0.0, 1.0), and the lower right as (1.0, 1.0). The inside of the area represented by each point included in focusArea is the position specifiable range.

This information is used by Focus with Specified Position.