Sony CameraRemoteSDK API-Reference v1.09.00
Sony CameraRemoteSDK API-Reference v1.09.00
*All implied warranties, including without limitation the implied warranties of merchantability or fitness for a
particular purpose, are excluded. In no event shall Sony Corporation or its licensors be liable for incidental or
consequential damages of any nature, including but not limited to lost profits or commercial loss, arising out of the
use of the information in this document.
© Copyright 2023 Sony Corporation. All rights reserved. Brands,
company or product names mentioned herein are trademarks of their
respective owners. You are hereby granted a limited license to download
and/or print a copy of this document for personal use. Any rights not
expressly granted herein are reserved.
Preface
About this document
The purpose of this document is to list the API specifications for the Camera Remote SDK provided
by Sony Corporation.
Document conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in IETF RFC 2119.
http://www.ietf.org/rfc/rfc2119.txt
For information regarding the latest Camera Remote SDK updates, go to the web site at
http://www.sony.net/CameraRemoteSDK/
3
Camera Remote SDK
Document history
Change history
Date Version Overview
2020-Feb-06 1.00.00 First version
2020-Jun-18 1.00.01 Just SDK version proceeded with bug fix (no change in the API
doc.)
2020-Jul-16 1.01.00 Some of DeviceProperties and Property values are added.
2020-Jul-28 1.02.00 “Supporting products” is updated.
Some of DeviceProperties and Property values are added.
2020-Aug-03 1.02.00 “Supporting OS” and “Providing package” are updated.
2020-Sep-15 1.02.00 “Supporting products” is updated.
2020-Oct-15 1.02.01 Just SDK version proceeded with bug fix (no change in the API
doc.)
Windows version only.
2020-Oct-15 1.02.01 Explanation of Focus_Magnifier_Setting is updated in
“CrDeviceProperty” and added in “Tips/Trouble Shooting”.
2020-Dec-08 1.03.00 “Supporting OS” and “Providing package” are updated.
Multiple cameras can be controlled by a single SDK.
Some of error codes are added.
2021-May-11 1.04.00 “Supporting products” is updated.
“Supporting OS” and “Providing package” are updated.
Wired LAN connection is added.
Some of DeviceProperties and DeviceProperty values are added.
Some of error codes are added.
2021-Nov-09 1.05.00 “Supporting products” is updated.
Content transfer function via USB connection added.
Some of callback functions are added.
Some of DeviceProperties and DeviceProperty values are added.
Some of error codes are added.
2021-Dec-07 1.05.00 "Function List" is updated for the latest version of ILCE-7RM4A
and ILCE-7C.
2022-Oct-12 1.06.00 “Supporting products” is updated.
Wired LAN connection by SSH is added.
Some of callback functions are added.
Some of DeviceProperties and DeviceProperty values are added.
Some of error codes are added.
“Function List” is updated for the latest version of ILCE-1, ILCE-
7SM3 and ILCE-7M4.
2022-Oct-27 1.07.00 “Supporting products” is updated.
2023-Mar-06 1.07.00 “Function List” is updated for ILME-FX3.
2023-Apr-12 1.08.00 “Supporting products” is updated.
Some of DeviceProperties and DeviceProperty values are added.
Some of error codes are added.
Provided as a universal library for macOS.
The transfer size of captured still images can now be specified.
“Function List” is updated for the latest version of ILCE-7RM5,
ILCE-7M4, ILME-FX3 and ILME-FX30.
2023-Jul-19 1.09.00 “Supporting products” is updated.
4
Camera Remote SDK
Contents
About this document ....................................................................................................... 3
Document history ............................................................................................................. 4
Introduction ....................................................................................................................... 8
Version, Serial Number, Providing Package .............................................................. 8
Version .................................................................................................................................................................. 8
Serial number ....................................................................................................................................................... 8
Providing Package .............................................................................................................................................. 9
Uninstallation .................................................................................................................. 20
Delete all related folders and files. .................................................................................................................. 20
5
Camera Remote SDK
Release ............................................................................................................................................................... 75
CameraObject .................................................................................................................................................... 76
Connection ......................................................................................................................................................... 86
Device ................................................................................................................................................................. 90
Device Property ................................................................................................................................................. 91
Send Command ................................................................................................................................................. 97
LiveView .............................................................................................................................................................. 98
Device Setting .................................................................................................................................................. 105
SDK Version ..................................................................................................................................................... 110
SDK Serial Number ......................................................................................................................................... 111
Update SDK Information................................................................................................................................. 112
Contents Transfer ............................................................................................................................................ 113
Display string .................................................................................................................................................... 125
Setting file ......................................................................................................................................................... 133
MediaProfile ..................................................................................................................................................... 137
Lens information .............................................................................................................................................. 140
Command....................................................................................................................... 144
CrCommandId .............................................................................................................................................. 144
6
Camera Remote SDK
7
Camera Remote SDK
Introduction
The purpose of this document is to describe the API specifications and information about how to
access camera functions and the procedure to establish connection to use the APIs for the Camera
Remote SDK.
Version
The Camera Remote SDK itself has one version, the app may check this version and change its
behavior accordingly.
Serial number
The Camera Remote SDK itself has a serial number, the app may check this serial number.
8
Camera Remote SDK
Providing Package
Camera Remote SDK has following packages.
9
Camera Remote SDK
Supporting conditions
Even if the support conditions below are satisfied, it does not guarantee proper operation in all
environments.
Please update each camera to the latest System Software (Firmware) before use.
- ILCE-1 https://helpguide.sony.net/ilc/2040/v1/en/index.html
- ILCE-9M2 https://helpguide.sony.net/ilc/1960/v1/en/index.html
- ILCE-7RM5 https://helpguide.sony.net/ilc/2230/v1/en/index.html
- ILCE-7RM4A https://helpguide.sony.net/ilc/2060/v1/en/index.html
- ILCE-7RM4 https://helpguide.sony.net/ilc/1930/v1/en/index.html
- ILCE-7SM3 https://helpguide.sony.net/ilc/2010/v1/en/index.html
- ILCE-7M4 https://helpguide.sony.net/ilc/2110/v1/en/index.html
- ILCE-7C https://helpguide.sony.net/ilc/2020/v1/en/index.html
- ILCE-6700 https://helpguide.sony.net/ilc/2320/v1/en/index.html
- ILME-FX30 https://helpguide.sony.net/ilc/2220/v1/en/index.html
- ZV-E1 https://helpguide.sony.net/ilc/2310/v1/en/index.html
https://helpguide.sony.net/dsc/1910/v1/en/index.html
10
Camera Remote SDK
Ethernet
USB
No. Model Name (Wired LAN)
R C R C
1 ILCE-1
2 ILCE-9M2 - -
3 ILCE-7RM5 - -
4 ILCE-7RM4A - -
5 ILCE-7RM4 - - -
6 ILCE-7SM3 - -
7 ILCE-7M4 - -
8 ILCE-7C - -
9 ILCE-6700 - -
10 ILME-FX6 (Ver. 3.00 or later) - - * -
11 ILME-FX3 (Ver. 2.00 or later) - -
12 ILME-FX30 - -
13 ZV-E1 - -
14 DSC-RX0M2 (Ver. 3.00 or later) - -
*: With SSH authentication. Use a USB Type C wired LAN adaptor. Use of a Gigabit
Ethernet compatible adaptor is recommended.
11
Camera Remote SDK
Supporting OS
- Camera Remote SDK for Windows
Checked with the environment on “Ubuntu 20.04.1 LTS”, “Ubuntu 22.04.1 LTS”
2 Raspberry Pi4 Model B (4GB) ARMv8 Cortex-A72 Raspberry Pi OS (64 bit) beta test
version
Even if the support conditions are satisfied, it does not guarantee proper operation in all
environments.
Checked with the environment on “11.1 or later(Big Sur)” and “12.1 or later(Monterey)” and
“13.1 or later(Ventura)”
Provided as a universal library from version 1.08.00.
12
Camera Remote SDK
Environment Setup
This value represents the maximum data size of USB bulk transmission and should be larger than the
file size transferred from cameras to the host. (Unit is [MB].)
If you need to adjust memory size adequately, you should set this value to the maximum file size of
your camera model.
Raspberry Pi OS
Open /etc/rc.local with an editor.
Add the command below at the end of the file before "exit 0" to modify Bulk Transfer Rate
configuration file.
Save & Close the file and reboot. Make sure that “150” is written in the configuration file.
$ cat /sys/module/usbcore/parameters/usbfs_memory_mb
150
13
Camera Remote SDK
Before:
After:
Save & Close the file and reboot. Make sure that “150” is written in the configuration file.
$ cat /sys/module/usbcore/parameters/usbfs_memory_mb
150
14
Camera Remote SDK
Before:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
After:
$ sudo update-grub
Reboot and make sure that “150” is written in the configuration file.
$ cat /sys/module/usbcore/parameters/usbfs_memory_mb
150
15
Camera Remote SDK
ILCE-1 and DSC-RX0M2 is used as an example here. For other models, refer to "PC Remote
Function" in the Help Guide.
For ILCE-1
- Please set “Network > Transfer/Remote > PC Remote Function > PC Remote” to “On”.
- The default setting of “Network > Transfer/Remote > PC Remote Function > PC Remote Cnct
Method” is “USB”, but if other than “USB” is set, change it to “USB”.
For DSC-RX0M2
- Please set “Setup > USB Connection” to “PC Remote”.
16
Camera Remote SDK
ILCE-1 is used as an example here. For other models, refer to "PC Remote Function" in the Help
Guide.
- Please set “Network > Transfer/Remote > PC Remote Function > PC Remote” to “On”.
- The default setting for “Network > Transfer/Remote > PC Remote Function > PC Remote Cnct
Method” is “USB”. Please change it to “Wired LAN”.
After enabling the wired LAN connection, it takes about 30 seconds for the SDK to recognize the
camera.
When connecting via wired LAN, you need to perform the " Network > Transfer/Remote > PC
Remote Function > Pairing" operation on the camera to make it memorize the host PC. Once the
pairing is established, turn off the camera, pause for about 10 seconds, and then turn it back on
again. (The information is stored in the camera when the power is turned off.)
- You can also connect without “Network > Transfer/Remote > PC Remote Function > Pairing”.
Connections without "Pairing" are possible by setting "Connect without Pairing" to "Enable".
If you set "Connect without Pairing" to "Enable", unintended third parties may access the camera.
Sony is not liable for any problems or damage caused by setting "Connect without Pairing" to
"Enable".
17
Camera Remote SDK
IP Address Setting
- The default setting for “Network > Wired LAN > IP Address Setting > IP Address Setting” is “Auto”. If
the camera is connecting to a router with a DHCP service, set the setting to "Auto" to automatically
assign an IP address. If you want to use a network HUB or connect directly to the host PC, change
the setting to "Manual" and set the IP address manually.
- " Network > Wired LAN > IP Address Setting > IP Address Setting > Auto" can also be used when
the camera is not connected to a router or similar. In this case, the IP address is determined by the
camera itself. The host PC should set its IP address based on the one determined by the camera.
For the combination of connection type and ”IP address setting”, please use the following table to
help.
Camera Remote SDK uses the following ports for such as searching the connected cameras.
If Firewall is ON, the camera may not be recognized. Try one of the followings:
- Register your application which using Camera Remote SDK as an exception to Firewall.
- Change the configuration of the ports as follows to enable communications.
Remote port
UDP port: 1900, 32768 - 61000
TCP port: 80, 8080, 22, 64321, 15740
Local port
UDP port: 1900, 49152 - 65535
TCP port: 49152 - 65535
Also because of the above, please note that there is a possibility security software makes Warning if
your application has no digital signature.
Pairing
- First, select “Network > Transfer/Remote > PC Remote Function > Pairing” to display the pairing
standby. Then call the Connect() function from your application.
Then, the camera will change to the pairing confirmation screen. Select OK.
18
Camera Remote SDK
ILME-FX6 is used as an example here. For other models, refer to the Help Guide.
- The default setting for “DHCP” is “On”. If the camera is connecting to a router with a DHCP service,
set the setting to "On" to automatically assign an IP address. If you want to use a network HUB or
connect directly to the host PC, change the setting to "Off" and set the IP address manually.
- Refer to the table of MENU> Network> Wired LAN> IP Address Setting on the previous page for the
combination of router use and hub use and DHCP setting. Replace "Auto" with "On" and "Manual"
with "Off" to read.
- The following TCP ports are used for communication with cameras that require SSH authentication.
19
Camera Remote SDK
Uninstallation
OS common :
..\CrAdapter\*.*
..\*.*
Win :
..\Users\<User Name>\AppData\Roaming\Camera Remote SDK\*.*
Mac :
../Users/<User Name>/Library/Preferences/Camera Remote SDK/*.*
Linux :
../home/<User Name>/Camera Remote SDK/*.*
20
Camera Remote SDK
API list
Whether or not each API can be used is determined according to the SDK control mode. The Mode column indicates the availability of RemoteControlMode and ContentsTransferMode in “R” and “C”.
The ContentsTransferMode feature was added in version 1.05.00.
Be sure to check Enable Status for APIs that have Enable Status. Examples are DownloadSettingFile and Camera-Setting Save Operation Enable Status, RequestLensInformation and Lens Information Enable Status. Operation cannot
be guaranteed if executed in the Disable state.
(1/2)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. APIs Outline Mode
1 Init Initialize the Camera Remote SDK for use. - Basic API of the SDK that can always be executed
2 Release Terminate the Camera Remote SDK. - Basic API of the SDK that can always be executed
3 GetSDKVersion Get SDK version number. - Basic API of the SDK that can always be executed
4 GetSDKSerial Get SDK serial number. - Basic API of the SDK that can always be executed
5 EditSDKInfo Edit the information about the SDK stored in the config file. - Basic API of the SDK that can always be executed
6 EnumCameraObjects Make a list of corresponding camera for the Camera Remote SDK. -
18 GetLiveViewImage Read the latest live-view image data from the Camera into the memory of the R -
current machine.
19 GetLiveViewImageInfo This function returns the size of the live-view image. R -
21
Camera Remote SDK
(2/2)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. APIs Outline Mode
22 GetDeviceSetting This function returns the value of settings in the Camera Remote SDK. R/C -
23 SetDeviceSetting This function modifies the value of settings in the Camera Remote SDK. R/C -
The input parameter “Setting_Key_PartialBuffer” is available. R *2 *2 - - - - - -
24 SetSaveInfo This function modifies settings for saving pictures. R/C
25 GetSelectDeviceProperties Specify and read the device property from the camera. R/C
26 GetSelectLiveViewProperties Specify and read the live view property from the camera. R -
33 GetContentsThumbnailImage Read thumbnail image data into the memory of the current machine. C - - -
22
Camera Remote SDK
Function list
Please update each camera to the latest System Software (Firmware) before use.
Whether or not each Functions can be used is determined according to the SDK control mode. The Mode column indicates the availability of RemoteControlMode and ContentsTransferMode in “R” and “C”. The ContentsTransferMode
feature was added in version 1.05.00.
Be sure to check Enable Status for DeviceProperty/Command that have Enable Status. Examples are Zoom Operation and Zoom Operation Enable Status, Media Format and MediaSLOT1/2 Format Enable Status. Operation cannot be
guaranteed if executed in the Disable state.
(1/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
6 F-Number CrDeviceProperty_FNumber R
23
Camera Remote SDK
(2/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
24
Camera Remote SDK
(3/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
25
Camera Remote SDK
(4/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
26
Camera Remote SDK
(5/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
27
Camera Remote SDK
(6/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
28
Camera Remote SDK
(7/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
29
Camera Remote SDK
(8/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
30
Camera Remote SDK
(9/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
31
Camera Remote SDK
(10/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
32
Camera Remote SDK
(11/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
33
Camera Remote SDK
(12/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
34
Camera Remote SDK
(13/13)
ILCE-1
ILCE-9M2
ILCE-7RM5
ILCE-7RM4A
ILCE-7RM4
ILCE-7SM3
ILCE-7M4
ILCE-7C
ILCE-6700
ILME-FX6
ILME-FX3
ILME-FX30
ZV-E1
DSC-RX0M2
No. Functions DeviceProperty Code / Command Id Mode
35
Camera Remote SDK
At the beginning of all camera operations, Init() must be called to initialize Camera Remote SDK, and
at the end of the operation, Release() must be called to release all resources.
EnumCameraObjects() enumerates connected cameras that can be connected with this Camera
Camera Remote SDK Architecture Concept model
Initialize
Enumerate camera
Connect
Get Properties
Send Command Camera
Program Camera
Get Live view Image Remote SDK
Disconnect
Release
Remote SDK. The ICrEnumCameraObjectInfo object has the list of valid camera objects.
Connect() returns a CrDeviceHandle. The device handle is always used to operate the camera, for
example to get or change properties, to capture image, to get live view images and so on. But just
calling Connect() and receiving no error is not enough to know the timing the device is connected, and
if the handle is validated. After the OnConnected() callback is called, the connection is established
successfully, and the device handle is valid.
After using the camera, by calling the Disconnect() method with the device handle, the disconnect
process starts. Similar to the Connect() method, when the OnDisconnected() callback function is
called, the connection is disconnected successfully. You can call ReleaseDevice() after you receive
the OnDisconnected() call-back.
NOTE:
In this Camera Remote SDK, only one camera connection is guaranteed at the same time.
36
Camera Remote SDK
Example:
bool Init() {
if (!ret) {
return false;
To terminate Camera Remote SDK, call SCRSDK::Release(). This function terminates all
connections and releases the allocating resources. Note that the Release() function waits for the
completion of the data transfer to be executed. When transferring huge amounts of data between the
pc and the camera, this Release() function waits for the completion of the transfer. It is strongly
recommended to call this method after confirming the disconnection of each device.
Example:
void Terminate() {
SCRSDK::Release();
37
Camera Remote SDK
Enumerate Cameras
EnumCameraObjects() enumerates all connectable cameras that are physically connected to the PC.
Returned ICrEnumCameraObjectInfo has the list of the cameras. The ICrEnumCameraObjectInfo
object is created in Camera Remote SDK, if no camera is found, the returned pEnum is NULL.
Example:
void Enumerate() {
if (pEnum == NULL) {
// no cameras found
return;
This enumeration function makes the list of “connectable” cameras. A Sony camera, which does not
have PC remote control features or is not compatible with this Camera Remote SDK, is not listed.
Refer to the supported model list of this Camera Remote SDK.
Note that ICrCameraObjectInfo *pobj in the sample code is the object owned by
ICrEnumCameraObjectInfo. It means calling ICrEnumCameraObjectInfo::Release() frees the memory
of ICrCameraObjectInfo that you get from the enumerator. It can no longer be accessed.
38
Camera Remote SDK
- Windows
1. Connect the camera to the host PC with a USB cable and display [Device Manager]
2. Display the properties of the target camera in [Device Manager]
3. On the [Details] tab, select “Device Instance path” from the [Property] pull-down list.
39
Camera Remote SDK
- Linux/RaspPi
1. Connect the camera to the host PC with a USB cable and display the terminal
2. Execute the lsusb command with the v option to see information about the various USB devices.
- macOS
1. Connect the camera to the host PC with a USB cable and display the terminal
2. Execute the system_profiler command with the SPUSBDataType to see information about the
various USB devices.
40
Camera Remote SDK
Example:
void CreateUSBObject() {
// connect to camera
41
Camera Remote SDK
You can check the MAC address of the camera by the following method.
MENU > Network > Wired LAN > Display Wired LAN Info.
Example:
void CreateEthernetObject() {
// connect to camera
If a “ICrCameraObjectInfo” created with incorrect information is used in Connect(), the SDK operation
is not guaranteed.
42
Camera Remote SDK
Connect a Camera
Using one of the enumerated ICrCameraObjectInfo, the camera can be connected with Camera
Remote SDK by calling the Connect() function of the class. This function has five parameters. The
first parameter ICrCameraObjectInfo * specifies the camera to connect to. The second parameter
IDeviceCallback is a function object that is called back to notify the communication events from
Camera Remote SDK. The caller must create the object instance before calling the Connect()
function. The third parameter CrDeviceHandle * is returned with the connection handle from SDK and
it must be set NULL before calling the Connect() function. The fourth parameter CrSdkControlMode is
optional. To control the camera remotely, do not specify this parameter, or specify Remote Control
Mode. Specify ContentsTransferMode to pull the content on the media inserted in the slot of the
camera. The fifth parameter CrReconnectingSet is optional. You can specify whether to automatically
reconnect after the connection with the camera is unintentionally lost. If not specified, the default is
CrReconnecting_ON and automatic reconnection is performed. However, CrReconnecting_ON is
valid only in RemoteControlMode. In the ContentsTransferMode, automatic reconnection is not
performed regardless of the fifth parameter setting. The 6th to 9th parameters are all for SSH
authentication. These parameters are not needed for cameras that do not require SSH authentication.
Check “Supporting physical layer” to see if SSH authentication is required.
After the Connect() function, ICrCameraObjectInfo can be freed. There is no need to wait for
OnConnected() or the OnError() callback function. It means you can delete the
ICrEnumCameraObjectInfo object returned from the EnumCameraObjects() function.
Example:
};
Example:
43
Camera Remote SDK
For SSH authentication, you need to get the data for the 8th parameter and 9th parameter of
Connect() in advance with GetFingerprint(). The user needs to check that the fingerprint data obtained
from the camera is correct. If fingerprint data different from the fingerprint data owned by the camera
is returned by the GetFingerprint(), please do not proceed to Connect().
If you do not check whether the fingerprint data obtained by Get Fingerprint() is legitimate and specify
incorrect fingerprint data in Connect(), the security of the host PC is not guaranteed.
For the 6th parameter userId and the 7th parameter userPassword, use the information set in the
camera body.
Example:
CrInt32u fpLen = 0;
char fpBuff[128] = { 0 };
if (CR_SUCCEEDED(err)) {
...
err = SCRSDK::Connect(pcamera,cb,&hDev,CrSdkControlMode_Remote,CrReconnecting_ON,
...
44
Camera Remote SDK
As described at the top of this section, the connection process is executed asynchronously. Calling
the Connect() function means that just the connection process is started. When the connection is
established, the OnConnected() callback of IDeviceCallback is called.
Camera
OnConnected()
or OnError()
The left vertical line indicates the user thread of your program, the center vertical line indicates API of
Camera Remote SDK, and the right vertical line indicates the camera connection thread inside
Camera Remote SDK.
Connect() returns an error when the function parameter is not valid. In the synchronous process in
the Connect() function, it does not check for the device existence or the connectivity. It is checked in
the Connection thread. If the camera is not found or if the camera is not compatible with the Camera
Remote SDK, the OnError() callback function is called with an error id, CrError_Connect_Connect.
If the connection is established, the OnConnected() callback function is called with a parameter for
connecting Remote Control Protocol Version.
In this Camera Remote SDK version, the parameter’s value below is fixed.
Device_Connection_Version_RCP3 = 300
Because this version’s Camera Remote SDK supports only the Remote-Control Protocol Version 3.
45
Camera Remote SDK
Disconnect a Camera
Call the Disconnect() function to disconnect the camera. The function needs one parameter for the
DeviceHandle to disconnect.
Example:
SCRSDK::Disconnect(handle);
Disconnect() is also an asynchronous process. The return from Disconnect() does not mean that the
camera has been disconnected. At the time of the OnDisconnected() callback function is called, the
camera has been disconnected from the Camera Remote SDK.
See the table on the next page for the connection status of the camera and Camera Remote SDK.
46
Camera Remote SDK
The table below shows the connection status of the Camera Remote SDK, using some cases of connection and disconnection between the Camera Remote SDK and the
camera as examples.
*1 : Data transmission / reception such as acquiring and updating Device Property and acquiring LiveView Image.
*2 : Monitoring reconnection. This is valid in “Remote Control Mode”. “Content Transfer Mode” does not monitor reconnection.
Note : If CrReconnecting_OFF is specified for the fourth parameter of the Connect(), automatic reconnection will not be performed in all cases.
47
Camera Remote SDK
OnConnected() or
OnError() for cb1
2. Connect to cameraB
Connect(pcam2, cb2, &handleB)
Launch Connection thread for cameraB
Camera
B
OnConnected() or
OnError() for cb2
n. Connect to cameraX
Connect(pcamx, cbx, &handleX)
Launch Connection thread for cameraX
Camera
X
OnConnected() or
OnError() for cbx
48
Camera Remote SDK
Camera
X
OnPropertyChanged() and
OnPropertyChangedCodes()
for cbx
Camera
B
OnPropertyChanged() and
OnPropertyChangedCodes()
for cb2
When ending control of multiple cameras, use all handles to call the Disconnect() function to
disconnect from all cameras.
Camera
A
OnDisconnected() for cb1
Disconnect(handleX)
Camera
X
OnDisconnected() for cbx
49
Camera Remote SDK
- Pay attention to the maximum power supply of the USB bus controller and the power
consumption required by the camera
- When using multiple cameras at the same time, it is recommended to turn off the USB
power supply setting on the cameras.
“USB Power Supply” menu varies by model. Please refer to the help guide for your
model.
- Multiple connection requires more CPU loads than single connection, and there is a
possibility to cause delays in getting and updating properties. If you do not need to
display LiveViewImage from all cameras at the same time, it is recommended to
disable LiveViewImage acquisition to reduce the processing load by using
SetDeviceSetting.
refs SDK Properties
50
Camera Remote SDK
The CrDeviceProperty returned from GetDeviceProperties() is allocated in Camera Remote SDK and
the memory MUST be freed by calling ReleaseDeviceProperties() function.
Example:
void GetProperties(CrDeviceHandle handle) {
CrDeviceProperty *pProperties;
CrInt32u numofProperties = 0;
SCRSDK::GetDeviceProperties(handle, &pProperties, &numofProperties);
if (pProperties) { // the property list is received successfully
for (CrInt32u n = 0; n < numofProperties; n++) {
SCRSDK::CrDataType type = pProperties[n].GetValueType();
int dataLen = sizeof(CrInt64u); // Maximum length
if (type & SCRSDK::CrDataType_UInt8) {
dataLen = sizeof(CrInt8u);
} else if (type & SCRSDK::CrDataType_UInt16) {
dataLen = sizeof(CrInt16u);
:
}
int numofValue = pProperties[n].GetValueSize() / dataLen;
switch (pProperties[n].GetCode()) {
case CrDeviceProperty_FNumber:
// code to parse the properties...
:
}
SCRSDK::ReleaseDeviceProperties(handle, pProperties);
In the sample code above, for code simplification, the return value of GetDeviceProperties() is not
checked, but it has to be checked. If the camera has already disconnected, it returns
CrError_Invalid_Parameter. Additionally, in case of device property memory allocation error, it returns
CrError_Generic_Unknown.
The content of the property list depends on the camera features. It is not expected that all of the
properties are defined in enum of CrDevicePropertyCode in CrDeviceProperty.h. Some properties
defined in CrDevicePropertyCode will also be acquired by the GetLiveViewProperties() function as
described in the following section.
This function does not communicate with the camera. This function returns the copy of the latest
property list. The camera properties are updated automatically inside this Camera Remote SDK. In
case of one or other properties are changed, Camera Remote SDK calls OnPropertyChanged() and
more callback functions. Camera Remote SDK assumes that GetDeviceProperties() is called at the
beginning of the camera operation, and when Camera Remote SDK calls the OnPropertyChanged()
call back function. But calling the GetDeviceProperties() function in the OnPropertyChanged() or other
callback function is not recommended, because the callback function is called on the thread that
communicates with the camera. All callback functions are expected to return as soon as possible.
51
Camera Remote SDK
The following sample code is one of the references to get updated properties and to update the user
interface items in Windows.
Example:
void MyDeviceCallback::OnConnected() {
::PostMessage(wnd, WM_APP_UPDATE_PROPERTIES, 0L, 0L);
}
void MyDeviceCallback::OnPropertyChanged() {
::PostMessage(wnd, WM_APP_UPDATE_PROPERTIES, 0L, 0L);
}
ON_MESSAGE(WM_APP_UPDATE_PROPERTIES, OnMessageUpdateProperties)
The following sample code is an example using the API and callback functions added from Version
1.05.00.
It is possible to call the GetSelectDeviceProperties() with the information notified in the
OnPropertyChangedCodes callback to get only the specified device properties.
Example:
void MyDeviceCallback:: OnPropertyChangedCodes(CrInt32u num, CrInt32u* codes) {
COPYDATASTRUCT cds;
cds.dwData = 0;
cds.lpData = codes;
cds.cbData = num * sizeof(CrInt32u);
::SendMessage(wnd, WM_APP_UPDATE_PROPERTIES_DIFF, num, &cds);
}
ON_MESSAGE(WM_APP_UPDATE_PROPERTIES_DIFF, OnMessageUpdateProperties2)
52
Camera Remote SDK
Similar to the device properties, the memory object returned from GetLiveViewProperties() must also
be freed by ReleaseLiveViewProperties().
Example:
CrInt32u numofProperties = 0;
switch (pProperties[n].GetCode()) {
case CrLiveViewProperty_AF_Area_Position:
SCRSDK::ReleaseLiveViewProperties(handle, pProperties);
53
Camera Remote SDK
The CrDeviceProperty class has the following member variables shown below:
Example:
switch (property->code) {
case CrDeviceProperty_FNumber:
If the enable flag is modifiable, the property can be acquired and can be set. To change the property
value, refer to the SetDeviceProperty() function described in the next section. If the enable flag is Get
Only, the property can be acquired and be referred to by GetDeviceProperties(), but cannot be
changed.
Invalid means the property is invalid. This property must not be referred to or set. Set Only is also a
very special case, as you see there is no “SetLiveViewProperty()” function. The properties you get via
GetLiveViewProperties() are properties closely related to the live view feature, but in order to change
the property you can use the SetDeviceProperty() function.
Depending on the camera status, this flag value changes. In case of CrDeviceProperty_FNumber, if
the exposure mode of the camera is “M” or “A”, this flag is modifiable, and in case of “P” or “S”, this
flag is Get Only.
If the property has selectable options, it has the list and the count of the list. Please note that the size
is “Byte Size”, not the count of the elements. Therefore, dividing by the size of the value type, the
count of the elements can be calculated.
54
Camera Remote SDK
See the following reference pages to understand the property code and the type definitions.
Example:
switch (property->code) {
case CrDeviceProperty_FNumber:
if (countofelement) {
elements[n] = *poptions++;
The CrLiveViewProperty class has similar members but there is “value size” to specify the memory
size of current value, and there is no “selectable option” and its size field.
Because this CrLiveViewProperty class tells the information of the focus area, live view display
magnification region, or custom white balance region, the API to get the properties from the camera is
separated from GetDeviceProperties().
But note that to change those properties, the SetDeviceProperty() command must be used.
Example:
switch (property->code) {
case CrLiveViewProperty_AF_Area_Position:
CrFocusFrameInfo *pinfo
= static_cast<CrFocusFrameInfo *>(property->value);
55
Camera Remote SDK
If the value is invalid, the command is ignored, for example, where the out-of-range F number or
setting F number in exposure mode is “S”.
The combination of the code and the available value is described in API Reference section.
Note that this SetDeviceProperty() call is not synchronous. Once SetDeviceProperty() is called, the
command is queued in the command queue in Camera Remote SDK and it is transmitted to camera
at the appropriate time. It means that there is a short time lag between this function call and the
camera’s property change.
The properties in Camera Remote SDK are also not updated by the SetDeviceProperty() function.
SDK keeps the property status of the camera. It is updated after the camera changes its status.
Camera
OnPropertyChanged() etc.
GetDeviceProperties()
If the property is not changed because of the camera status, Camera Remote SDK does not notify
you of anything. It is recommended to set the 3- to 5-second timer in the user interface and try to get
the property status to SDK and update the user interface state.
The following is sample code for updating device property of numeric type.
Example:
SCRSDK::CrDeviceProperty prop;
prop.SetCode(code); // Specify the code of the device property you want to update
prop.SetValueType(type); // Specify the type of the device property you want to update
prop.SetCurrentValue((CrInt64u)newValue);
SCRSDK::SetDeviceProperty(handle, &prop);
56
Camera Remote SDK
The following is sample code for updating a device property of type CrDataType_STR.
Example:
SCRSDK::CrDeviceProperty prop;
prop.SetCode(code); // Specify the code of CrDataType_STR device property you want to update
prop.SetValueType(type); // Specify the type of CrDataType_STR device property you want to
update
#if defined (_UNICODE) || defined (UNICODE)
std::wstring input(L“TEST1”);
#else
std::string input(“TEST1”);
#endif
// The string length that can be set varies depending on the device property.
// Check the maximum character length of the device property to be updated.
// The only CrDataType_STR device property that can be updated in version 1.08.00 is
CrDeviceProperty_ImageID_String.
int strLen = input.length();
if (64 < strLen)
return; // String is too long.
57
Camera Remote SDK
The first parameter specifies the device, the second parameter indexes the command id and the last
parameter is ON (CrCommandParam_Down) or OFF (CrCommandParam_Up). The Up and Down
expresses the physical button action.
Example:
This command initiates a human’s action using the button; therefore, the button must be released
(Up) once when you send “Down” command. If the camera’s drive mode is in the continuous shooting
mode, the camera captures continuously what it receives from the CrCommandParam_Down
command until it receives CrCommandParam_Up.
This sample code shows the simplest way to press the shutter release button for one second.
Example:
Sleep(1000);
This command sent by SendCommand() has a higher priority than other communication processes,
getting device properties, and getting live view image data and so on, to make the response of
camera quicker.
58
Camera Remote SDK
The image is updated at a rate of 30 frames per second if the communication speed is good. The
FPS becomes much lower when the communication bandwidth is narrow. The situations, where the
communication quality is poor or where captured images are transmitted, result in corresponding to a
lower live view FPS.
To receive live view image, a receive buffer needs to be prepared. The buffer size can be acquired
by the GetLiveViewImageInfo() function. The first parameter is the device handle, and the second
parameter is the pointer to CrImageInfo. CrImageInfo has the information related to width, height and
the required buffer size. After getting the image buffer size, allocate the memory buffer for the image
and call GetLiveViewImage().
Example:
SCRSDK::GetLiveViewImageInfo(handle, pInfo);
pLiveViewImage->SetSize(pInfo->GetBufferSize());
pLiveViewImage->SetData(recvBuffer);
SCRSDK::GetLiveViewImage(handle, pLiveViewImage);
Example:
SCRSDK::GetLiveViewImage(handle, pLiveViewImage);
CrImageInfo has the Jpeg image data and its size. GetImageData() returns the data pointer and
GetImageSize() returns the data size.
This Jpeg image data starts from SOI marker (FF D8) and ends with EOI marker (FF D9). It can be
displayed as it is by the graphic user interface using OpenGL, DirectDraw or another framework.
59
Camera Remote SDK
Example:
SCRSDK::GetLiveViewImage(handle, pLiveViewImage);
The image is updated inside Camera Remote SDK and one unique and an incremental number is
given for the image that is transmitted from the camera. GetLiveViewImage() compares the frame
number of the given CrImageDataBlock class object and the current frame number in the Camera
Remote SDK. If the given number is smaller than the current number, a copy of the new image buffer
is made of the given object and updates the frame number of the given object. If the number of the
object is equal or larger than the number of the SDK, no copy is made, and it returns
CrWarning_Frame_NotUpdated. Therefore, at the first call of GetLiveViewImage(), the frame number
of CrImageDataBlock should be set to zero.
The size member of CrImageDataBlock is updated to the real image data size in
GetLiveViewImage(). Where the buffer size of CrImageDataBlock is smaller than received image size,
Camera Remote SDK also does not copy the buffer and returns CrError_Memory_Insufficient.
If the return value of the GetLiveViewImage() is CrWarning_Frame_NotUpdated, wait for a while and
get the frame again. If the return value is CrError_Memory_Insufficient, get the image buffer size by
GetLiveViewImageInfo() and reallocate the memory as the new size.
60
Camera Remote SDK
SendCommand()
Release shutter button command
Camera
Captured image
Save as a file
OnCompleteDownload()
After Camera Remote SDK stored the image to a file, the OnCompleteDownload() callback function
is called with the stored file path.
The store image folder can be set using the SetSaveInfo() function. The next section explains this
process.
61
Camera Remote SDK
Auto Mode gives the image file name that is determined by the camera. In this case the naming rule
of the camera is used. If the file name conflicts with an existing file, an additional number is appended
after the file name like DSC01234(1).JPG.
In Manual Mode, your program can specify the file name prefix and the start number. “ABCDE” as
prefix and 100 as the start number makes the name from “ABCDE00100.JPG”. To change the mode
and the prefix and start number, use the SetSaveInfo() function. In this case, Camera Remote SDK
finds a number that does not conflict with existing files and incrementally sets the file number like
ABCDE00100(1).JPG.
The SetSaveInfo() function has four parameters. The first parameter specifies the device handle, the
second parameter specifies the folder path to store, the third parameter specifies the file prefix string
and the last parameter specifies the start number that is added to the file name.
To change to Auto Mode, set the null string (note that it means “”, not null pointer) and give -1 as the
start number.
Example:
Using Manual Mode and the specified prefix, set the string of the parameter. For example, to store
the images in “C:\Image”, set the string giving the “ABCDE” prefix and the sequential number from
00100.
Example:
Camera Remote SDK works in Unicode, the folder path and the prefix must be set as Unicode string.
62
Camera Remote SDK
First, request the SDK to get the display string information from the camera body with
RequestDisplayStringList(). The result will be notified by a OnWarning().
If the request is successful, you will be able to know the types of information that can be obtained with
GetDisplayStringTypes(), and you will be able to get the information with GetDisplayStringList(). It is
recommended to check the types that can be referenced by GetDisplayStringTypes() before doing
GetDisplayStringList().
Camera
OnWarning()
63
Camera Remote SDK
Example:
CrInt32u numOfTypes = 0;
CrInt32u numOfList = 0;
err = SCRSDK::GetDisplayStringList(
handle,
types[0],
&list,
&numOfList);
std::string str((char*)list[i].displayString);
m_baseIsoList.insert(std::pair<int, std::string>(
(int)list[i].value, str));
....
SCRSDK::ReleaseDisplayStringList(handle, list);
64
Camera Remote SDK
The Gain BaseISO name obtained by GetDisplayStringList corresponds to the string displayed in the menu.
Example:
65
Camera Remote SDK
In order to pull the contents from the media, a content handle is required to identify the content.
Content/content handle is managed for each DateFolder. First, get the DateFolder list with
GetDateFolderList(), and then use the DateFolder handle to get the handle list of the contents existing
in the DateFolder with GetContentsHandleList().
To know the file name and size of the content, get the detailed information with
GetContentsDetailInfo().
Camera
66
Camera Remote SDK
Camera
Example:
CrInt32u fNums = 0;
SCRSDK::CrMtpFolderInfo* fList;
CrError err = SCRSDK::GetDateFolderList(handle, &fList, &fNums);
if (CR_SUCCEEDED(err)) {
for (int i = 0; i < fNums; ++i) {
CrInt32u cNums = 0;
CrContentHandle* cList;
err = SCRSDK::GetContentsHandleList(handle, fList[i].handle, &cList, &cNums);
if (CR_SUCCEEDED(err)) {
for (int j = 0; j < cNums; ++j) {
SCRSDK::CrMtpContentsInfo* pContents = new SDK::CrMtpContentsInfo();
err = SCRSDK::GetContentsDetailInfo(handle, cList[j], pContents);
if (CR_SUCCEEDED(err))
m_contentList.push_back(pContents);
}
SCRSDK::ReleaseContentsHandleList(handle, cList);
}
}
SCRSDK::ReleaseDateFolderList(handle, fList);
}
67
Camera Remote SDK
Save the content file to the host device using PullContentsFile(). PullContentsFile() is asynchronous.
When the transfer is complete, you will be notified with the OnNotifyContentsTransfer() callback.
When the user requests to cancel the content transfer or the connection is lost, the
OnNotifyContentsTransfer() callback will notify you of the reason why it could not be completed.
PullContentsFile(handle, contentHandle)
Launch content transfer thread for camera
When content
data OnNotifyContentsTransfer(
CrNotify_ContentsTransfer_Start, contentHandle, 0) Camera
acquisition
...
starts
For split
transfer, OnPropertyChanged() and
update the OnPropertyChangedCodes()
progress rate
and call back. GetDeviceProperties() or
Get transfer GetSelectDeviceProperties()
progress rate
as needed
Notify by callback
of either content OnNotifyContentsTransfer(
data acquisition CrNotify_ContentsTransfer_Complete, contentHandle, filename)
completion or or
acquisition OnNotifyContentsTransfer(
failure. CrError_xxxxxxx, contentHandle, 0)
filename is set
only on
completion
Note: We cannot guarantee the transfer of content taken with other cameras. And large files may not
be handled depending on the OS.
Example:
You can also get a thumbnail of the content with GetContentsThumbnailImage(). For example, as a
means of selecting the content to be pull, it is possible to preview the thumbnails of all the content on
the application screen.
68
Camera Remote SDK
Example:
69
Camera Remote SDK
With this API you can only get MediaProfile about the content. Not an API to get content files.
The second parameter specifies the Slot for which you want to get the MediaProfile. The third
parameter is a pointer to which the list information of the acquired MediaProfile is written. The fourth
parameter is set to the number of acquired MediaProfile and returns.
Example:
CrInt32u numOfList= 0;
SCRSDK:: CrMediaProfileInfo* mediaList;
// etc.
For example, there is "contentUrl" in the information obtained by this API. If you enter those URLs in
browser software (Chrome, Safari, etc.) that supports streaming playback, you can play the content.
Input to web-browser
70
Camera Remote SDK
SDK Properties
Using SetDeviceSetting(), some behavior of Camera Remote SDK can be changed. The setting can
be set for each device.
The following code sample disables and enables the Live View function; setting
“CrDeviceSetting_Disable” disables it and setting “CrDeviceSetting_Enable” enables it.
Example:
In the following sample code, setting 2 will change the captured still image data to be divided into
2MB each and transferred to the host PC.
If you want to return to the initial state, set “CrPartialFile_Default”.
The initial state varies depending on the connection type.
See SetDeviceSetting() for details.
Example:
71
Camera Remote SDK
DownloadSettingFile() has four parameters. The second parameter specifies the type of file to
download from the camera. Specify the file save path in the third parameter and the file name in the
fourth parameter.
Specify the file save location in the third parameter and the file name in the fourth parameter.
Example:
UploadSettingFile() has three parameters. The second parameter specifies the type of file to upload
to the camera. The third specifies the full path of the file to upload to the camera.
The upload result will be notified by a OnWarning(). If a file for another model or an invalid file is
uploaded, CrWarning_CameraSettings_Read_Result_Invalid etc. will be returned.
Example:
SCRSDK:: UploadSettingFile(
handle,
SCRSDK::CrUploadSettingFileType_Setup,
filepath);
72
Camera Remote SDK
API Reference
This chapter provides the detailed API specification of Camera Remote SDK using the below format.
API category
API name
Overview
This part shows outline of this API.
Related API
This part shows a list of APIs related to this API.
73
Camera Remote SDK
Initialize
Init
Overview
Initialize the Camera Remote SDK for use. This function must be called before calling any other
Camera Remote SDK function.
Definition
Input Parameters
Type Explanation
CrInt32u Logtype. Only 0 is available in this version.
Return values
Type Explanation
Return parameter
bool If initialize successfully, the result is true; otherwise, the result
is false.
Related API
Release
74
Camera Remote SDK
Release
Release
Overview
Terminate the Camera Remote SDK by deleting objects and releasing the memory used by the
Camera Remote SDK. Use this function to clean up resources when the Camera Remote SDK is
no longer required. Should be called after disconnecting all connected cameras and before your
application close.
Definition
bool Release();
Input Parameters
Empty.
Return values
Type Explanation
Related API
Init
75
Camera Remote SDK
CameraObject
EnumCameraObjects
Overview
The API generates a list of “connectable” cameras. Even if a Sony camera is visible to the PC, if
the camera doesn’t have PC remote control feature or if the camera doesn’t have compatibility
with this version of Camera Remote SDK, the camera is not listed. Please refer the target model
list of this Camera Remote SDK.
Definition
CrError EnumCameraObjects(ICrEnumCameraObjectInfo** ppEnumCameraObjectInfo,
CrInt8u timeInSec = 3);
Input parameters
Type Explanation
timeInSec
CrInt8u This parameter is not supported with the current Camera Remote
SDK.
Output parameters
Type Explanation
ppEnumCameraObjectInfo
Return value
Type Explanation
CrError_None on Success
CrError_Init if the SDK is uninitialized
CrError CrError_Adaptor_HandlePlugin if any plugin modules are not
found
Other than errors above, see Status code & Error
Related API
Connect
ICrEnumCameraObjectInfo::Release
76
Camera Remote SDK
Enumerates all supported devices which are currently connected to the PC.
The information obtained through this API is required by the SDK Connect API.
77
Camera Remote SDK
CreateCameraObjectInfo
Overview
ICrCameraObjectInfo is an interface to detect a connectable camera that is connected to the PC.
It can be retrieved by ICrEnumCameraObjectInfo using GetCameraObjectInfo(), but can be
created by calling CreateCameraObjectInfo(). This ICrCameraObjectInfo interface is used when
the program connects a camera.
Definition
ICrCameraObjectInfo* CreateCameraObjectInfo(CrChar* name, CrChar* model, CrInt16
usbPid, CrInt32u idType, CrInt32u idSize, CrInt8u* id, CrChar* connectTypeName, CrChar*
adaptorName, CrChar* pairingNecessity, CrInt32u sshSupport = 0);
Input parameters
Type Explanation
name
CrChar*
Not available.
model
CrChar*
Null-terminated device model name string
usbPid
CrInt16
Pid for usb devices
CrInt32u idType
idSize
CrInt32u
Size in bytes of the id buffer
id
CrInt8u*
A buffer containing device information
connectTypeName
adaptorName
pairingNecessity
CrChar*
Call with NULL, because this parameter is not used.
78
Camera Remote SDK
sshSupport
All input parameter values are obtained from the EnumCameraObjects API. The user must decide
how to preserve these values for use by the Connect API.
Output parameters
None
Return value
Type Explanation
A pointer which points to a newly allocated
ICrCameraObjectInfo interface object. The allocation is
ICrCameraObjectInfo* performed internally by the SDK.
Related API
Connect
EnumCameraObjects
ICrCameraObjectInfo::Release
79
Camera Remote SDK
CreateCameraObjectInfoUSBConnection
Overview
CreateCameraObjectInfoUSBConnection() is an API that creates a “Camera Object” for USB
connection camera with the information specified by the user.
The purpose of this API is to create the “Camera Object” required for Connect() without using the
EnumCameraObjects() when the target camera has already been determined.
The “Camera Object” obtained as a result of the EnumCameraObjects() and the “Camera
Object” obtained by using this API does not exactly match, but there is no problem in operating
the target camera.
Definition
CrError CreateCameraObjectInfoUSBConnection(ICrCameraObjectInfo** pCameraObjectInfo,
CrCameraDeviceModelList model, CrInt8u* usbSerialNumber);
Input parameters
Type Explanation
model
CrCameraDeviceModelList
Model of the Camera. Use the
CrCameraDeviceModelList defined in CrDefines.h.
usbSerialNumber
Output parameters
Type Explanation
pCameraObjectInfo
80
Camera Remote SDK
Return value
Type Explanation
CrError_None on Success
CrError_Api_OutOfModelList CrCameraDeviceModelList If the
CrError value does not exist in the model
CrError_Api_NotSupportModelOfUSB USB For unsupported model
CrError_Api_InvalidSerialNumber If usbSerialNumber is null
Related API
Connect
EnumCameraObjects
ICrCameraObjectInfo::Release
81
Camera Remote SDK
CreateCameraObjectInfoEthernetConnection
Overview
CreateCameraObjectInfoEthernetConnection() is an API that creates a “Camera Object” for
Ethernet connection camera with the information specified by the user.
The purpose of this API is to create the “Camera Object” required for Connect() without using the
EnumCameraObjects() when the target camera has already been determined.
The “Camera Object” obtained as a result of the EnumCameraObjects() and the “Camera
Object” obtained by using this API does not exactly match, but there is no problem in operating
the target camera.
Definition
CrError CreateCameraObjectInfoEthernetConnection(ICrCameraObjectInfo**
pCameraObjectInfo, CrCameraDeviceModelList model, CrInt32u ipAddress, CrInt8u*
macAddress, CrInt32u sshSupport = 0);
Input parameters
Type Explanation
model
CrCameraDeviceModelList
Model of the Camera. Use the
CrCameraDeviceModelList defined in CrDefines.h.
ipAddress
macAddress
sshSupport
82
Camera Remote SDK
Output parameters
Type Explanation
pCameraObjectInfo
Return value
Type Explanation
CrError_None on Success
CrError_Api_OutOfModelList CrCameraDeviceModelList If the
value does not exist in the model
CrError_Api_NotSupportModelOfEthernet For unsupported
CrError model
CrError_Api_InvalidIpAddress If the IP address is judged to be
inappropriate
CrError_Api_InvalidMacAddress If the MAC address is judged
to be inappropriate
Related API
Connect
EnumCameraObjects
ICrCameraObjectInfo::Release
83
Camera Remote SDK
GetFingerprint
Overview
This API gets a fingerprint data from a camera that requires an SSH authentication connection.
Getting and checking the fingerprint is the only way to avoid connecting to the wrong destination
(SSH server other than camera). The user should compare the fingerprint acquired by this API
with the fingerprint displayed on the camera body and judge whether it is correct or not. If they
do not match, the Connect() will fail even if you proceed to the connection process.
Fingerprint data changes when the camera body is initialized or the fingerprint is regenerated on
the camera body. Fingerprint data is required for Connect(), but it does not require
GetFingerprint() every time before Connect(). Only when the fingerprint data does not change,
the fingerprint data obtained by this API can be used as a parameter of Connect() many times.
Definition
CrError GetFingerprint(ICrCameraObjectInfo* pCameraObjectInfo, char* fingerprint, CrInt32u*
fingerprintSize);
Input parameters
Type Explanation
pCameraObjectInfo
Output parameters
Type Explanation
fingerprint
Note:
Add the "=" for padding.
Does not contain Null-terminations.
fingerprintSize
84
Camera Remote SDK
Return value
Type Explanation
CrError_None on Success
CrError_Init if the SDK is uninitialized
CrError_Generic_InvalidParameter If the parameter is NULL
CrError_Connect_SSH_NotSupported If SSH connection is not
CrError supported
CrError_Connect_SSH_GetFingerprintFailed If for some reason the
Fingerprint could not be obtained from the specified camera. The
probable reason is that the IP address of the camera object created
by CreateCameraObjectInfoEthernetConnection() is incorrect.
Other than errors above, see Status code & Error
Related API
Connect
EnumCameraObjects
ICrCameraObjectInfo::Release
85
Camera Remote SDK
Connection
Connect
Overview
This API attempts to connect to the camera device specified by the user.
This function is an asynchronous connection request. If this function returns without error, the
asynchronous connection request has been initiated successfully.
Success or failure of the connection is communicated to the user through the IDeviceCallback
interface. This interface must be implemented by the user to use the Camera Remote SDK.
The content transfer function has been added from version 1.05.00, and the openMode
parameter has been added to this API. The openMode parameter is optional. This can be
omitted when performing remote control as before.
From version 1.06.00, the function to specify the behavior of automatic reconnection and the
information for SSH authenticate connection has been added. The automatic reconnection
control parameters are optional. By default, automatic reconnection is enabled, but when in
ContentsTransferMode, automatic reconnection is forcibly disabled. This is due to the limitations
of the camera body.
When operating a camera that requires SSH authentication, it is necessary to set a User name
and Password on the camera body. In addition, it is necessary to acquire fingerprint data in
advance with GetFingerprint().
Definition
CrError Connect(ICrCameraObjectInfo* pCameraObjectInfo, IDeviceCallback* callback,
CrDeviceHandle* deviceHandle, CrSdkControlMode openMode = CrSdkControlMode_Remote,
CrReconnectingSet reconnect = CrReconnecting_ON , const char* userId = 0, const char*
userPassword = 0, const char* fingerprint = 0, CrInt32u fingerprintSize = 0);
Input parameters
Type Explanation
pCameraObjectInfo
ICrCameraObjectInfo* The camera which is going to be connected. This
parameter is return by
ICrEnumCameraObjectInfo::GetCameraObjectInfo().
callback
86
Camera Remote SDK
openMode
reconnect
userId
userPassword
fingerprint
const char*
This parameter is optional. Specify the fingerprint data
obtained by GetFingerprint().
fingerprintSize
CrInt32u
This parameter is optional. Specify the length of the
fingerprint parameter.
87
Camera Remote SDK
Input/Output parameters
Type Explanation
deviceHandle
CrDeviceHandle*
The handle of the connected camera is returned in the
variable. This must be set 0 before calling Connect().
Return value
Type Explanation
CrError_None on Success
CrError_Init if the SDK is uninitialized
CrError_Generic_Unknown If the pCameraObjectInfo is NULL,
and no valid deviceNumber is supplied
CrError CrError_Connect_ContentsTransfer_NotSupported Connected
to a model that does not support content transfer.
Errors starting with CrError_Connect_SSH, such as
CrError_Connect_SSH_ServerConnectFailed, indicate an SSH
connection error.
Other than errors above, see Status code & Error
Related API
GetFingerprint
Disconnect
EnumCameraObjects
CreateCameraObjectInfo
IDeviceCallback::OnConnected
To reconnect to an existing device, supply the deviceHandle of that device to this API and NULL in
pCameraObjectInfo. The SDK will then reuse the existing internal device handle and attempt to
connect to the specified camera device. Reconnection will not work if the specific device was
previously released with the ReleaseDevice API. In this case, CrError_Generic_Unknown will be
returned.
The deviceHandle out-parameter returns the SDK device identifier to the user. This identifier is
required to use subsequent SDK API functions to interact with the connected device.
Repeatedly entering the wrong SSH parameters will lock the camera. In that case, turn off the
power switch of the camera and restart it, or wait for a while and then try again.
88
Camera Remote SDK
Disconnect
Overview
This API function disconnects the indicated device.
After calling this API, the deviceHandle remains valid and can be used to reconnect to the same
device.
Definition
CrError Disconnect(CrDeviceHandle deviceHandle);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
None
Return value
Type Explanation
Related API
Connect
ReleaseDevice
IDeviceCallback::OnDisconnected
Calling this API will not invalidate the existing deviceHandle. This function simple disconnects the
device. Unless ReleaseDevice is called, the device handle can be reused to connect to the same
device.
89
Camera Remote SDK
Device
ReleaseDevice
Overview
This API requests that the SDK release the resources allocated for the specified device.
Calling this API will invalidate the provided deviceHandle. Do not attempt to reuse it after calling
this API.
Definition
CrError ReleaseDevice(CrDeviceHandle deviceHandle);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
None
Return value
Type Explanation
Related API
Connect
Disconnect
IDeviceCallback::OnDisconnected
90
Camera Remote SDK
Device Property
GetDeviceProperties
Overview
This API gets device properties from the device specified by the deviceHandle.
This retrieves all of the available properties of device. This list contains information about each
property’s current value, list of valid values and whether or not the property value can currently
be updated by the user.
Definition
CrError GetDeviceProperties(CrDeviceHandle deviceHandle, CrDeviceProperty** properties,
CrInt32* numOfProperties);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
Type Explanation
properties
numOfProperties
91
Camera Remote SDK
Return value
Type Explanation
Related API
GetSelectDeviceProperties
ReleaseDeviceProperties
SetDeviceProperty
IDeviceCallback::OnPropertyChanged
IDeviceCallback::OnPropertyChangedCodes
This API function retrieves a list of all the properties supported by the indicated device. Each
returned property also provides its current value, a list of values it supports and whether or not the
property is currently modifiable.
It is important to initialize the out-parameter pointer to nullptr before passing it to this function. This
is required to detect whether or not a list has been created. The out-parameter properties will
remain unmodified if the property list cannot be retrieved.
If the list is successfully retrieved, properties points to the list and out-parameter numOfProperties
indicates the number of items in the list.
92
Camera Remote SDK
GetSelectDeviceProperties
Overview
This API gets specified device properties from the device specified by the deviceHandle.
This list contains information about each property’s current value, list of valid values and whether
or not the property value can currently be updated by the user.
Definition
CrError GetSelectDeviceProperties(CrDeviceHandle deviceHandle, CrInt32u numOfCodes,
CrInt32u* codes, CrDeviceProperty** properties, CrInt32* numOfProperties);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
numOfCodes
CrInt32u
Number of device properties to get.
codes
CrInt32u*
List of device property codes to get.
Output parameters
Type Explanation
properties
numOfProperties
93
Camera Remote SDK
Return value
Type Explanation
Related API
GetDeviceProperties
ReleaseDeviceProperties
SetDeviceProperty
IDeviceCallback::OnPropertyChangedCodes
This API function retrieves a list of specified properties supported by the indicated device. Each
returned property also provides its current value, a list of values it supports and whether or not the
property is currently modifiable.
It is important to initialize the out-parameter pointer to nullptr before passing it to this function. This
is required to detect whether or not a list has been created. The out-parameter properties will
remain unmodified if the property list cannot be retrieved.
If the list is successfully retrieved, properties points to the list and out-parameter numOfProperties
indicates the number of items in the list.
94
Camera Remote SDK
ReleaseDeviceProperties
Overview
This API function releases the CrDeviceProperty list allocated by GetDeviceProperties.
Definition
CrError ReleaseDeviceProperties(CrDeviceHandle deviceHandle, CrDeviceProperty*
properties);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
properties
CrDeviceProperty*
The property list pointer pointing to the list to be released.
Output parameters
None
Return value
Type Explanation
Related API
GetDeviceProperties
GetSelectDeviceProperties
95
Camera Remote SDK
SetDeviceProperty
Overview
Request the SDK set a new value to the selected property for the corresponding device.
The function is asynchronous and returns to the user as soon as the SDK enqueues the requested
action. After the property of the camera changed, OnPropertyChanged() and other callback functions
are called and GetDeviceProperties() will return the new property value.
Definition
CrError SetDeviceProperty(CrDeviceHandle deviceHandle, CrDeviceProperty* pProperty);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
pProperty
CrDeviceProperty*
This parameter points to the CrDeviceProperty object which
contains the property that will be set to the device.
Output parameters
None
Return value
Type Explanation
CrError_None If the command is sent out.
CrError_Init if the SDK is uninitialized
CrError CrError_Generic_InvalidHandle If the deviceHandle is an invalid
handle
Other than errors above, see Status code & Error
Related API
GetDeviceProperties
GetSelectDeviceProperties
IDeviceCallback::OnPropertyChanged
IDeviceCallback::OnPropertyChangedCodes
pProperty contains the desired property code and desired property value.
The desired value should be one of the valid values retrieved from GetDeviceProperties. The SDK
will not set an unsupported value.
The return value from this function will not indicate whether or not the property was set
successfully. If the property is updated successfully the SDK will call IDeviceCallback::
OnPropertyChanged() and other callback functions. The warning code will indicate that a
property has changed.
96
Camera Remote SDK
Send Command
SendCommand
Overview
This API function sends commands for controlling the device. This allows the user to control
camera functions such as the shutter release. When stopping continuous shooting, use
“CrCommandId_Release” with “CrCommandParam_Up”.
The function is asynchronous and returns to the user as soon as the SDK enqueues the
requested action. The effects of sending a command can be confirmed by observing the actual
device for the requested change.
Definition
CrError SendCommand(CrDeviceHandle deviceHandle, CrInt32u commandId,
CrCommandParam commandParam);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
commandId
CrInt32u
This parameter is one of CrCommandId defined in
CrCommandData.h.
commandParam
CrCommandParam
This parameter is one of CrCommandParam defined in
CrCommandData.h.
Output parameters
None
Return value
Type Explanation
Related API
SetDeviceProperty
97
Camera Remote SDK
LiveView
GetLiveViewImage
Overview
Get the latest frame from SDK live-view image buffer.
Use the GetLiveViewImageInfo API to get information about the data size of the image before
calling this API to fetch the data.
Using this data, the user can render a live preview of the camera device view finder. This data is
in JPEG format.
Definition
CrError GetLiveViewImage(CrDeviceHandle deviceHandle, CrImageDataBlock*imageData);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
Type Explanation
imageData
CrImageDataBlock*
This parameter points to an CrImageDataBlock object
which is a memory buffer for storing the image data.
Return value
Type Explanation
CrError_None If the live-view image data returns successfully
CrError_Connect_Disconnected If the camera is not
connected CrError_Init if the SDK is uninitialized
CrError
CrError_Generic_InvalidHandle If the deviceHandle is an invalid
handle
Other than errors above, see Status code & Error
Related API
GetLiveViewImageInfo
Before you call this function, you should call GetLiveViewImageInfo first and allocate an
appropriately sized buffer for the imageData parameter.
This function does not send or receive any data from the device but merely copy the live image
data from a buffer, the buffer is updated in real time by background task.
98
Camera Remote SDK
GetLiveViewImageInfo
Overview
This function returns the data size of the live-view image.
Definition
CrError GetLiveViewImageInfo(CrDeviceHandle deviceHandle, CrImageInfo* info);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
Type Explanation
info
Return value
Type Explanation
CrError_None If the CrImageInfo is properly set
CrError_Connect_Disconnected If the camera is not
connected CrError_Init if the SDK is uninitialized
CrError
CrError_Generic_InvalidHandle If the deviceHandle is an invalid
handle
Other than errors above, see Status code & Error
Related API
GetLiveViewImage
99
Camera Remote SDK
GetLiveViewProperties
Overview
Get live view properties from the specified device. Functionally equivalent to GetProperties for
properties related to the device live-view.
The properties retrieved by this API call are closely related to the camera live-view image. These
properties are not included in the list of properties retrieved by GetDeviceProperties.
Definition
CrError GetLiveViewProperties(CrDeviceHandle deviceHandle, CrLiveViewProperty**
properties, CrInt32* numOfProperties);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
Type Explanation
properties
Return value
Type Explanation
CrError_None If the function returns successfully
CrError_Init if the SDK is uninitialized
CrError CrError_Generic_InvalidHandle If the deviceHandle is an invalid
handle
Other than errors above, see Status code & Error
100
Camera Remote SDK
Related API
GetSelectLiveViewProperties
ReleaseLiveViewProperties
IDeviceCallback::OnLvPropertyChanged
IDeviceCallback::OnLvPropertyChangedCodes
This API function retrieves a list of all the live-view properties supported by the indicated device.
Each returned property also provides its current value, a list of values it supports and whether or
not the property is currently modifiable.
The out-parameter properties will remain unmodified if the property list cannot be retrieved.
If the list is successfully retrieved, properties points to the list and out-parameter
numOfProperties indicates the number of items in the list.
101
Camera Remote SDK
GetSelectLiveViewProperties
Overview
Get specified live view properties from the specified device. Functionally equivalent to
GetSelectDeviceProperties for properties related to the device live-view.
The properties retrieved by this API call are closely related to the camera live-view image. These
properties are not included in the list of properties retrieved by GetDeviceProperties or
GetSelectDeviceProperties.
Definition
CrError GetSelectLiveViewProperties(CrDeviceHandle deviceHandle, CrInt32u numOfCodes,
CrInt32u* codes, CrLiveViewProperty** properties, CrInt32* numOfProperties);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
numOfCodes
CrInt32u
Number of live-view properties to get.
codes
CrInt32u*
List of live-view property codes to get.
Output parameters
Type Explanation
properties
102
Camera Remote SDK
Return value
Type Explanation
Related API
GetLiveViewProperties
ReleaseLiveViewProperties
IDeviceCallback::OnLvPropertyChangedCodes
This API function retrieves a list of all the live-view properties supported by the indicated device.
Each returned property also provides its current value, a list of values it supports and whether or
not the property is currently modifiable.
The out-parameter properties will remain unmodified if the property list cannot be retrieved.
If the list is successfully retrieved, properties points to the list and out-parameter
numOfProperties indicates the number of items in the list.
103
Camera Remote SDK
ReleaseLiveViewProperties
Overview
This API function releases the CrLiveViewProperty list allocated by GetLiveViewProperties.
Definition
CrError ReleaseLiveViewProperties(CrDeviceHandle deviceHandle, CrLiveViewProperty*
properties);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
properties
CrLiveViewProperty*
The live-view property list pointer pointing to the list to be
released.
Output parameters
None
Return value
Type Explanation
Related API
GetLiveViewProperties
GetSelectLiveViewProperties
104
Camera Remote SDK
Device Setting
GetDeviceSetting
Overview
This function returns SDK settings for the specified device.
Definition
CrError GetDeviceSetting(CrDeviceHandle deviceHandle, CrInt32u key, CrInt32u* value);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
key
CrInt32u
Key for the setting to retrieve. Values can be found in the
SettingKey enumeration.
Output parameters
Type Explanation
value
Return value
Type Explanation
Related API
SetDeviceSetting
Special note (details)
None in particular
105
Camera Remote SDK
SetDeviceSetting
Overview
This API updates SDK settings for the indicated device.
Definition
CrError SetDeviceSetting(CrDeviceHandle deviceHandle, CrInt32u key, CrInt32u value);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
key
Key for the setting to update. The following keys can be set.
- Setting_Key_EnableLiveView
CrInt32u Controls whether or not the Live View image capturing
function is enabled.
- Setting_Key_PartialBuffer
Controls the data transfer size when saving captured
images to the host PC.
value
CrInt32u
The new value for key. Refer to the Special note for the
values that can be set for each key.
Output parameters
None
Return value
Type Explanation
CrError_None If the function returns successfully
CrError_Init if the SDK is uninitialized
CrError CrError_Generic_InvalidHandle If the deviceHandle is an invalid
handle
Other than errors above, see Status code & Error
Related API
GetDeviceSetting
106
Camera Remote SDK
- Setting_Key_PartialBuffer
Controls the data transfer size when saving captured images to the host PC.
Use the CrPartialFile defined in CrDefines.h.
Normally (i.e., by CrPartialFile_Default), when connected via Ethernet, one captured image is
transferred in 1 MB increments and stored on the host PC; when connected via USB, one
captured image is transferred as a batch and stored on the host PC.
The advantage of partial transfer via USB connection is that SDK processing is not dominated
by the transfer of captured images.
Live View images are designed to be displayed at a maximum of 30 fps, but if the batch
transfer of captured image data takes time, the interval between Live View image acquisition
processes will increase, resulting in a drop in fps. If the Live View image does not display
smoothly when shooting via USB connection, consider adjusting the transfer size in this setting.
However, please note that the smaller the specified size, the longer the total time required to
complete the transfer of one captured image.
107
Camera Remote SDK
SetSaveInfo
Overview
This function sets the location on the PC for saving images transferred from the device.
See Change the Store Image Folder and the File Name for how to use this API function
Definition
CrError SetSaveInfo(CrDeviceHandle deviceHandle, CrChar* path, CrChar* prefix, CrInt32 no);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
path
no
Output parameters
None
Return value
Type Explanation
CrError_None If the function returns successfully
CrError_Init if the SDK is uninitialized
CrError CrError_Generic_InvalidHandle If the deviceHandle is an invalid
handle
Other than errors above, see Status code & Error
108
Camera Remote SDK
Related API
PullContentsFile
109
Camera Remote SDK
SDK Version
GetSDKVersion
Overview
This function returns the SDK version number.
Definition
CrInt32u GetSDKVersion();
Input parameters
None
Output parameters
None
Return value
Type Explanation
The SDK Version is represented as a 4-byte unsigned integer
constant.
CrInt32u
The first 3 bytes contain the SDK version. The last byte is
reserved by the SDK for future use.
Error Codes
No Error
Related API
GetSDKSerial
110
Camera Remote SDK
Overview
This function returns the SDK serial number.
Definition
CrInt32u GetSDKSerial();
Input parameters
None
Output parameters
None
Return value
Type Explanation
The SDK Serial is represented as a 4-byte unsigned integer
constant.
CrInt32u
The last 2 bytes contain the SDK serial. The first 2 byte is
reserved by the SDK for future use.
Error Codes
No Error
Related API
GetSDKVersion
111
Camera Remote SDK
Overview
Edit the information about the SDK stored in the config file.
Definition
CrError EditSDKInfo(CrInt16u infotype);
Input parameters
Type Explanation
A constant that means the information to update.
The constant values are in the SDKInfoType
enumeration.
CrInt16u
It is possible to delete camera-specific information with the
following values.
SDKINFO_AUTHINFO
Output parameters
None
Return value
Type Explanation
Related API
None
112
Camera Remote SDK
Contents Transfer
GetDateFolderList
Overview
Gets date folder list from the device specified by the deviceHandle.
This function is the first function to call when pulling out the content in the camera.
Definition
CrError GetDateFolderList(CrDeviceHandle deviceHandle, CrMtpFolderInfo** folders,
CrInt32u* numOfFolders);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
Type Explanation
folders
numOfFolders
113
Camera Remote SDK
Return value
Type Explanation
CrError_None on Success
However, in the case of blank media, CrError_None is
returned but numOfFolders becomes zero, so it is necessary
to check numOfFolders at the same time.
CrError CrError_Contents_RejectRequest Returned during the
content transfer process. When the content transfer process
is completed, re-execute this function.
Other than errors above, see Status code & Error
Related API
ReleaseDateFolderList
GetContentsHandleList
See Pull out content stored on media for how to use this API function
114
Camera Remote SDK
GetContentsHandleList
Overview
Gets a handle list of the contents in the date folder specified by folderHandle.
Definition
CrError GetContentsHandleList(CrDeviceHandle deviceHandle, CrFolderHandle folderHandle,
CrContentHandle** contentsHandles, CrInt32u* numOfContents);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
folderHandle
CrFolderHandle
Specifies one of the date folder handles obtained by the
GetDateFolderList function.
Output parameters
Type Explanation
contentsHandles
numOfContents
115
Camera Remote SDK
Return value
Type Explanation
CrError_None on Success
CrError_Contents_RejectRequest Returned during the
CrError
content transfer process. When the content transfer process
is completed, re-execute this function.
Other than errors above, see Status code & Error
Related API
ReleaseContentsHandleList
GetDateFolderList
GetContentsDetailInfo
See Pull out content stored on media for how to use this API function
116
Camera Remote SDK
GetContentsDetailInfo
Overview
Gets a content detail information of the contents specified by contentHandle.
Definition
CrError GetContentsDetailInfo(CrDeviceHandle deviceHandle, CrContentHandle
contentHandle, CrMtpContentsInfo* contentsInfo);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
contentHandle
CrContentHandle
Specifies one of the content handles obtained by the
GetContentsHandleList function.
Output parameters
Type Explanation
contentsInfo
Return value
Type Explanation
CrError_None on Success
CrError_Contents_InvalidHandle If the content handle
specified is invalid
CrError
CrError_Contents_RejectRequest Returned during the
content transfer process. When the content transfer process
is completed, re-execute this function.
Other than errors above, see Status code & Error
117
Camera Remote SDK
Related API
GetContentsHandleList
PullContentsFile
GetContentsThumbnailImage
See Pull out content stored on media for how to use this API function
118
Camera Remote SDK
ReleaseDateFolderList
Overview
This function releases the CrMtpFolderInfo allocated by GetDateFolderList.
It is not necessary to call this API when zero is returned in the number of folders in
GetDateFolderList. Use this API when the number of folders is one or more.
Definition
CrError ReleaseDateFolderList(CrDeviceHandle deviceHandle, CrMtpFolderInfo* folders);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
folders
CrMtpFolderInfo*
Date folder list pointer to release.
Output parameters
None
Return value
Type Explanation
Related API
GetDateFolderList
119
Camera Remote SDK
ReleaseContentsHandleList
Overview
This function releases the CrContentHandle array allocated by GetContentsHandleList.
Definition
CrError ReleaseContentsHandleList(CrDeviceHandle deviceHandle, CrContentHandle*
contentsHandles);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
contentsHandles
CrContentHandle*
Content handle list pointer to release.
Output parameters
None
Return value
Type Explanation
Related API
GetContentsHandleList
120
Camera Remote SDK
PullContentsFile
Overview
Pull contents from the camera. Save a copy of the content file on your host PC.
Definition
CrError PullContentsFile(CrDeviceHandle deviceHandle, CrContentHandle contentHandle,
CrPropertyStillImageTransSize size = CrPropertyStillImageTransSize_Original, CrChar* path =
0, CrChar* fileName = 0);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
contentHandle
Specifies one of the content handles obtained
CrContentHandle by the GetContentsHandleList function.
Only content whose details have been
obtained using the GetContentsDetailInfo
function can be specified.
size
Specify the size of the still image to be
acquired.
Specify either
CrPropertyStillImageTransSize_Original or
CrPropertyStillImageTransSize_SmallSize.
When
CrPropertyStillImageTransSize_SmallSize is
CrPropertyStillImageTransSize specified
You can get a small size image according to the
type of still image. JPEG format for JPEG
content and HEIF format for HEIF content.
If CrDeviceProperty_FileType at the time of
shooting is CrFileType_RawJpeg, it will be in
JPEG format, and if it is CrFileType_RawHeif, it
will be in HEIF format.
If you specify small for the movie, an error is
returned.
path
This parameter is optional.
If not specified, the path specified in the second
parameter of SetSaveInfo will be used. To do
CrChar* this, use SetSaveInfo to change the save
destination path in advance. If a path that does
not exist in this parameter is specified, or if this
parameter is not specified and SetSaveInfo is
not used, normal operation of content transfer
cannot be guaranteed.
121
Camera Remote SDK
fileName
This parameter is optional.
CrChar* If not specified, the content will be saved with
the file name.
If the file name conflicts with an existing file, an
additional number is appended after the file name
like DSC01234(1).JPG.
Output parameters
None
Return value
Type Explanation
CrError_None on Success
CrError_Contents_RejectRequest If content cannot be transferred
CrError_Generic_NotSupported
CrError CrPropertyStillImageTransSize_SmallSize specified for movie
content
CrError_File_StorageFull Insufficient storage capacity on the host
Other than errors above, see Status code & Error
Related API
GetContentsDetailInfo
GetContentsThumbnailImage
IDeviceCallback::OnNotifyContentsTransfer
SetSaveInfo
122
Camera Remote SDK
GetContentsThumbnailImage
Overview
Get thumbnail image data.
Definition
CrError GetContentsThumbnailImage(CrDeviceHandle deviceHandle, CrContentHandle
contentHandle, CrImageDataBlock* imageData, CrFileType* fileType);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
contentHandle
Output parameters
Type Explanation
imageData
This parameter points to an CrImageDataBlock object
CrImageDataBlock* which is a memory buffer for storing the image data.
JPEG image data of 160 x 120 pixels is set in the pointer.
The usage of the CrImageDataBlock class is the same as
the GetLiveViewImage function. See LiveView for the size
of the buffer to prepare in advance.
fileType
Caution:
For ILCE-1 and ILCE-7SM3 only, the thumbnail image of
the RAW content when CrDeviceProperty_FileType is set
to CrFileType_RawHeif will be in HEIF format.
123
Camera Remote SDK
Return value
Type Explanation
CrError_None on Success
CrError CrError_Contents_RejectRequest When content is being
transferred or thumbnail image data cannot be obtained
Other than errors above, see Status code & Error
Related API
GetContentsHandleList
GetContentsDetailInfo
PullContentsFile
124
Camera Remote SDK
Display string
RequestDisplayStringList
Overview
You can use this API and GetDisplayStringTypes() and GetDisplayStringList() to get the menu
string and menu information displayed on the camera body.
Definition
CrError RequestDisplayStringList(CrDeviceHandle deviceHandle, CrDisplayStringType type);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
type
Output parameters
None
Return value
Type Explanation
CrError_None on Success
CrError CrError_Api_Insufficient if the update fails
Related API
GetDisplayStringTypes
GetDisplayStringList
IDeviceCallback::OnWarning
125
Camera Remote SDK
126
Camera Remote SDK
GetDisplayStringTypes
Overview
This API is used to know the type and number of information acquired by
RequestDisplayStringList().
Definition
CrError GetDisplayStringTypes(CrDeviceHandle deviceHandle, CrDisplayStringType** types,
CrInt32u* numOfTypes);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
Type Explanation
types
Note:
It may contain CrDisplayStringType that the SDK does
not support.
numOfTypes
127
Camera Remote SDK
Return value
Type Explanation
CrError_None on Success
However, if numOfTypes is zero, even if CrError_None is returned,
it should be judged as fail.
Related API
RequestDisplayStringList
GetDisplayStringList
ReleaseDisplayStringTypes
128
Camera Remote SDK
GetDisplayStringList
Overview
This API gets the menu string and menu information displayed on the camera body.
Definition
CrError GetDisplayStringList(CrDeviceHandle deviceHandle, CrDisplayStringType type,
CrDisplayStringListInfo** list, CrInt32u* numOfList);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
type
Output parameters
Type Explanation
list
Note:
If CrDisplayStringType_AllList is specified as an input
parameter, CrDisplayStringListInfo of
CrDisplayStringType that SDK does not support may be
returned in the output parameter.
129
Camera Remote SDK
numOfList
Return value
Type Explanation
CrError_None on Success
CrError CrError_Api_Insufficient if the update fails
Related API
RequestDisplayStringList
GetDisplayStringTypes
ReleaseDisplayStringList
130
Camera Remote SDK
ReleaseDisplayStringTypes
Overview
This function releases the CrDisplayStringType allocated by GetDisplayStringTypes().
Definition
CrError ReleaseDisplayStringTypes(CrDeviceHandle deviceHandle, CrDisplayStringType*
types);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
CrDisplayStringType types
* CrDisplayStringType list pointer to release.
Output parameters
None
Return value
Type Explanation
Related API
GetDisplayStringTypes
131
Camera Remote SDK
ReleaseDisplayStringList
Overview
This function releases the CrDisplayStringListInfo allocated by GetDisplayStringList().
Definition
CrError ReleaseDisplayStringList(CrDeviceHandle deviceHandle, CrDisplayStringListInfo* list);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
CrDisplayStringListInfo list
*
CrDisplayStringListInfo list pointer to release.
Output parameters
None
Return value
Type Explanation
Related API
GetDisplayStringList
132
Camera Remote SDK
Setting file
DownloadSettingFile
Overview
Save (download) the camera settings as a file on the host PC or a storage device connected to
the host PC.
By uploading the file saved by this API to the camera with UploadSettingFile(), it is also possible
to restore the camera settings.
Before executing this API, please make sure that the media is inserted in the slot of the camera.
This is due to the specifications of the camera.
Definition
CrError DownloadSettingFile(CrDeviceHandle deviceHandle, CrDownloadSettingFileType type,
CrChar* filePath = 0, CrChar* fileName = 0);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
type
CrDownloadSettingFileType
Specifies the type of file to download.
filePath
fileName
133
Camera Remote SDK
Output parameters
None
Return value
Type Explanation
CrError_None on Success
CrError_File_StorageFull Insufficient storage capacity on the host.
CrError Other than errors above, see Status code & Error
Related API
IDeviceCallback::OnCompleteDownload
IDeviceCallback::OnWarning
UploadSettingFile
134
Camera Remote SDK
UploadSettingFile
Overview
It is possible to upload the setting file saved in the host PC etc. with DownloadSettingFile() to the
camera with this API and restore the setting state.
By using DownloadSettingFile() and UploadSettingFile(), you can manage the camera settings
according to the shooting scene, and make it possible to restore the settings at any time. It also
allows multiple cameras (same model) to share the setting status.
Before executing this API, please make sure that the media is inserted in the slot of the camera.
This is due to the specifications of the camera.
After this operation, the camera reboots itself. The connection will be disconnected by restarting
the camera. If CrReconnecting_OFF is specified for the fifth parameter of Connect(), execute
Connect() again to establish a connection.
Definition
CrError UploadSettingFile(CrDeviceHandle deviceHandle, CrUploadSettingFileType type,
CrChar* fileName);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
type
CrUploadSettingFileType
Specifies the type of file to upload.
fileName
CrChar*
Path of the file to be uploaded.
The extension is fixed to "DAT".
Output parameters
None
Return value
Type Explanation
CrError_None on Success
CrError Other than errors above, see Status code & Error
Related API
IDeviceCallback::OnWarning
DownloadSettingFile
135
Camera Remote SDK
You can also read(upload) the setting file by operating the camera body without using the API. In
that case, the file stored in the "memory card" inserted in the media slot of the camera body will be
uploaded.
For ILCE-1 : MENU > Setup > Reset/Save Settings > Save/Load Settings > Load
136
Camera Remote SDK
MediaProfile
GetMediaProfile
Overview
It is an API to get the meta information of the content file recorded on the media.
In ILME-FX6, meta information such as recorded content is called "MediaProfile".
Definition
CrError GetMediaProfile(CrDeviceHandle deviceHandle, CrMediaProfile slot,
CrMediaProfileInfo** mediaProfile, CrInt32u* numOfProfile);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
slot
CrMediaProfile
Specifies the slot from which to get the MediaProfile.
refs. CrMediaProfile
Output parameters
Type Explanation
mediaProfile
numOfProfile
137
Camera Remote SDK
Return value
Type Explanation
CrError_None on Success
CrError_Api_NoApplicableInformation If there is no meta
CrError information, etc.
Related API
ReleaseMediaProfile
IDeviceCallback::OnWarning
The content to be recorded (file format, etc.) differs depending on the camera body, so refer to
the help guide for the target camera.
138
Camera Remote SDK
ReleaseMediaProfile
Overview
This function releases the CrMediaProfileInfo allocated by GetMediaProfile().
Definition
CrError ReleaseMediaProfile(CrDeviceHandle deviceHandle, CrMediaProfileInfo *
mediaProfile);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
CrMediaProfileInfo mediaProfile
* CrMediaProfileInfo list pointer to release.
Output parameters
None
Return value
Type Explanation
Related API
GetMediaProfile
139
Camera Remote SDK
Lens information
RequestLensInformation
Overview
You can use this API and GetLensInformation() to get Lens information. It is valid only when a
compatible lens is attached.
If you want to use the Lens information, first request the acquisition of the Lens information with
this API. Then get information on GetLensInformation() after that.
- See to “How to use LensInformation” in Tips / Trouble shooting for how to use it.
Definition
CrError RequestLensInformation(CrDeviceHandle deviceHandle);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
None
Return value
Type Explanation
CrError_None on Success
CrError
Other than errors above, see Status code & Error
Related API
GetLensInformation
IDeviceCallback::OnWarning
The result of this API will be notified by OnWarning(). When OnWarning notifies you of
"CrWarning_RequestLensInformation_Result_Success", you can get Lens information with
GetLensInformation().
If you are notified of anything other than success, it is possible that the Lens is not attached or
that the Lens for which Lens information cannot be obtained is attached.
140
Camera Remote SDK
GetLensInformation
Overview
It is an API to get the Lens information of the attached Lens. It can only be executed if
RequestLensInformation() is successful.
- See to “How to use LensInformation” in Tips / Trouble shooting for how to use it.
Definition
CrError GetLensInformation(CrDeviceHandle deviceHandle, CrLensInformation** list,
CrInt32u* numOfList);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
Output parameters
Type Explanation
list
numOfList
141
Camera Remote SDK
Return value
Type Explanation
CrError_None on Success
CrError_Api_NoApplicableInformation If numOfList is returned as
zero, Make sure that Lens that can acquire Lens information is
CrError attached. If this error is returned even though the Lens for which
lens information can be acquired is attached,
RequestLensInformation() may not have been executed. Please do
RequestLensInformation().
Related API
ReleaseLensInformation
IDeviceCallback::OnWarning
This API can be executed only once. If you want to get the Lens information after this API,
please request again to get the Lens information from the camera with
RequestLensInformation().
142
Camera Remote SDK
ReleaseLensInformation
Overview
This function releases the CrLensInformation allocated by GetLensInformation().
Definition
CrError ReleaseLensInformation(CrDeviceHandle deviceHandle, CrLensInformation* list);
Input parameters
Type Explanation
CrDeviceHandle deviceHandle
list
CrLensInformation*
CrLensInformation list pointer to release.
Output parameters
None
Return value
Type Explanation
Related API
GetLensInformation
143
Camera Remote SDK
Command
CrCommandId
Check the Function list for the Command Id(CrCommandId enumerations) supported in the current
release.
144
Camera Remote SDK
Device Property
CrDeviceProperty
Includes information about the data type, current value, and supported values. Additionally, it
indicates if the property is currently modifiable.
Check the Function list for the Device Property Code(CrDevicePropertyCode enumerations)
supported in the current release.
Member Variables
Name Type Summary
- - -
Member Functions
Signature Description
Constructor -
Destructor -
Copy Constructor -
void Alloc(const CrInt32u size, const CrInt32u It cannot be used.
getSetSize, const CrInt16u getStrSize)
Checks to see if this device property is
bool IsGetEnableCurrentValue()
readable.
bool IsSetEnableCurrentValue() Checks to see if this device property is writable.
Get the CrDevicePropertyCode used by this
device property.
CrInt32u GetCode()
Defined in CrDeviceProperty.h as
CrDevicePropertyCode
Get the CrDataType used by this device
CrDataType GetValueType() property.
Defined in CrDefines.h as CrDataType.
Get the CrPropertyEnableFlag that represents
the enable status for this device property.
145
Camera Remote SDK
146
Camera Remote SDK
Live View
CrLiveViewProperty
Member Variables
Name Type Summary
- - -
Member Functions
Signature Description
Constructor -
Destructor -
Copy Constructor -
bool
Checks to see if live-view property is readable.
IsGetEnableCurrentValue()
CrInt32u GetValueSize() Get the total number of bytes of value set for value pointer.
147
Camera Remote SDK
148
Camera Remote SDK
CrFocusFrameInfo
Member Variables
Name Type Summary
Member Functions
Signature Description
Constructor -
Destructor -
* : When the camera attached A-mount Lens & Mount Adaptor such as LA-EA4.
149
Camera Remote SDK
* : When the camera attached A-mount Lens & Mount Adaptor such as LA-EA4.
150
Camera Remote SDK
CrMagPosInfo
Member Variables
Name Type Summary
Member Functions
Signature Description
Constructor -
Destructor -
151
Camera Remote SDK
CrFaceFrameInfo
Used to retrieve Face/Eye frame info. This class is also used for subject recognition.
Member Variables
Name Type Summary
Member Functions
Signature Description
Constructor -
Destructor -
152
Camera Remote SDK
CrTrackingFrameInfo
Member Variables
Name Type Summary
Member Functions
Signature Description
Constructor -
Destructor -
153
Camera Remote SDK
CrImageInfo
Used to retrieve live-view image info. Use this class to retrieve the size of the live-view image.
Member Variables
Name Type Summary
- - -
Member Functions
Signature Description
Constructor -
Destructor -
154
Camera Remote SDK
CrImageDataBlock
Used for retrieving live-view image data. Allocate an object of this type to use as an output buffer.
Member Variables
Name Type Summary
- - -
Member Functions
Signature Description
Constructor -
Destructor -
Set the maximum size(bytes) that can save live-view images. Use
void SetSize(CrInt32u size)
the size(bytes) obtained by CrImageInfo::GetBufferSize()
void SetData(CrInt8u* data) Set the receive pointer for live-view image.
155
Camera Remote SDK
Contents Transfer
CrMtpFolderInfo
Has a folder handle and date information. This folder handle is used to get the "CrContentHandle"
needed to pull out the content.
Member Variables
Name Type Summary
Member Functions
Signature Description
Constructor -
Destructor -
Copy Constructor -
156
Camera Remote SDK
CrMtpContentsInfo
Includes information about the content file name, content file size, and supported values.
This information is used to pull content from the media inserted in the camera slot.
Member Variables
Name Type Summary
format : “YYYYMMDDThhmmss”
dateChar CrChar[16]
ex) 7/16/2010 1:25:46 PM=
20100716T132546
Content name.
Member Functions
Signature Description
Constructor -
Destructor -
Copy Constructor -
157
Camera Remote SDK
Display string
CrDisplayStringListInfo
Member Variables
Name Type Summary
Member Functions
Signature Description
Constructor -
Destructor -
Copy Constructor -
158
Camera Remote SDK
CrDisplayStringType
Member Enumerations
Summary
Definition
ILME-FX6 Other Models
CrDisplayStringType_AllList
Request all list types
Output column of
CrDisplayStringType_BaseLook_Output_Display
Menu > Paint/Look > -
Base Look > Select
Menu >
CrDisplayStringType_Camera_Gain_BaseISO_Disp Menu > Shooting >
Exposure/Color >
lay ISO/Gain/EI >
Exposure > Base
BaseISO
ISO
159
Camera Remote SDK
Abbreviation string
for Menu > Project >
CrDisplayStringType_Button_Assign_ShortDisplay
Assignable Button. -
This menu is not in
the camera body.
Menu >
Exposure/Color >
CrDisplayStringType_CreativeLook_Name_Display
- Color/Tone >
Creative Look >
Look
160
Camera Remote SDK
MediaProfile
CrMediaProfileInfo
For the content type and extension, refer to the help guide of the main unit because it is the main unit
specification.
Member Variables
Name Type Summary
161
Camera Remote SDK
Member Functions
Signature Description
Constructor -
Destructor -
Copy Constructor -
CrMediaProfile
Member Enumerations
Definition Summary
162
Camera Remote SDK
Lens Information
CrLensInformation
Member Variables
Name Type Summary
Focus position
focusPosition CrInt32u
ex)20 = 0.2feet/meter
Member Functions
Signature Description
Constructor -
Destructor -
Copy Constructor -
163
Camera Remote SDK
CrLensInformationType
Member Enumerations
Definition Summary
CrLensInformationType_Undefined Unavailable
164
Camera Remote SDK
Callback Interface
IDeviceCallback
The callback interface of the SDK. This interface is used by the Camera Remote SDK to
communicate the result of various asynchronous events to the user.
The user must implement a class deriving from this interface to use the SDK. This derived class
should be passed to the Connect API to establish the callback communication channel with the SDK.
165
Camera Remote SDK
166
Camera Remote SDK
ICrCameraObjectInfo
Your application can access to the specified camera information that is enumerated by
EnumCameraObjects() using this interface.
The information retrieved from this interface is useful for displaying various information about the
corresponding device to the end user of an application utilising the Camera Remote SDK. The
information provided by this class is also required when establishing a new connection to a camera
device. It should be provided when calling the Connect API.
The user should never manually free these objects by calling free or delete. Instead, the user should
call ICrCameraObjectInfo::Release. This passes responsibility for releasing the allocated memory to
the SDK, where it can be properly released.
virtual CrInt32u GetNameSize() const Gets the size of the name string
virtual CrInt32u GetModelSize() const Gets the size of the model string
virtual CrInt8u* GetId() const Gets the pointer to the device id data buffer
virtual CrInt32u GetIdType() const Gets the id data type (binary or string data)
167
Camera Remote SDK
ICrEnumCameraObjectInfo
The virtual interface for interacting with enumerated device info list created by the SDK.
This is the enumerator object interface to access the list of connectable cameras. Your application
can get the access interface to the each camera using GetCameraObjectInfo().
A “connectable” device fulfils three requirements. One, the device itself supports PC Remote Control
features. Two, the device model is supported by the current Camera Remote SDK release. Three, the
connection method used by the device is supported by the current Camera Remote SDK. All three
requirements must be fulfilled for the device information to be populated in the list.
All ICrEnumCameraObjectInfo interface objects are allocated internally by the SDK before having
their address passed back to the user. The user should never manually free these objects by calling
free or delete. Instead, the user should call ICrEnumCameraObjectInfo::Release. This passes
responsibility for releasing the allocated memory to the SDK, where it can be properly released.
168
Camera Remote SDK
Error Category
Name Summary
CrError_None No error
CrError_Generic Uncategorized errors
CrError_File File errors
CrError_Connect Communication errors
CrError_Memory Memory errors
CrError_Api API errors
CrError_Init Initialization errors
CrError_Polling Polling errors
CrError_Adaptor Adapter errors
CrError_Device Device errors
CrError_Contents Content transfer errors
CrError_None
169
Camera Remote SDK
CrError_Generic
Name Summary
CrError_Generic_Unknown Uncategorized errors
CrError_Generic_Notimpl Not implemented
CrError_Generic_Abort Processing was aborted
CrError_Generic_NotSupported Not supported
CrError_Generic_SeriousErrorNotSupported Not supported
CrError_Generic_InvalidHandle Not valid handle
CrError_Generic_InvalidParameter Invalid parameter
CrError_File
Name Summary
CrError_File_Unknown Unknown file errors
CrError_File_IllegalOperation Illegal operation (e.g., loading without opening)
CrError_File_IllegalParameter Illegal parameter
CrError_File_EOF EOF
CrError_File_OutOfRange Operation, such as seek, is out of range
CrError_File_NotFound File not found
CrError_File_DirNotFound Directory not found
CrError_File_AlreadyOpened Already opened
CrError_File_PermissionDenied No access permission
CrError_File_StorageFull Host storage is full
CrError_File_AlreadyExists Already exists
CrError_File_TooManyOpenedFiles Too many open files
CrError_File_ReadOnly Read-Only file
CrError_File_CantOpen Cannot open
CrError_File_CantClose Cannot close
CrError_File_CantDelete Cannot delete
CrError_File_CantRead Cannot read
CrError_File_CantWrite Cannot write
CrError_File_CantCreateDir Cannot create a directory
CrError_File_OperationAbortedByUser Processing was aborted by user
CrError_File_UnsupportedOperation API not supported for the platform was called
CrError_File_NotYetCompleted Operation is not completed
The file is no longer valid because the volume for
CrError_File_Invalid
the file was altered
The specified network resource or device is no
CrError_File_StorageNotExist
longer available
CrError_File_SharingViolation Sharing violation
CrError_File_Rotation Invalid file orientation
CrError_File_SameNameFull Too many same-name files
170
Camera Remote SDK
CrError_Connect
Name Summary
Other errors classified as connection
CrError_Connect_Unknown
except below
A connection request failed through the
CrError_Connect_Connect
USB
CrError_Connect_Release Release failed
CrError_Connect_GetProperty Getting property failed
CrError_Connect_SendCommand Sending command failed
CrError_Connect_HandlePlugin Illegal handle plug-in
CrError_Connect_Disconnected A connection disconnected
CrError_Connect_TimeOut A connection operation timed out
CrError_Reconnect_TimeOut Reconnection operations timed out.
CrError_Connect_FailRejected Connection rejected and failed
Connection failed due to processing in
CrError_Connect_FailBusy
progress
CrError_Connect_FailUnspecified Unspecified connection failure
CrError_Connect_Cancel Connection canceled
CrError_Connect_SessionAlreadyOpened Session is open
Connection to the content transfer mode on
CrError_Connect_ContentsTransfer_NotSupported
a non-supporting model.
Cameras that do not support SSH
CrError_Connect_SSH_NotSupported
authentication
171
Camera Remote SDK
CrError_Memory
Name Summary
CrError_Memory_Unknown Unknown memory error
CrError_Memory_OutOfMemory Cannot allocate memory
CrError_Memory_InvalidPointer Invalid pointer
CrError_Memory_Insufficient Allocate memory insufficient
CrError_Api
Name Summary
CrError_Api_Unknown Unknown API error
CrError_Api_Insufficient Incorrect parameter
CrError_Api_InvalidCalled Invalid API call
CrError_Api_NoApplicableInformation No applicable information exists.
CrError_Api_OutOfModelList Outside the scope of the camera model list
CrError_Api_NotSupportModelOfUSB Model that does not support USB connection
CrError_Api_NotSupportModelOfEthernet Model that does not support Ethernet connection
CrError_Api_InvalidSerialNumber Invalid serial number
CrError_Api_InvalidIpAddress Invalid serial IP Address
CrError_Api_InvalidMacAddress Invalid serial Mac Address
CrError_Init
CrError_Polling
Name Summary
CrError_Polling_Unknown Unknown polling error
CrError_Polling_InvalidVal_Intervals Invalid polling interval setting value
CrError_Adaptor
Name Summary
CrError_Adaptor_Unknown Unknown adapter error
CrError_Adaptor_InvalidProperty A property that doesn't exist was used
CrError_Adaptor_GetInfo Getting information failed
CrError_Adaptor_Create Creation failed
CrError_Adaptor_SendCommand Sending command failed
CrError_Adaptor_HandlePlugin Illegal handle plug-in
CrError_Adaptor_CreateDevice Device creation failed
CrError_Adaptor_EnumDevice Enumeration of device information failed
CrError_Adaptor_Reset Reset failed
172
Camera Remote SDK
CrError_Device
Name Summary
CrError_Device_Unknown Unknown device error
CrError_Contents
Name Summary
CrError_Contents_Unknown Unknown Contents error
CrError_Contents_InvalidHandle The specified handle is invalid
CrError_Contents_DateFolderList_NotRetrieved Before getting date folder List
CrError_Contents_ContentsList_NotRetrieved Before getting content handles array
CrError_Contents_Transfer_Unsuccess Content transfer failed
CrError_Contents_Transfer_Cancel Content transfer canceled
CrError_Contents_RejectRequest Rejected request
CrWarning
Name Summary
CrWarning_Unknown Warning: unknown warning
CrWarning_Connect_Reconnected Warning: reconnected
CrWarning_Connect_Reconnecting Warning: reconnecting
CrWarning_Connect_Already Warning: already connected
Warning: connection limitations
CrWarning_Connect_OverLimitOfDevice Exceeded the number of connectable
devices
Warning: host storage is almost full
If you need to check camera storage,
CrWarning_File_StorageFull please use Device Property
“Media SLOTx Remaining number
shots”.
CrWarning_SetFileName_Failed Warning: file name setting error
CrWarning_GetImage_Failed Warning: error in getting image
CrWarning_FailedToSetCWB Not notified. Reserved definition.
CrWarning_NetworkErrorOccurred Warning: network error occurred
CrWarning_NetworkErrorRecovered Warning: recovered from network error
CrWarning_Format_Failed Warning: formatting failed
CrWarning_Format_Invalid Warning: invalid formatting
173
Camera Remote SDK
CrWarning_DisplayListChanged_ShootingMode_Cinema
Not notified. Reserved definition.
ColorGamutDisplayList
174
Camera Remote SDK
CrWarning_DisplayListChanged_ShootingMode_TargetD
Not notified. Reserved definition.
isplayDisplayList
CrWarning_DisplayListChanged_Camera_GainBaseISO
Not notified. Reserved definition.
DisplayList
175
Camera Remote SDK
CrNotify
Name Summary
CrNotify_All_Download_Complete Notification: download completed
Notification: Still image capture complete.
CrNotify_Captured_Event Not supporting Products : ILCE-9M2, ILCE-7RM4,
ILME-FX6
CrNotify_ContentsTransfer_Start Notification: Content transfer started
CrNotify_ContentsTransfer_Complete Notification: Content transfer completed
176
Camera Remote SDK
Parameter description
CrCommandId_Release
CrCommandId_MovieRecord
Note:
After starting movie recording, please check the movie
recording status with CrDeviceProperty_RecordingState.
Caution:
The below models can be start or stop with the “Down”,
but please execute “Up” after “Down” at once.
ILCE-1, ILCE-9M2, ILCE-7RM4A, ILCE-7RM4, ILCE-7SM3,
ILCE-7C and DSC-RX0M2.
CrCommandId_MediaFormat
177
Camera Remote SDK
CrCommandId_MediaQuickFormat
CrCommandId_CancelMediaFormat
178
Camera Remote SDK
CrCommandId_S1andRelease
CrCommandId_CancelContentsTransfer
CrCommandId_CameraSettingsReset
179
Camera Remote SDK
CrCommandId_APS_C_or_Full_Switching
Valid when
CrCommandParam_Down CrDeviceProperty_APS_C_or_Full_SwitchingEnableStatus is
Enable. Each time you execute a command, the image sensor
of the camera switches between APS-C size and full size.
You can check the current value with
CrDeviceProperty_APS_C_or_Full_SwitchingSetting.
CrCommandId_MovieRecButtonToggle
CrCommandParam_Down Specify “Down” when you start movie recording and stop
movie recording.
Valid when
CrDeviceProperty_MovieRecButtonToggleEnableStatus is
Enable.
Note:
After starting movie recording, please check the movie
recording status with CrDeviceProperty_RecorderMainStatus.
CrCommandId_CancelRemoteTouchOperation
180
Camera Remote SDK
CrCommandId_PixelMapping
CrCommandId_TimeCodePresetReset
CrCommandId_UserBitPresetReset
181
Camera Remote SDK
CrCommandId_SensorCleaning
CrCommandId_PictureProfileReset
CrCommandId_CreativeLookReset
182
Camera Remote SDK
CrCommandId_PowerOff
Note:
To turn on the power after the power is turned off, please
operate the camera's ON/OFF (Power) switch or input the
shutter trigger signal via USB.
The camera will not start up even if the main power of the
CrCommandParam_Down
camera is turned on after the camera is turned off by this
command while power is supplied via USB. In this case,
please input the shutter trigger signal via USB to start the
camera.
183
Camera Remote SDK
CrDeviceProperty_S1
CrDeviceProperty_AEL
CrDeviceProperty_FEL
CrDeviceProperty_AWBL
184
Camera Remote SDK
CrDeviceProperty_FNumber
Value Explanation
CrFnumber_Nothing Nothing to display
CrFnumber_Unknown Display "--"
Other than above values The value is obtained by multiplying a real FNumber
value by 100.
CrDeviceProperty_ExposureBiasCompensation
Value Explanation
CrDeviceProperty_FlashCompensation
Value Explanation
185
Camera Remote SDK
CrDeviceProperty_ShutterSpeed
Value Explanation
CrShutterSpeed_Bulb BULB
CrShutterSpeed_Nothing nothing to display
Other than above values The real value of shutter speed (Upper two bytes:
numerator, Lower two bytes: denominator)
CrDeviceProperty_IsoSensitivity
Value Explanation
- value : bit 28-31 extension, bit 24-27 ISO mode , bit 0-23 ISO
value.
186
Camera Remote SDK
CrDeviceProperty_FocusArea
CrDeviceProperty_ExposureProgramMode
187
Camera Remote SDK
CrExposure_Landscape Landscape
CrExposure_Macro Macro
CrExposure_HandheldTwilight Hand-held Twilight
CrExposure_NightPortrait Night Portrait
CrExposure_AntiMotionBlur Anti Motion Blur
CrExposure_Pet Pet
CrExposure_Gourmet Gourmet
CrExposure_Fireworks Fireworks
CrExposure_HighSensitivity High Sensitivity
CrExposure_MemoryRecall MemoryRecall(MR)
CrExposure_ContinuousPriority_AE_8pics Tele-Zoom Continuous Priority AE 8pics
CrExposure_ContinuousPriority_AE_10pics Tele-Zoom Continuous Priority AE 10pics
CrExposure_ContinuousPriority_AE_12pics Continuous Priority AE12pics
CrExposure_3D_SweepPanorama 3D Sweep Panorama Shooting
CrExposure_SweepPanorama Sweep Panorama Shooting
CrExposure_Movie_P Movie Recording(P)
CrExposure_Movie_A Movie Recording(A)
CrExposure_Movie_S Movie Recording(S)
CrExposure_Movie_M Movie Recording(M)
CrExposure_Movie_Auto Movie Recording(AUTO)
CrExposure_Movie_F Movie Recording(F Mode)
CrExposure_Movie_SQMotion_P Movie Recording(Slow&Quick Motion(P))
CrExposure_Movie_SQMotion_A Movie Recording(Slow&Quick Motion(A))
CrExposure_Movie_SQMotion_S Movie Recording(Slow&Quick Motion(S))
CrExposure_Movie_SQMotion_M Movie Recording(Slow&Quick Motion(M))
CrExposure_Movie_SQMotion_AUTO Movie Recording(Slow&Quick Motion(AUTO))
CrExposure_Movie_SQMotion_F Movie Recording(Slow&Quick Motion(F Mode))
CrExposure_Flash_Off Flash Off
CrExposure_PictureEffect PictureEffect
CrExposure_HiFrameRate_P High Frame Rate(P)
CrExposure_HiFrameRate_A High Frame Rate(A)
CrExposure_HiFrameRate_S High Frame Rate(S)
CrExposure_HiFrameRate_M High Frame Rate(M)
CrExposure_SQMotion_P S&Q Motion(P)
CrExposure_SQMotion_A S&Q Motion(A)
CrExposure_SQMotion_S S&Q Motion(S)
CrExposure_SQMotion_M S&Q Motion(M)
CrExposure_MOVIE MOVIE
CrExposure_STILL STILL
188
Camera Remote SDK
CrDeviceProperty_CompressionFileFormatStill
CrDeviceProperty_FileType
189
Camera Remote SDK
CrDeviceProperty_JpegQuality
CrDeviceProperty_WhiteBalance
CrWhiteBalance_AWB AWB
CrWhiteBalance_Underwater_Auto Underwater Auto
CrWhiteBalance_Daylight Daylight
CrWhiteBalance_Shadow Shade
CrWhiteBalance_Cloudy Cloudy
CrWhiteBalance_Tungsten Tungsten (Incandescent)
CrWhiteBalance_Fluorescent Fluorescent
CrWhiteBalance_Fluorescent_WarmWhite Fluor::Warm White(-1)
CrWhiteBalance_Fluorescent_CoolWhite Fluor::Cool White(0)
CrWhiteBalance_Fluorescent_DayWhite Fluor::Day White(+1)
CrWhiteBalance_Fluorescent_Daylight Fluor::Daylight White(+2)
CrWhiteBalance_Flush Flush
CrWhiteBalance_ColorTemp C.Temp.
CrWhiteBalance_Custom_1 Custom1
CrWhiteBalance_Custom_2 Custom2
CrWhiteBalance_Custom_3 Custom3
CrWhiteBalance_Custom Custom
190
Camera Remote SDK
CrDeviceProperty_FocusMode
CrDeviceProperty_MeteringMode
CrDeviceProperty_FlashMode
191
Camera Remote SDK
CrDeviceProperty_WirelessFlash
CrDeviceProperty_RedEyeReduction
CrDeviceProperty_DriveMode
192
Camera Remote SDK
193
Camera Remote SDK
194
Camera Remote SDK
195
Camera Remote SDK
CrDeviceProperty_DRO
196
Camera Remote SDK
CrDeviceProperty_ImageSize
CrDeviceProperty_AspectRatio
CrDeviceProperty_PictureEffect
197
Camera Remote SDK
CrDeviceProperty_Colortemp
For models that support CrDeviceProperty_ColortempStep, the CurrentValue of this device property
is also updated by manipulating CrDeviceProperty_ColortempStep.
Value Explanation
The resolution of the CurrentValue is the step value.
The CurrentValue increases or decreases with each
Variable min step value.
Ex.)
If min = 1000, max = 1500, step = 100, you can set 6
values of 1000, 1100, 1200, 1300, 1400, 1500 to
Variable max CurrentValue.
198
Camera Remote SDK
CrDeviceProperty_ColorTuningAB
Value Explanation
AB value sent to PC App from camera
0x9C(B9_00) min corresponds to one of the following patterns.
AB number is BY or AY, where Y is decimal from
0.00 to 9.00 and increments by 0.25.
0xE4(A9_00) max
Ex.)
B9.00(0x9C), B8.75(0x9D), ..., A8.75(0xE3), A9
.00(0xE4).
CrDeviceProperty_ColorTuningGM
Value Explanation
GM value sent to PC App from camera
0x9C(M9_00) min corresponds to one of the following patterns.
GM number is MX or GX, where X is decimal from
0.00 to 9.00 and increments by 0.25.
0xE4(G9_00) max
Ex.)
M9.00(0x9C), M8.75(0x9D), ..., G8.75(0xE3), G
9.00(0xE4).
CrDeviceProperty_LiveViewDisplayEffect
199
Camera Remote SDK
CrDeviceProperty_StillImageStoreDestination
CrDeviceProperty_PriorityKeySettings
200
Camera Remote SDK
CrDeviceProperty_Focus_Magnifier_Setting
Value Explanation
The upper 4 bytes are the Focus Magnifier Ratio, and the lower
4 bytes are the Focus Magnifier Position(x,y).
Caution :
The range of focus magnifier ratio and focus magnifier position
varies depending on the model and aspect ratio.
Caution:
If it is not in the magnified focus state, the desired result may
not be obtained unless the correct position is set again after
refreshing the state by setting 0xFFFFFFFF (Invalid Value) in
the lower 4 bytes in advance.
Note:
See Tips/Trouble shooting for a detailed implementation
example.
Focus Magnifier Setting
201
Camera Remote SDK
202
Camera Remote SDK
CrDeviceProperty_DateTime_Settings
- 64bit value.
CrDeviceProperty_NearFar
Value Explanation
min
max
1 step
*1 : In the case of DSC-RX0M2, the movement width is fixed.
203
Camera Remote SDK
CrDeviceProperty_AF_Area_Position
Set the AF Area Position(x,y)
Value Explanation
Note:
The range in which the coordinates can be specified
varies depending on the model, aspect setting, and AF
setting.
204
Camera Remote SDK
CrDeviceProperty_Zoom_Scale
Get/Set the Zoom Scale.
It may not be possible to operate depending on the model and lens type. refs Zoom Operation / Zoom
Scale.
Value Explanation
CrDeviceProperty_Zoom_Setting
Get/Set the Zoom Setting.
It may not be possible to operate depending on the model and lens type. refs Zoom Operation / Zoom
Scale.
CrDeviceProperty_Zoom_Operation
Execute the Zoom Operation.
It may not be possible to operate depending on the model and lens type. refs Zoom Operation / Zoom
Scale.
For models that support CrDeviceProperty_Zoom_Speed_Range, link with Range(min/max/step) of
CrDeviceProperty_Zoom_Speed_Range.
Parameter Code Explanation
205
Camera Remote SDK
CrDeviceProperty_Movie_File_Format
Get/Set the File Format(Movie)
CrFileFormatMovie_AVCHD AVCHD
CrFileFormatMovie_MP4 MP4
CrFileFormatMovie_XAVC_S_4K XAVC S 4K
CrFileFormatMovie_XAVC_S_HD XAVC S HD
CrFileFormatMovie_XAVC_HS_8K XAVC HS 8K
CrFileFormatMovie_XAVC_HS_4K XAVC HS 4K
CrFileFormatMovie_XAVC_S_L_4K XAVC S-L 4K
CrFileFormatMovie_XAVC_S_L_HD XAVC S-L HD
CrFileFormatMovie_XAVC_S_I_4K XAVC S-I 4K
CrFileFormatMovie_XAVC_S_I_HD XAVC S-I HD
CrFileFormatMovie_XAVC_I XAVC I
CrFileFormatMovie_XAVC_L XAVC L
CrFileFormatMovie_XAVC_HS_HD XAVC HS HD
CrFileFormatMovie_XAVC_S_I_DCI_4K XAVC S-I DCI 4K
Note: In some models, “XAVC S-L xx” is displayed as “XAVC S xx” in their menu.
CrDeviceProperty_Movie_Recording_Setting
Get/Set the Recording Setting(Movie)
206
Camera Remote SDK
207
Camera Remote SDK
CrDeviceProperty_Movie_Recording_FrameRateSetting
CrRecordingFrameRateSettingMovie_120p 120p
Actual frequency might be 119.88.
CrRecordingFrameRateSettingMovie_100p 100p
CrRecordingFrameRateSettingMovie_60p 60p
Actual frequency might be 59.94.
CrRecordingFrameRateSettingMovie_50p 50p
CrRecordingFrameRateSettingMovie_30p 30p
Actual frequency might be 29.97.
CrRecordingFrameRateSettingMovie_25p 25p
CrRecordingFrameRateSettingMovie_24p 24p
Actual frequency might be 23.98 except
ILME-FX6.
CrRecordingFrameRateSettingMovie_23_98p 23.98p
CrRecordingFrameRateSettingMovie_29_97p 29.97p
CrRecordingFrameRateSettingMovie_59_94p 59.94p
CrRecordingFrameRateSettingMovie_24_00p 24.00p
CrRecordingFrameRateSettingMovie_119_88p 119.88p
208
Camera Remote SDK
The value of this Device Property has been changed since version 1.08.00 to be expressed as an
exact value.
When using these models, please refer to the table and replace the definitions.
ILME-FX6
Other
ILME-FX3
ILME-FX30
Other
Enumeration
CrRecordingFrameRateSettingMovie_120p - -
CrRecordingFrameRateSettingMovie_100p -
209
Camera Remote SDK
CrDeviceProperty_Interval_Rec_Mode
CrIntervalRecMode_OFF OFF
CrIntervalRecMode_ON ON
CrDeviceProperty_Still_Image_Trans_Size
CrPropertyStillImageTransSize_Original Original
CrPropertyStillImageTransSize_SmallSize Small Size JPEG/HEIF
CrDeviceProperty_RAW_J_PC_Save_Image
CrDeviceProperty_LiveView_Image_Quality
CrPropertyLiveViewImageQuality_Low Low
CrPropertyLiveViewImageQuality_High High
210
Camera Remote SDK
CrDeviceProperty_CustomWB_Capture_Standby
Get the Custom WB Capture Standby Operation
CrPropertyCustomWBOperation_Disable Disable
CrPropertyCustomWBOperation_Enable Enable
CrPropertyCustomWBCapture_Up Up
CrPropertyCustomWBCapture_Down Down
D
CrDeviceProperty_CustomWB_Capture_Standby_Cancel
Get the Custom WB Capture Standby Cancel Operation
CrPropertyCustomWBOperation_Disable Disable
CrPropertyCustomWBOperation_Enable Enable
CrPropertyCustomWBCapture_Up Up
CrPropertyCustomWBCapture_Down Down
211
Camera Remote SDK
CrDeviceProperty_CustomWB_Capture
Value Explanation
0x00000000 min
The x coordinate is set in the upper two bytes
and the y coordinate is set in the lower two bytes
0xFFFFFFFF max The enable range can be obtained from "Custom
WB Capturable Area".
The settable area is more inside by half the
Frame Size than “Custom WB Capturable Area".
Note:
The settable range varies depending on the
1 step model and aspect setting.
212
Camera Remote SDK
CrDeviceProperty_SnapshotInfo
Value Explanation
CrDeviceProperty_BatteryRemain
Value Explanation
0xFF(untaken) min
0x64(100%) max
0x01 step
CrDeviceProperty_BatteryLevel
213
Camera Remote SDK
CrDeviceProperty_RecordingState
CrDeviceProperty_LiveViewStatus
LiveView Status
CrDeviceProperty_FocusIndication
CrFocusIndicator_Unlocked Unlock
CrFocusIndicator_Focused_AF_S [AF-S]Focussed, and AF Locked State
CrFocusIndicator_NotFocused_AF_S [AF-S]Not focussed, and Low Contrast State
214
Camera Remote SDK
CrDeviceProperty_MediaSLOT1_Status
CrDeviceProperty_MediaSLOT1_RemainingNumber
Value Explanation
CrDeviceProperty_MediaSLOT1_RemainingTime
Value Explanation
CrDeviceProperty_MediaSLOT1_FormatEnableStatus
CrMediaFormat_Disable Disable
CrMediaFormat_Enable Enable
215
Camera Remote SDK
CrDeviceProperty_MediaSLOT2_Status
CrDeviceProperty_MediaSLOT2_RemainingNumber
Value Explanation
CrDeviceProperty_MediaSLOT2_RemainingTime
Value Explanation
CrDeviceProperty_MediaSLOT2_FormatEnableStatus
Get the Media Full Format Enable Status(SLOT2)
CrMediaFormat_Disable Disable
CrMediaFormat_Enable Enable
216
Camera Remote SDK
CrDeviceProperty_Media_FormatProgressRate
Get the Media Format Progress Rate
Value Explanation
0x00000000 Invalid
Progress rate
Lower 16bit is denominator, Higher 16bit is molecules.
Other than above values Calculate the progress rate each time.
e.g.) 0x003600C8 means 27%. (by the following
calculations. (0x36/0xC8) * 100)
CrDeviceProperty_Interval_Rec_Status
Get the Interval REC Status
CrDeviceProperty_CustomWB_Execution_State
Get the Custom WB Execution State
CrPropertyCustomWBExecutionState_Invalid Invalid
CrPropertyCustomWBExecutionState_Standby Standby
CrPropertyCustomWBExecutionState_Capturing Capturing
CrPropertyCustomWBExecutionState_OperatingCamera Operating Camera
217
Camera Remote SDK
CrDeviceProperty_CustomWB_Capturable_Area
Get the Custom WB Capturable Area(x,y)
Value Explanation
e.g.)
CrDeviceProperty_CustomWB_Capture_Frame_Size
Get the Custom WB Capture Frame Size(x,y)
Value Explanation
0x00000001 step
CrDeviceProperty_CustomWB_Capture_Operation
Get the Custom WB Capture Operation Enable Status
CrPropertyCustomWBOperation_Disable Disable
CrPropertyCustomWBOperation_Enable Enable
218
Camera Remote SDK
CrDeviceProperty_Zoom_Operation_Status
Get the Zoom Operation Enable Status
CrZoomOperationEnableStatus_Disable Disable
CrZoomOperationEnableStatus_Enable Enable
CrDeviceProperty_Zoom_Bar_Information
Get the Zoom Bar Information
Value Explanation
50%
219
Camera Remote SDK
CrDeviceProperty_Zoom_Type_Status
Get the Zoom Type Status
CrDeviceProperty_MediaSLOT1_FileType
This property is effective when Recording Media for still images is set to "Sort Recording".
For ILCE-1 : MENU > Shooting > Media > Rec. Media Settings > Recording Media
CrDeviceProperty_MediaSLOT2_FileType
This property is effective when Recording Media for still images is set to "Sort Recording".
For ILCE-1 : MENU > Shooting > Media > Rec. Media Settings > Recording Media
220
Camera Remote SDK
CrDeviceProperty_MediaSLOT1_JpegQuality
This property is effective when Recording Media for still images is set to "Sort Recording", and
"CrDeviceProperty_MediaSLOT1_FileType" is set to "CrFileType_Jpeg" or "CrFileType_Heif".
For ILCE-1 : MENU > Shooting > Image Quality > Image Quality Settings > JPEG Quality/HEIF
Quality
This setting is related to “CrDeviceProperty_CompressionFileFormatStill”.
CrDeviceProperty_MediaSLOT2_JpegQuality
This property is effective when Recording Media for still images is set to "Sort Recording", and
"CrDeviceProperty_MediaSLOT2_FileType" is set to "CrFileType_Jpeg" or "CrFileType_Heif".
For ILCE-1 : MENU > Shooting > Image Quality > Image Quality Settings > JPEG Quality/HEIF
Quality
This setting is related to “CrDeviceProperty_CompressionFileFormatStill”.
CrDeviceProperty_MediaSLOT1_ImageSize
This property is effective when Recording Media for still images is set to "Sort Recording", and
"CrDeviceProperty_MediaSLOT1_FileType" is set to "CrFileType_Jpeg" or "CrFileType_Heif".
For ILCE-1 : MENU > Shooting > Image Quality > Image Quality Settings > JPEG Image
Size/HEIF Image Size
This setting is related to “CrDeviceProperty_CompressionFileFormatStill”.
221
Camera Remote SDK
CrDeviceProperty_MediaSLOT2_ImageSize
This property is effective when Recording Media for still images is set to "Sort Recording", and
"CrDeviceProperty_MediaSLOT2_FileType" is set to "CrFileType_Jpeg" or "CrFileType_Heif".
For ILCE-1 : MENU > Shooting > Image Quality > Image Quality Settings > JPEG Image
Size/HEIF Image Size
This setting is related to “CrDeviceProperty_CompressionFileFormatStill”.
CrDeviceProperty_RAW_FileCompressionType
CrRAWFile_Uncompression Uncompression
CrRAWFile_Compression Compression
CrRAWFile_LossLess Lossless Compression
CrRAWFile_LossLessS Lossless S
CrRAWFile_LossLessM Lossless M
CrRAWFile_LossLessL Lossless L
CrDeviceProperty_MediaSLOT1_RAW_FileCompressionType
This property is effective when Recording Media for still images is set to "Sort Recording", and
"CrDeviceProperty_MediaSLOT1_FileType" is set to "CrFileType_Raw".
For ILCE-1 : MENU > Shooting > Image Quality > Image Quality Settings > File Format/RAW
File Type
CrRAWFile_Uncompression Uncompression
CrRAWFile_Compression Compression
CrRAWFile_LossLess Lossless Compression
CrRAWFile_LossLessS Lossless S
CrRAWFile_LossLessM Lossless M
CrRAWFile_LossLessL Lossless L
222
Camera Remote SDK
CrDeviceProperty_MediaSLOT2_RAW_FileCompressionType
This property is effective when Recording Media for still images is set to "Sort Recording", and
"CrDeviceProperty_MediaSLOT2_FileType" is set to "CrFileType_Raw".
For ILCE-1 : MENU > Shooting > Image Quality > Image Quality Settings > File Format/RAW
File Type
CrRAWFile_Uncompression Uncompression
CrRAWFile_Compression Compression
CrRAWFile_LossLess Lossless Compression
CrRAWFile_LossLessS Lossless S
CrRAWFile_LossLessM Lossless M
CrRAWFile_LossLessL Lossless L
CrDeviceProperty_MediaSLOT1_QuickFormatEnableStatus
CrMediaFormat_Disable Disable
CrMediaFormat_Enable Enable
CrDeviceProperty_MediaSLOT2_QuickFormatEnableStatus
CrMediaFormat_Disable Disable
CrMediaFormat_Enable Enable
CrDeviceProperty_Cancel_Media_FormatEnableStatus
CrCancelMediaFormat_Disable Disable
CrCancelMediaFormat_Enable Enable
223
Camera Remote SDK
CrDeviceProperty_ZoomAndFocusPosition_Save
With CrDeviceProperty_ZoomAndFocusPosition_Load,
you can get the saved preset data and restore it to the
Variable same state.
e.g.)
CrDeviceProperty_ZoomAndFocusPosition_Load
Note:
224
Camera Remote SDK
CrDeviceProperty_Remocon_Zoom_Speed_Type
CrRemoconZoomSpeedType_Invalid Invalid
Variable
CrRemoconZoomSpeedType_Variable Related to CrDeviceProperty_Zoom_Operation
and CrDeviceProperty_Zoom_Speed_Range.
CrRemoconZoomSpeedType_Fixed Fixed
CrDeviceProperty_Zoom_Speed_Range
Note:
max The actual zoom speed depends on the
specifications of each lens model.
Variable
(Positive number)
step
1
225
Camera Remote SDK
CrDeviceProperty_SdkControlMode
See “Supporting physical layer” for models that support each mode.
CrDeviceProperty_ContentsTransferStatus
OFF
CrContentsTransfer_OFF
The state in which the camera cannot transfer content
CrContentsTransfer_ON ON
CrDeviceProperty_ContentsTransferCancelEnableStatus
CrCancelContentsTransfer_Disable Disable
CrCancelContentsTransfer_Enable Enable
226
Camera Remote SDK
CrDeviceProperty_ContentsTransferProgress
CrContentHandle
63-32bit
Content handle during transfer processing
0-100
CrDeviceProperty_IrisModeSetting
CrDeviceProperty_ShutterModeSetting
CrDeviceProperty_GainControlSetting
227
Camera Remote SDK
CrDeviceProperty_GainBaseIsoSensitivity
CrDeviceProperty_GainBaseSensitivity
CrDeviceProperty_ExposureIndex
Set the EI value, The set value varies depending on the model and
the setting status of the camera.
See GetDisplayStringList() for display character string and highlight
latitude list associated with EI.
CrDeviceProperty_BaseLookValue
CrBaseLookValue_Preset(0x00) Ex.)
0x0003 = 3(Preset)
CrBaseLookValue_User(0x01)
0x0108 = 8(User)
0-7bit Index
It may increase or decrease because it
varies depending on the model and
setting status.
See the GetDisplayStringList() for
display character string.
228
Camera Remote SDK
CrDeviceProperty_PlaybackMedia
CrDeviceProperty_DispModeCandidate
Get the Monitor DISP(Screen Display) Mode Candidate
229
Camera Remote SDK
CrDeviceProperty_DispModeSetting
CrDeviceProperty_DispMode
230
Camera Remote SDK
CrDeviceProperty_TouchOperation
CrDeviceProperty_SelectFinder
CrDeviceProperty_AutoPowerOffTemperature
CrDeviceProperty_BodyKeyLock
231
Camera Remote SDK
CrDeviceProperty_ImageID_Num_Setting
See "GPS information and shooting image link" in Tips / Trouble shooting for how to use it.
Caution:
When the power of the camera is turned off or the “PC
Remote” is “Off”, it is initialized to OFF.
CrDeviceProperty_ImageID_Num
See "GPS information and shooting image link" in Tips / Trouble shooting for how to use it.
Note:
The Exif tag for Image ID (Numerical Value) is 0x2042.
232
Camera Remote SDK
CrDeviceProperty_ImageID_String
See "GPS information and shooting image link" in Tips / Trouble shooting for how to use it.
Note:
The Exif tag for Image ID (String) is 0x2043.
CrDeviceProperty_ExposureCtrlType
CrDeviceProperty_MonitorLUTSetting
CrDeviceProperty_IsoCurrentSensitivity
Value Explanation
- value : bit 28-31 extension, bit 24-27 ISO mode , bit 0-23 ISO value.
233
Camera Remote SDK
CrDeviceProperty_CameraSetting_SaveOperationEnableStatus
Get the Camera-Setting Save Operation Enable Status
CrDeviceProperty_CameraSetting_ReadOperationEnableStatus
Get the Camera-Setting Read Operation Enable Status
CrDeviceProperty_CameraSetting_SaveRead_State
Get the Camera-Setting Save/Read State
CrDeviceProperty_CameraSettingsResetEnableStatus
Get the Camera Setting Reset Enable State
234
Camera Remote SDK
CrDeviceProperty_APS_C_or_Full_SwitchingSetting
Get the APS-C or Full Switching Setting
CrDeviceProperty_APS_C_or_Full_SwitchingEnableStatus
Get the APS-C or Full Switching Status
CrDeviceProperty_FocalDistanceInMeter
CrDeviceProperty_FocalDistanceInFeet
235
Camera Remote SDK
CrDeviceProperty_FocalDistanceUnitSetting
CrDeviceProperty_DigitalZoomScale
CrDeviceProperty_ZoomDistance
236
Camera Remote SDK
CrDeviceProperty_ZoomDistanceUnitSetting
CrDeviceProperty_ShutterModeStatus
CrDeviceProperty_ShutterSlow
CrDeviceProperty_ShutterSlowFrames
237
Camera Remote SDK
CrDeviceProperty_Movie_Recording_ResolutionForMain
CrDeviceProperty_Movie_Recording_ResolutionForProxy
CrDeviceProperty_Movie_Recording_FrameRateProxySetting
238
Camera Remote SDK
CrDeviceProperty_MovieShootingMode
CrDeviceProperty_MovieShootingModeColorGamut
CrDeviceProperty_MovieShootingModeTargetDisplay
239
Camera Remote SDK
CrDeviceProperty_DepthOfFieldAdjustmentMode
CrDeviceProperty_DepthOfFieldAdjustmentInterlockingMode
CrDeviceProperty_ColortempStep
CrDeviceProperty_WhiteBalanceModeSetting
240
Camera Remote SDK
CrDeviceProperty_WhiteBalanceTint
CrDeviceProperty_WhiteBalanceTintStep
step
1
241
Camera Remote SDK
CrDeviceProperty_Focus_Operation
CrDeviceProperty_Focus_Speed_Range
CrDeviceProperty_ShutterECSSetting
242
Camera Remote SDK
CrDeviceProperty_ShutterECSNumber
Variable
min This device property is used to specify Shutter ECS
with a certain range of Index values. The upper and
Variable max lower limits of the relative value operation by
CrDeviceProperty_ShutterECSNumberStep are
step obtained with this device property.
If CrDeviceProperty_ShutterECSNumberStep is
operated while the CurrentValue is min or max, the
CurrentValue will not be changed.
Note:
Variable In ILME-FX6, it is always GetOnly, regardless of the
return value of IsSetEnableCurrentValue().
CrDeviceProperty_ShutterECSNumberStep
1 step
CrDeviceProperty_ShutterECSFrequency
step
Variable
243
Camera Remote SDK
CrDeviceProperty_ButtonAssignmentAssignable1
CrDeviceProperty_ButtonAssignmentAssignable2
CrDeviceProperty_ButtonAssignmentAssignable3
CrDeviceProperty_ButtonAssignmentAssignable4
244
Camera Remote SDK
CrDeviceProperty_ButtonAssignmentAssignable5
CrDeviceProperty_ButtonAssignmentAssignable6
CrDeviceProperty_ButtonAssignmentAssignable7
CrDeviceProperty_ButtonAssignmentAssignable8
245
Camera Remote SDK
CrDeviceProperty_ButtonAssignmentAssignable9
CrDeviceProperty_ButtonAssignmentLensAssignable1
CrDeviceProperty_AssignableButton1
CrDeviceProperty_AssignableButton2
246
Camera Remote SDK
CrDeviceProperty_AssignableButton3
CrDeviceProperty_AssignableButton4
CrDeviceProperty_AssignableButton5
CrDeviceProperty_AssignableButton6
CrDeviceProperty_AssignableButton7
247
Camera Remote SDK
CrDeviceProperty_AssignableButton8
CrDeviceProperty_AssignableButton9
CrDeviceProperty_LensAssignableButton1
CrDeviceProperty_FocusModeSetting
CrDeviceProperty_ShutterAngle
248
Camera Remote SDK
CrDeviceProperty_ShutterSetting
CrDeviceProperty_ShutterMode
CrDeviceProperty_ShutterSpeedValue
CrDeviceProperty_ShutterSpeedCurrentValue
CrDeviceProperty_NDFilter
249
Camera Remote SDK
CrDeviceProperty_NDFilterMode
CrDeviceProperty_NDFilterModeSetting
CrDeviceProperty_NDFilterValue
CrDeviceProperty_GainUnitSetting
250
Camera Remote SDK
CrDeviceProperty_GaindBValue
max
Variable
step
Variable
CrDeviceProperty_GaindBCurrentValue
max
Variable
step
Variable
CrDeviceProperty_AWB
CrDeviceProperty_SceneFileIndex
251
Camera Remote SDK
CrDeviceProperty_CurrentSceneFileEdited
CrDeviceProperty_MoviePlayButton
CrDeviceProperty_MoviePlayPauseButton
CrDeviceProperty_MoviePlayStopButton
CrDeviceProperty_MovieForwardButton
252
Camera Remote SDK
CrDeviceProperty_MovieRewindButton
CrDeviceProperty_MovieNextButton
CrDeviceProperty_MoviePrevButton
CrDeviceProperty_MovieRecReviewButton
253
Camera Remote SDK
CrDeviceProperty_FaceEyeDetectionAF
CrDeviceProperty_AFTransitionSpeed
min
Variable Note:
The range value may change depending on the
max model.
Variable
step
Variable
CrDeviceProperty_AFSubjShiftSens
min
Variable Note:
The range value may change depending on the
max model.
Variable
step
Variable
CrDeviceProperty_AFAssist
254
Camera Remote SDK
CrDeviceProperty_NDPresetOrVariableSwitchingSetting
CrDeviceProperty_FunctionOfRemoteTouchOperation
CrDeviceProperty_RemoteTouchOperation
Variable Note:
For ILCE-7SM3 and ILCE-7C, only available in movie
mode.
255
Camera Remote SDK
CrDeviceProperty_MoviePlayingState
CrDeviceProperty_MoviePlayingSpeed
Other than above values The real value of Clip Playing Speed (Upper four bytes:
numerator, Lower four bytes: denominator)
CrDeviceProperty_MediaSLOT1Player
CrDeviceProperty_MediaSLOT2Player
256
Camera Remote SDK
CrDeviceProperty_BatteryRemainDisplayUnit
CrDeviceProperty_BatteryRemainingInMinutes
Step
Variable
CrDeviceProperty_BatteryRemainingInVoltage
CrDeviceProperty_PowerSource
257
Camera Remote SDK
CrDeviceProperty_DCVoltage
step
Variable
CrDeviceProperty_FocusTouchSpotStatus
CrDeviceProperty_FocusTrackingStatus
CrDeviceProperty_RecorderClipName
CrDeviceProperty_RecorderControlMainSetting
258
Camera Remote SDK
CrDeviceProperty_RecorderControlProxySetting
CrDeviceProperty_RecorderStartMain
CrDeviceProperty_RecorderStartProxy
CrDeviceProperty_RecorderMainStatus
259
Camera Remote SDK
CrDeviceProperty_RecorderProxyStatus
CrDeviceProperty_RecorderExtRawStatus
CrDeviceProperty_RecorderSaveDestination
CrDeviceProperty_AssignableButtonIndicator1
260
Camera Remote SDK
CrDeviceProperty_AssignableButtonIndicator2
CrDeviceProperty_AssignableButtonIndicator3
CrDeviceProperty_AssignableButtonIndicator4
CrDeviceProperty_AssignableButtonIndicator5
CrDeviceProperty_AssignableButtonIndicator6
261
Camera Remote SDK
CrDeviceProperty_AssignableButtonIndicator7
CrDeviceProperty_AssignableButtonIndicator8
CrDeviceProperty_AssignableButtonIndicator9
CrDeviceProperty_LensAssignableButtonIndicator1
CrDeviceProperty_SoftwareVersion
Software Version.
262
Camera Remote SDK
CrDeviceProperty_MovieRecButtonToggleEnableStatus
CrDeviceProperty_RemoteTouchOperationEnableStatus
CrDeviceProperty_CancelRemoteTouchOperationEnableStatus
CrDeviceProperty_LensInformationEnableStatus
263
Camera Remote SDK
CrDeviceProperty_FollowFocusPositionSetting
Variable min The Focus Position can be changed within this range.
This CurrentValue will be the requested value. Check
Variable max the actual Focus Position with
step CrDeviceProperty_FollowFocusPositionCurrentValue.
Variable
CrDeviceProperty_FollowFocusPositionCurrentValue
max Note:
Can be converted from normalized values to Focus
Variable
Position (meters/feet) using data taken with
GetLensInformation().
step Focus drive suitable for movie recording.
Variable
CrDeviceProperty_FocusBracketShotNumber
Variable max
1 step
CrDeviceProperty_FocusBracketFocusRange
1 step
264
Camera Remote SDK
CrDeviceProperty_FocusBracketShootingStatus
Get the Focus Bracket Shooting Status
CrDeviceProperty_FunctionOfTouchOperation
Get/Set the Function of Touch Operation
CrDeviceProperty_Movie_ProxyFileFormat
Get/Set the Proxy File Format(Movie)
265
Camera Remote SDK
CrDeviceProperty_ExtendedInterfaceMode
Get/Set the Extended Interface Mode
Extended interface for Sony’s Camera Remote SDK supports shutter trigger by electrical signal and
remote power On/Off*.
*: Extended interface for Sony’s Camera Remote SDK is compatible only with the camera that has a
USB Type-C® connector. To use this function, a separate device must be prepared and
connected. For details, please download the following link.
https://support.d-imaging.sony.co.jp/app/sdk/extended_interface/en/index.html
CrDeviceProperty_SQFrameRate
Get/Set the S&Q Frame Rate
CrDeviceProperty_SQRecordingFrameRateSetting
Get/Set the S&Q Recording Frame Rate Setting
266
Camera Remote SDK
CrDeviceProperty_SQRecordingSetting
Get/Set the S&Q Recording Setting
267
Camera Remote SDK
CrDeviceProperty_AudioRecording
Get/Set the Audio Recording
CrDeviceProperty_AudioInputMasterLevel
Get/Set the Audio Input Master Level
CrDeviceProperty_TimeCodePreset
Get/Set the Time Code Preset
CrDeviceProperty_TimeCodeFormat
Get/Set the Time Code Format
CrDeviceProperty_TimeCodeRun
Get/Set the Time Code Run
268
Camera Remote SDK
CrDeviceProperty_TimeCodeMake
Get/Set the Time Code Make
CrDeviceProperty_UserBitPreset
Get/Set the User Bit Preset
CrDeviceProperty_UserBitTimeRec
Get/Set the User Bit Time Rec
CrDeviceProperty_ImageStabilizationSteadyShot
Get/Set the Image Stabilization Steady Shot
CrDeviceProperty_Movie_ImageStabilizationSteadyShot
Get/Set the Image Stabilization Steady Shot(Movie)
269
Camera Remote SDK
CrDeviceProperty_SilentMode
Get/Set the Silent Mode
CrDeviceProperty_SilentModeApertureDriveInAF
Get/Set the Silent Mode Aperture Drive in AF
CrDeviceProperty_SilentModeShutterWhenPowerOff
Get/Set the Silent Mode Shutter When Power Off
CrDeviceProperty_SilentModeAutoPixelMapping
Get/Set the Silent Mode Auto Pixel Mapping
CrDeviceProperty_ShutterType
Get/Set the Shutter Type
270
Camera Remote SDK
CrDeviceProperty_PictureProfile
Get/Set the Picture Profile
CrDeviceProperty_PictureProfile_BlackLevel
Get/Set the Picture Profile Black Level
CrDeviceProperty_PictureProfile_Gamma
Get/Set the Picture Profile Gamma
271
Camera Remote SDK
CrPictureProfileGamma_S_Log2 S-Log2
CrPictureProfileGamma_S_Log3 S-Log3
CrPictureProfileGamma_HLG HLG
CrPictureProfileGamma_HLG1 HLG1
CrPictureProfileGamma_HLG2 HLG2
CrPictureProfileGamma_HLG3 HLG3
CrDeviceProperty_PictureProfile_BlackGammaRange
Get/Set the Picture Profile Black Gamma Range
CrDeviceProperty_PictureProfile_BlackGammaLevel
Get/Set the Picture Profile Black Gamma Level
Variable max
Variable step
CrDeviceProperty_PictureProfile_KneeMode
Get/Set the Picture Profile Knee Mode
CrDeviceProperty_PictureProfile_KneeAutoSet_MaxPoint
Get/Set the Picture Profile Knee AutoSet MaxPoint
Other than above values Knee AutoSet MaxPoint for Picture Profile
272
Camera Remote SDK
CrDeviceProperty_PictureProfile_KneeAutoSet_Sensitivity
Get/Set the Picture Profile Knee AutoSet Sensitivity
CrDeviceProperty_PictureProfile_KneeManualSet_Point
Get/Set the Picture Profile Knee ManualSet Point
CrDeviceProperty_PictureProfile_KneeManualSet_Slope
Get/Set the Picture Profile Knee ManualSet Slope
CrDeviceProperty_PictureProfile_ColorMode
Get/Set the Picture Profile Color Mode
273
Camera Remote SDK
CrDeviceProperty_PictureProfile_Saturation
Get/Set the Picture Profile Saturation
CrDeviceProperty_PictureProfile_ColorPhase
Get/Set the Picture Profile Color Phase
CrDeviceProperty_PictureProfile_ColorDepthRed
Get/Set the Picture Profile Color Depth Red
CrDeviceProperty_PictureProfile_ColorDepthGreen
Get/Set the Picture Profile Color Depth Green
CrDeviceProperty_PictureProfile_ColorDepthBlue
Get/Set the Picture Profile Color Depth Blue
274
Camera Remote SDK
CrDeviceProperty_PictureProfile_ColorDepthCyan
Get/Set the Picture Profile Color Depth Cyan
CrDeviceProperty_PictureProfile_ColorDepthMagenta
Get/Set the Picture Profile Color Depth Magenta
CrDeviceProperty_PictureProfile_ColorDepthYellow
Get/Set the Picture Profile Color Depth Yellow
CrDeviceProperty_PictureProfile_DetailLevel
Get/Set the Picture Profile Detail Level
CrDeviceProperty_PictureProfile_DetailAdjustMode
Get/Set the Picture Profile Detail Adjust Mode
275
Camera Remote SDK
CrDeviceProperty_PictureProfile_DetailAdjustVHBalance
Get/Set the Picture Profile Detail Adjust V/H Balance
CrDeviceProperty_PictureProfile_DetailAdjustBWBalance
Get/Set the Picture Profile Detail Adjust B/W Balance
CrDeviceProperty_PictureProfile_DetailAdjustLimit
Get/Set the Picture Profile Detail Adjust Limit
CrDeviceProperty_PictureProfile_DetailAdjustCrispening
Get/Set the Picture Profile Detail Adjust Crispening
CrDeviceProperty_PictureProfile_DetailAdjustHiLightDetail
Get/Set the Picture Profile Detail Adjust Hi-Light Detail
276
Camera Remote SDK
CrDeviceProperty_PictureProfile_Copy
Get/Set the Copy Picture Profile
CrDeviceProperty_PictureProfileResetEnableStatus
Get the Picture Profile Reset Enable Status
CrDeviceProperty_CreativeLook
Get/Set the Creative Look
CrDeviceProperty_CreativeLook_Contrast
Get/Set the Creative Look Contrast
277
Camera Remote SDK
CrDeviceProperty_CreativeLook_Highlights
Get/Set the Creative Look Highlights
CrDeviceProperty_CreativeLook_Shadows
Get/Set the Creative Look Shadows
CrDeviceProperty_CreativeLook_Fade
Get/Set the Creative Look Fade
CrDeviceProperty_CreativeLook_Saturation
Get/Set the Creative Look Saturation
CrDeviceProperty_CreativeLook_Sharpness
Get/Set the Creative Look Sharpness
278
Camera Remote SDK
CrDeviceProperty_CreativeLook_SharpnessRange
Get/Set the Creative Look Sharpness Range
CrDeviceProperty_CreativeLook_Clarity
Get/Set the Creative Look Clarity
CrDeviceProperty_CreativeLook_CustomLook
Get/Set the Custom Look in Creative Look
CrDeviceProperty_CreativeLookResetEnableStatus
Get the Creative Look Reset Enable Status
279
Camera Remote SDK
CrDeviceProperty_ProxyRecordingSetting
Get/Set the Proxy Record Setting
CrDeviceProperty_Movie_IntervalRec_CountDownIntervalTime
Get the Interval REC(Movie) Count Down Interval Time
CrDeviceProperty_Movie_IntervalRec_RecordingDuration
Get the Interval REC(Movie) Recording Duration
CrDeviceProperty_PixelMappingEnableStatus
Get the Pixel Mapping Enable Status
CrDeviceProperty_TimeCodePresetResetEnableStatus
Get the Time Code Preset Reset Enable Status
280
Camera Remote SDK
CrDeviceProperty_UserBitPresetResetEnableStatus
Get the User Bit Preset Reset Enable Status
CrDeviceProperty_SensorCleaningEnableStatus
Get the Sensor Cleaning Enable Status
CrDeviceProperty_LensVersionNumber
Get the Lens Version Number
CrDeviceProperty_DeviceOverheatingState
Get the Device Overheating State
281
Camera Remote SDK
Shutter Release
If you struggle to make “Shutter Release” success in a remote control, please try to set camera
settings “Exposure Program Mode” with “M(Manual)” and “FocusMode” with “MF(Manual Focus)”.
∵As camera accepts “Shutter release control” after coming into focus in several Auto Focus modes,
sometimes focus mode setting, focus area setting, and shooting environmental conditions prevent
camera to accept “Shutter Release”.
Also, memory card full situation prevents shutter release from execution, so it is recommended to
prepare enough space in the memory card and / or prepare dual memory cards before remote control.
Manual Focus
If you struggle to control focus manually in remote controls, please try to set camera settings
“FocusMode” with “MF(Manual Focus)”.
282
Camera Remote SDK
Device Property
If you struggle to change camera settings, it is recommended to check enable flag in each
DeviceProperty by sending GetDeviceProperties and receiving the latest information before sending
SetDeviceProperty. ∵As the
specification of camera products, camera settings have exclusive conditions. For example, focus
control Near/Far is not acceptable in Focus Mode “AF-S”. In order to identify whether an issue is
coming from remote control related or camera settings acceptable/unacceptable conditions, you
better try what you want to do first w/o remote control but w/ direct camera operation by camera
buttons / menu settings. Then copy operations with remote control. “Help Guide” for each product
may help you to understand the specification of camera products including acceptable/unacceptable
conditions of settings.
Also, it is recommended to set a value from candidate values list in each DeviceProperty after
sending GetDeviceProperties and receiving the latest information before sending SetDeviceProperty.
∵As the specification of camera products, camera settings have variable acceptance for value
depends on settings and shooting environmental conditions. For example, acceptable F number value
varies depends on the lens attached to the camera, other settings, and the shooting environmental
conditions.
Some of DeviceProperties are originally assigned on HardKeys of the camera product, and in these
cases, need to change KeyPriority from “CameraPosition” to “PCRemote” before sending
SetDeviceProperty. This applies to “ExposureProgramMode”, “FocusMode” and “Still Capture
Mode(Drive Mode)”.
1. “CrDeviceProperty_StillImageStoreDestination” with
“CrStillImageStoreDestination_HostPCAndMemoryCard(or _HostPC)”
2. “CrCommandId_Release” with “CrCommandParam_Down”
3. “CrCommandId_Release” with “CrCommandParam_Up”
4. Check the folder set by SetSaveInfo() and open image files transferred to PC.
Please note that if once Host PC transfer is set like above, camera side also starts preparing and
sending out image files, it is recommended to disconnect after finishing transfer of all images shot on
283
Camera Remote SDK
the camera. If disconnected before transfer finishes, camera and PC restart to transfer after
reconnection, except for camera power off or physical disconnection case.
If you want to initialize it, change Still Image Save Destination to Camera or Host Device and Camera.
1. “CrDeviceProperty_StillImageStoreDestination” with
“CrStillImageStoreDestination_HostPCAndMemoryCard(or _MemoryCard)”
284
Camera Remote SDK
Live View
If you struggle to have stable live view images, please check following factors affect to transmission of
LiveView images.
-Traffic on the physical connection between PC and camera, such as HUB connection, not related
devices connection, and so on.
-Traffic on the communicational connection between PC and camera, such as frequent shutter
releases and transfers, frequent Get/Set device properties, and so on.
-Some functions to be disabled they can be processing loads to CPU on the Single Board Computer,
such as Wi-Fi function.
If you prefer stable frame rate of live view images, minimizing image size of Live View images (and/or
capturing images), reducing frequency of shutter release, stopping capturing images, and stopping
transferring images to PC contributes to it.
285
Camera Remote SDK
Example:
switch (property->GetCode()) {
case CrDeviceProperty_Focus_Magnifier_Setting:
CrInt64u currentvalue = static_cast<CrInt64u>(property->GetCurrentValue());
CrInt32u ratioNow = (currentvalue >> 32);
CrInt16u xNow = ((currentvalue >> 16) & 0xFFFF);
CrInt16u yNow = (currentvalue & 0xFFFF);
CrInt32u valCount = property->GetValueSize() / sizeof(CrInt64u);
CrInt64u* ratioSetList = new CrInt64u[valCount];
memcpy(ratioSetList, property->GetValues(),(size_t)property->GetValueSize());
Example:
switch (lvproperty->GetCode()) {
case CrLiveViewProperty_Focus_Magnifier_Position:
if (CrFrameInfoType::CrFrameInfoType_Magnifier_Position == lvproperty-
>GetFrameInfoType()) {
CrMagPosInfo *pPosInfo = (CrMagPosInfo*)(lvproperty->GetValue());
posXmax = pPosInfo->xDenominator;
posYmax = pPosInfo->yDenominator;
5. Create a 64 bit value by combining the magnification rate obtained in step 2 and the coordinates
that do not exceed the range obtained in step 4
6. Call SetDeviceProperty with the value you created in step 5
286
Camera Remote SDK
Example:
287
Camera Remote SDK
CrDevicePropertyCode Explanation
CrDeviceProperty_DispModeCandidate
CrDispModeBitNum
0x00000100
0x00000100
0x00000080
0x00000040
0x00000020
0x00000010
0x00000008
0x00000004
0x00000002
0x00000001
over
Display Only.
spare
Monitor Off
For viewfinder
No Disp. Info.
Level
Histogram
Graphic Display
0x00000020 and
0x00000040 are
exclusive.
CrDeviceProperty_DispModeSetting
288
Camera Remote SDK
Example:
std::vector<SCRSDK::CrLensInformation*> m_lensInfo;
CrInt32u numOfList= 0;
SCRSDK::CrLensInformation* list = nullptr;
The information retrieved by GetLensInformation() can be used to know the Focus position
(meter/feet).
Example:
289
Camera Remote SDK
OnPropertyChanged() and
OnPropertyChangedCodes()
SetDeviceProperty(imgStr)
OnPropertyChanged() and
OnPropertyChangedCodes()
SetDeviceProperty(imgNum)
OnPropertyChanged() and
OnPropertyChangedCodes()
GetDeviceProperties(...)
SendCommand(Down)
SendCommand(Up)
Obtain and save GPS information(location, time, etc.) from the user's GPS module
OnPropertyChanged() and
OnPropertyChangedCodes()
290
Camera Remote SDK
If
CrDeviceProperty_StillImageSt
oreDestination is set to
CrStillImageStoreDestination_M Request to acquire captured images
emoryCard, this sequence will
not occur and the performance
will improve slightly.
When the jpeg file transferred to the host PC is opened with image analysis software, it
can be confirmed that "Flight A" and 0x00000001 are written in the Exif tag.
OnPropertyChanged() and
OnPropertyChangedCodes()
SetDeviceProperty(imgNum)
OnPropertyChanged() and
OnPropertyChangedCodes()
GetDeviceProperties(...)
SendCommand(Down)
SendCommand(Up)
Obtain and save GPS information(location, time, etc.) from the user's GPS module
OnPropertyChanged() and
OnPropertyChangedCodes()
291
Camera Remote SDK
More information
292