ThetaRepository

Repository to handle Theta web APIs.

Parameters

config

Configuration of initialize. If null, get from THETA.

timeout

Timeout of HTTP call.

Types

Link copied to clipboard
data class AccessPoint(val ssid: String, val ssidStealth: Boolean, val authMode: ThetaRepository.AuthModeEnum, val connectionPriority: Int = 1, val usingDhcp: Boolean, val ipAddress: String?, val subnetMask: String?, val defaultGateway: String?, val proxy: ThetaRepository.Proxy?)

Access point information.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Thrown if the argument wrong.

Link copied to clipboard

Enum for authentication mode.

Link copied to clipboard
interface Bitrate

Movie bit rate.

Link copied to clipboard

Movie bit rate value of string.

Link copied to clipboard

Movie bit rate value of number.

Link copied to clipboard
Link copied to clipboard

Role of the Bluetooth module.

Link copied to clipboard
data class BracketSetting(var aperture: ThetaRepository.ApertureEnum? = null, var colorTemperature: Int? = null, var exposureCompensation: ThetaRepository.ExposureCompensationEnum? = null, var exposureProgram: ThetaRepository.ExposureProgramEnum? = null, var iso: ThetaRepository.IsoEnum? = null, var shutterSpeed: ThetaRepository.ShutterSpeedEnum? = null, var whiteBalance: ThetaRepository.WhiteBalanceEnum? = null)

Parameters for multi bracket shooting.

Link copied to clipboard

List of BracketSetting used for multi bracket shooting. Size of the list must be 2 to 13 (THETA X and SC2), or 2 to 19 (THETA Z1 and V).

Link copied to clipboard

Bracket value range between each shot for burst shooting 0.0, 0.3, 0.7, 1.0, 1.3, 1.7, 2.0, 2.3, 2.7, 3.0

Link copied to clipboard

Number of shots for burst shooting 1, 3, 5, 7, 9

Link copied to clipboard

Exposure compensation for the base image and entire shooting for burst shooting -5.0, -4.7, -4,3, -4.0, -3.7, -3,3, -3.0, -2.7, -2,3, -2.0, -1.7, -1,3, -1.0, -0.7, -0,3, 0.0, 0.3, 0.7, 1.0, 1.3, 1.7, 2.0, 2.3, 2.7, 3.0, 3.3, 3.7, 4.0, 4.3, 4.7, 5.0

Link copied to clipboard

Adjustment with ISO sensitivity for burst shooting 0: Do not adjust with ISO sensitivity, 1: Adjust with ISO sensitivity

Link copied to clipboard

Maximum exposure time for burst shooting 0.5, 0.625, 0.76923076, 1, 1.3, 1.6, 2, 2.5, 3.2, 4, 5, 6, 8, 10, 13, 15, 20, 25, 30, 40, 50, 60

Link copied to clipboard

BurstMode setting. When this is set to ON, burst shooting is enabled, and a screen dedicated to burst shooting is displayed in Live View.

Link copied to clipboard
data class BurstOption(val burstCaptureNum: ThetaRepository.BurstCaptureNumEnum? = null, val burstBracketStep: ThetaRepository.BurstBracketStepEnum? = null, val burstCompensation: ThetaRepository.BurstCompensationEnum? = null, val burstMaxExposureTime: ThetaRepository.BurstMaxExposureTimeEnum? = null, val burstEnableIsoControl: ThetaRepository.BurstEnableIsoControlEnum? = null, val burstOrder: ThetaRepository.BurstOrderEnum? = null)

Burst shooting setting.

Link copied to clipboard

Shooting order for burst shooting 0: '0' → '-' → '+', 1: '-' → '0' → '+'

Link copied to clipboard

camera control source Sets whether to lock/unlock the camera UI. The current setting can be acquired by camera.getOptions, and it can be changed by camera.setOptions.

Link copied to clipboard
Link copied to clipboard

Camera mode. The current setting can be acquired by camera.getOptions, and it can be changed by camera.setOptions.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
object Companion
Link copied to clipboard
data class Config(var dateTime: String? = null, var language: ThetaRepository.LanguageEnum? = null, var offDelay: ThetaRepository.OffDelay? = null, var sleepDelay: ThetaRepository.SleepDelay? = null, var shutterVolume: Int? = null, var clientMode: DigestAuth? = null)

Configuration of THETA

Link copied to clipboard

Number of shots for continuous shooting. It can be acquired by camera.getOptions.

Link copied to clipboard
data class EthernetConfig(val usingDhcp: Boolean, val ipAddress: String? = null, val subnetMask: String? = null, val defaultGateway: String? = null, val proxy: ThetaRepository.Proxy? = null)

IP address allocation to be used when wired LAN is enabled.

Link copied to clipboard
data class Exif(val exifVersion: String, val dateTime: String, val imageWidth: Int?, val imageLength: Int?, val gpsLatitude: Double?, val gpsLongitude: Double?)

Exif metadata of a still image.

Link copied to clipboard
Link copied to clipboard

Operating time (sec.) of the self-timer.

Link copied to clipboard

Exposure program. The exposure settings that take priority can be selected.

Link copied to clipboard
Link copied to clipboard

File format used in shooting.

Link copied to clipboard
data class FileInfo(val name: String, val fileUrl: String, val size: Long, val dateTimeZone: String?, val dateTime: String, val lat: Float?, val lng: Float?, val width: Int?, val height: Int?, val thumbnailUrl: String, val intervalCaptureGroupId: String?, val compositeShootingGroupId: String?, val autoBracketGroupId: String?, val recordTime: Int?, val isProcessed: Boolean?, val previewUrl: String?, val codec: ThetaRepository.CodecEnum?, val projectionType: ThetaRepository.ProjectionTypeEnum?, val continuousShootingGroupId: String?, val frameRate: Int?, val favorite: Boolean?, val imageDescription: String?, val storageID: String?)

File information in Theta.

Link copied to clipboard

File type in Theta.

Link copied to clipboard

Image processing filter.

Link copied to clipboard

Microphone gain.

Link copied to clipboard
data class GpsInfo(val latitude: Float, val longitude: Float, val altitude: Float, val dateTimeZone: String)

GPS information

Link copied to clipboard

Turns position information assigning ON/OFF.

Link copied to clipboard

Still image stitching setting during shooting. For Theta X, Z1 and V.

Link copied to clipboard

ISO sensitivity upper limit when ISO sensitivity is set to automatic.

Link copied to clipboard

ISO sensitivity.

Link copied to clipboard

Language used in camera OS.

Link copied to clipboard

Maximum recordable time (in seconds) of the camera

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Network type supported by Theta V, Z1 and X.

Link copied to clipboard

Thrown if the mobile device doesn't connect to Theta.

Link copied to clipboard
interface OffDelay

Length of standby time before the camera automatically powers OFF.

Link copied to clipboard

Length of standby time before the camera automatically powers OFF.

Link copied to clipboard

Length of standby time before the camera automatically powers OFF.

Link copied to clipboard

Camera setting options name. options name

Link copied to clipboard
data class Options(var aiAutoThumbnail: ThetaRepository.AiAutoThumbnailEnum? = null, var aperture: ThetaRepository.ApertureEnum? = null, var autoBracket: ThetaRepository.BracketSettingList? = null, var bitrate: ThetaRepository.Bitrate? = null, var bluetoothPower: ThetaRepository.BluetoothPowerEnum? = null, var bluetoothRole: ThetaRepository.BluetoothRoleEnum? = null, var burstMode: ThetaRepository.BurstModeEnum? = null, var burstOption: ThetaRepository.BurstOption? = null, var cameraControlSource: ThetaRepository.CameraControlSourceEnum? = null, var cameraMode: ThetaRepository.CameraModeEnum? = null, var captureInterval: Int? = null, var captureMode: ThetaRepository.CaptureModeEnum? = null, var captureNumber: Int? = null, var colorTemperature: Int? = null, var compositeShootingOutputInterval: Int? = null, var compositeShootingTime: Int? = null, var continuousNumber: ThetaRepository.ContinuousNumberEnum? = null, var dateTimeZone: String? = null, var ethernetConfig: ThetaRepository.EthernetConfig? = null, var exposureCompensation: ThetaRepository.ExposureCompensationEnum? = null, var exposureDelay: ThetaRepository.ExposureDelayEnum? = null, var exposureProgram: ThetaRepository.ExposureProgramEnum? = null, var faceDetect: ThetaRepository.FaceDetectEnum? = null, var fileFormat: ThetaRepository.FileFormatEnum? = null, var filter: ThetaRepository.FilterEnum? = null, var function: ThetaRepository.ShootingFunctionEnum? = null, var gain: ThetaRepository.GainEnum? = null, var gpsInfo: ThetaRepository.GpsInfo? = null, var imageStitching: ThetaRepository.ImageStitchingEnum? = null, var isGpsOn: Boolean? = null, var iso: ThetaRepository.IsoEnum? = null, var isoAutoHighLimit: ThetaRepository.IsoAutoHighLimitEnum? = null, var language: ThetaRepository.LanguageEnum? = null, var latestEnabledExposureDelayTime: ThetaRepository.ExposureDelayEnum? = null, var maxRecordableTime: ThetaRepository.MaxRecordableTimeEnum? = null, var networkType: ThetaRepository.NetworkTypeEnum? = null, var offDelay: ThetaRepository.OffDelay? = null, var password: String? = null, var powerSaving: ThetaRepository.PowerSavingEnum? = null, var preset: ThetaRepository.PresetEnum? = null, var previewFormat: ThetaRepository.PreviewFormatEnum? = null, var proxy: ThetaRepository.Proxy? = null, var remainingPictures: Int? = null, var remainingVideoSeconds: Int? = null, var remainingSpace: Long? = null, var shootingMethod: ThetaRepository.ShootingMethodEnum? = null, var shutterSpeed: ThetaRepository.ShutterSpeedEnum? = null, var sleepDelay: ThetaRepository.SleepDelay? = null, var timeShift: ThetaRepository.TimeShiftSetting? = null, var topBottomCorrection: ThetaRepository.TopBottomCorrectionOptionEnum? = null, var topBottomCorrectionRotation: ThetaRepository.TopBottomCorrectionRotation? = null, var totalSpace: Long? = null, var shutterVolume: Int? = null, var username: String? = null, var videoStitching: ThetaRepository.VideoStitchingEnum? = null, var visibilityReduction: ThetaRepository.VisibilityReductionEnum? = null, var whiteBalance: ThetaRepository.WhiteBalanceEnum? = null, var whiteBalanceAutoStrength: ThetaRepository.WhiteBalanceAutoStrengthEnum? = null, var wlanFrequency: ThetaRepository.WlanFrequencyEnum? = null)

Camera setting options. Refer to the options category

Link copied to clipboard

Photo image format used in PhotoCapture.

Link copied to clipboard
data class PluginInfo(val name: String, val packageName: String, val version: String, val isPreInstalled: Boolean, val isRunning: Boolean, val isForeground: Boolean, val isBoot: Boolean, val hasWebServer: Boolean, val exitStatus: String, val message: String)

Plugin information

Link copied to clipboard
Link copied to clipboard

Preset mode of Theta SC2 and Theta SC2 for business.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class Proxy(val use: Boolean, val url: String? = null, val port: Int? = null, val userid: String? = null, val password: String? = null)

Proxy information to be used when wired LAN is enabled.

Link copied to clipboard

Shooting function. Shooting settings are retained separately for both the Still image shooting mode and Video shooting mode. Setting them at the same time as exposureDelay will result in an error.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface SleepDelay

Length of standby time before the camera enters the sleep mode.

Link copied to clipboard

Length of standby time before the camera enters the sleep mode.

Link copied to clipboard

Length of standby time before the camera enters the sleep mode.

Link copied to clipboard
data class StateGpsInfo(val gpsInfo: ThetaRepository.GpsInfo? = null)

GPS information of state

Link copied to clipboard

Specifies the storage

Link copied to clipboard
data class ThetaFiles(val fileList: List<ThetaRepository.FileInfo>, val totalEntries: Int)

Data about files in Theta.

Link copied to clipboard
data class ThetaInfo(val manufacturer: String, val model: String, val serialNumber: String, val wlanMacAddress: String?, val bluetoothMacAddress: String?, val firmwareVersion: String, val supportUrl: String, val hasGps: Boolean, val hasGyro: Boolean, val uptime: Int, val api: List<String>, val endpoints: EndPoint, val apiLevel: List<Int>)

Static attributes of Theta.

Link copied to clipboard

Support THETA model

Link copied to clipboard

Base exception of ThetaRepository

Link copied to clipboard
data class ThetaState(val fingerprint: String?, val batteryLevel: Float?, val storageUri: String?, val storageID: String?, val captureStatus: ThetaRepository.CaptureStatusEnum?, val recordedTime: Int?, val recordableTime: Int?, val capturedPictures: Int?, val compositeShootingElapsedTime: Int?, val latestFileUrl: String?, val chargingState: ThetaRepository.ChargingStateEnum?, val apiVersion: Int?, val isPluginRunning: Boolean?, val isPluginWebServer: Boolean?, val function: ThetaRepository.ShootingFunctionEnum?, val isMySettingChanged: Boolean?, val currentMicrophone: ThetaRepository.MicrophoneOptionEnum?, val isSdCard: Boolean?, val cameraError: List<ThetaRepository.CameraErrorEnum>?, val isBatteryInsert: Boolean?, val externalGpsInfo: ThetaRepository.StateGpsInfo?, val internalGpsInfo: ThetaRepository.StateGpsInfo?, val boardTemp: Int?, val batteryTemp: Int?)

Mutable values representing Theta status.

Link copied to clipboard

Thrown if an authentication error occurs in client mode.

Link copied to clipboard

Thrown if an error occurs on Theta Web API.

Link copied to clipboard
data class Timeout(val connectTimeout: Long, val requestTimeout: Long, val socketTimeout: Long)

Timeout of HTTP call.

Link copied to clipboard
Link copied to clipboard
data class TimeShiftSetting(var isFrontFirst: Boolean? = null, var firstInterval: ThetaRepository.TimeShiftIntervalEnum? = null, var secondInterval: ThetaRepository.TimeShiftIntervalEnum? = null)

Time shift shooting

Link copied to clipboard
data class TopBottomCorrectionRotation(val pitch: Float, val roll: Float, val yaw: Float)

Sets the front position for the top/bottom correction. Enabled only for _topBottomCorrection Manual.

Link copied to clipboard

Video image format used in VideoCapture.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Wireless LAN frequency of the camera supported by Theta V, Z1 and X.

Link copied to clipboard
data class Xmp(val poseHeadingDegrees: Double?, val fullPanoWidthPixels: Int, val fullPanoHeightPixels: Int)

Photo sphere XMP metadata of a still image.

Properties

Link copied to clipboard
Link copied to clipboard

URL of Theta web API endpoint.

Functions

Link copied to clipboard
suspend fun cancelVideoConvert()

Cancels the movie format conversion.

Link copied to clipboard
suspend fun convertVideoFormats(fileUrl: String, toLowResolution: Boolean, applyTopBottomCorrection: Boolean = true): String

Converts the movie format of a saved movie.

Link copied to clipboard
suspend fun deleteAccessPoint(ssid: String)

Deletes access point information used in client mode. Only the access points registered with setAccessPoint can be deleted.

Link copied to clipboard
suspend fun deleteAllFiles()

Delete all files in Theta.

Link copied to clipboard
suspend fun deleteAllImageFiles()

Delete all image files in Theta.

Link copied to clipboard
suspend fun deleteAllVideoFiles()

Delete all video files in Theta.

Link copied to clipboard
suspend fun deleteFiles(fileUrls: List<String>)

Delete files in Theta.

Link copied to clipboard

Delete shooting conditions in My Settings. Supported just by Theta X and Z1.

Link copied to clipboard
suspend fun finishWlan()

Turns the wireless LAN off.

Link copied to clipboard
Link copied to clipboard

Get CompositeIntervalCapture.Builder for interval composite shooting.

Link copied to clipboard

Get ContinuousCapture.Builder for continuous shooting.

Link copied to clipboard
Link copied to clipboard

Get LimitlessIntervalCapture.Builder for capture video.

Link copied to clipboard
fun getLivePreview(): Flow<ByteReadPacket>
suspend fun getLivePreview(frameHandler: suspend (Pair<ByteArray, Int>) -> Boolean)

Start live preview as motion JPEG.

Link copied to clipboard

Get metadata of a still image

Link copied to clipboard

Get MultiBracketCapture.Builder for multi bracket shooting.

Link copied to clipboard

Acquires the shooting properties set by the camera._setMySetting command. Just for Theta V and later.

Acquires the shooting properties set by the camera._setMySetting command. Just for Theta S and SC.

Link copied to clipboard

Acquires the properties and property support specifications for shooting, the camera, etc.

Link copied to clipboard

Get PhotoCapture.Builder for take a picture.

Link copied to clipboard
suspend fun getPluginLicense(packageName: String): String

Acquires the license for the installed plugin

Link copied to clipboard
suspend fun getPluginOrders(): List<String>

Return the plugin orders. Supported just by Theta X and Z1.

Get ShotCountSpecifiedIntervalCapture.Builder for interval shooting with the shot count specified.

Link copied to clipboard

Get basic information about Theta.

Link copied to clipboard

Get current state of Theta.

Link copied to clipboard

Get TimeShiftCapture.Builder for time-shift.

Link copied to clipboard

Get VideoCapture.Builder for capture video.

Link copied to clipboard

Acquires the access point list used in client mode.

Link copied to clipboard
suspend fun listFiles(fileType: ThetaRepository.FileTypeEnum, startPosition: Int = 0, entryCount: Int): ThetaRepository.ThetaFiles
suspend fun listFiles(fileType: ThetaRepository.FileTypeEnum, startPosition: Int = 0, entryCount: Int, storage: ThetaRepository.StorageEnum? = null): ThetaRepository.ThetaFiles

Acquires a list of still image files and movie files.

Link copied to clipboard

Acquires a list of installed plugins. Supported just by Theta X, Z1 and V.

Link copied to clipboard
suspend fun reset()

Reset all device settings and capture settings. After reset, the camera will be restarted.

Link copied to clipboard
suspend fun restoreSettings()

Restore setting to THETA

Link copied to clipboard
suspend fun setAccessPointDynamically(ssid: String, ssidStealth: Boolean = false, authMode: ThetaRepository.AuthModeEnum = AuthModeEnum.NONE, password: String = "", connectionPriority: Int = 1, proxy: ThetaRepository.Proxy? = null)

Set access point. IP address is set dynamically.

Link copied to clipboard
suspend fun setAccessPointStatically(ssid: String, ssidStealth: Boolean = false, authMode: ThetaRepository.AuthModeEnum = AuthModeEnum.NONE, password: String? = null, connectionPriority: Int = 1, ipAddress: String, subnetMask: String, defaultGateway: String, proxy: ThetaRepository.Proxy? = null)

Set access point. IP address is set statically.

Link copied to clipboard
suspend fun setBluetoothDevice(uuid: String): String

Registers identification information (UUID) of a BLE device (Smartphone application) connected to the camera. UUID can be set while the wireless LAN function of the camera is placed in the direct mode.

Link copied to clipboard

Registers shooting conditions in My Settings.

Link copied to clipboard
suspend fun setOptions(options: ThetaRepository.Options)

Property settings for shooting, the camera, etc.

Link copied to clipboard
suspend fun setPlugin(packageName: String)

Sets the installed plugin for boot. Supported just by Theta V.

Link copied to clipboard
suspend fun setPluginOrders(plugins: List<String>)

Sets the plugin orders. Supported just by Theta X and Z1.

Link copied to clipboard
suspend fun startPlugin(packageName: String? = null)

Start the plugin specified by the packageName. If packageName is not specified, plugin 1 will start. Supported just by Theta X, Z1 and V.

Link copied to clipboard
suspend fun stopPlugin()

Stop the running plugin. Supported just by Theta X, Z1 and V.

Link copied to clipboard
suspend fun stopSelfTimer()

Stop running self-timer.

Link copied to clipboard
suspend fun updateFirmware(apiPath: String, filePaths: List<String>, connectionTimeout: Long, socketTimeout: Long, callback: (Int) -> Unit? = null)

Update the firmware of Theta using non-public API. In case of Theta SC2, power off and on by hand is needed after this command finishes. If target Theta is in insufficient charge, Theta may disconnect the socket.