diff --git a/demos/python/sdk_wireless_camera_control/docs/changelog.rst b/demos/python/sdk_wireless_camera_control/docs/changelog.rst
index a9c81b8a..ca8370a7 100644
--- a/demos/python/sdk_wireless_camera_control/docs/changelog.rst
+++ b/demos/python/sdk_wireless_camera_control/docs/changelog.rst
@@ -9,6 +9,12 @@ All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog `_,
and this project adheres to `Semantic Versioning `_.
+0.17.0 (September-9-2024)
+-------------------------
+* Add Hero 13 support (settings, statuses, protobuf)
+* Fix MacOS Wifi scanning
+* Major infrastructure updates
+
0.16.2 (July-18-2024)
---------------------
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/cohn_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/cohn_pb2.py
index 6cc36848..fde3dbe3 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/cohn_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/cohn_pb2.py
@@ -1,6 +1,3 @@
-# cohn_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/live_streaming_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/live_streaming_pb2.py
index f54a9831..73a83daf 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/live_streaming_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/live_streaming_pb2.py
@@ -1,6 +1,3 @@
-# live_streaming_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
@@ -10,25 +7,25 @@
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x14live_streaming.proto\x12\nopen_gopro"\xa4\x04\n\x16NotifyLiveStreamStatus\x12<\n\x12live_stream_status\x18\x01 \x01(\x0e2 .open_gopro.EnumLiveStreamStatus\x12:\n\x11live_stream_error\x18\x02 \x01(\x0e2\x1f.open_gopro.EnumLiveStreamError\x12\x1a\n\x12live_stream_encode\x18\x03 \x01(\x08\x12\x1b\n\x13live_stream_bitrate\x18\x04 \x01(\x05\x12K\n\'live_stream_window_size_supported_array\x18\x05 \x03(\x0e2\x1a.open_gopro.EnumWindowSize\x12$\n\x1clive_stream_encode_supported\x18\x06 \x01(\x08\x12(\n live_stream_max_lens_unsupported\x18\x07 \x01(\x08\x12*\n"live_stream_minimum_stream_bitrate\x18\x08 \x01(\x05\x12*\n"live_stream_maximum_stream_bitrate\x18\t \x01(\x05\x12"\n\x1alive_stream_lens_supported\x18\n \x01(\x08\x12>\n live_stream_lens_supported_array\x18\x0b \x03(\x0e2\x14.open_gopro.EnumLens"\xbc\x01\n\x1aRequestGetLiveStreamStatus\x12M\n\x1bregister_live_stream_status\x18\x01 \x03(\x0e2(.open_gopro.EnumRegisterLiveStreamStatus\x12O\n\x1dunregister_live_stream_status\x18\x02 \x03(\x0e2(.open_gopro.EnumRegisterLiveStreamStatus"\xe6\x01\n\x18RequestSetLiveStreamMode\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06encode\x18\x02 \x01(\x08\x12/\n\x0bwindow_size\x18\x03 \x01(\x0e2\x1a.open_gopro.EnumWindowSize\x12\x0c\n\x04cert\x18\x06 \x01(\x0c\x12\x17\n\x0fminimum_bitrate\x18\x07 \x01(\x05\x12\x17\n\x0fmaximum_bitrate\x18\x08 \x01(\x05\x12\x18\n\x10starting_bitrate\x18\t \x01(\x05\x12"\n\x04lens\x18\n \x01(\x0e2\x14.open_gopro.EnumLens*>\n\x08EnumLens\x12\r\n\tLENS_WIDE\x10\x00\x12\x0f\n\x0bLENS_LINEAR\x10\x04\x12\x12\n\x0eLENS_SUPERVIEW\x10\x03*\xde\x03\n\x13EnumLiveStreamError\x12\x1a\n\x16LIVE_STREAM_ERROR_NONE\x10\x00\x12\x1d\n\x19LIVE_STREAM_ERROR_NETWORK\x10\x01\x12"\n\x1eLIVE_STREAM_ERROR_CREATESTREAM\x10\x02\x12!\n\x1dLIVE_STREAM_ERROR_OUTOFMEMORY\x10\x03\x12!\n\x1dLIVE_STREAM_ERROR_INPUTSTREAM\x10\x04\x12\x1e\n\x1aLIVE_STREAM_ERROR_INTERNET\x10\x05\x12\x1f\n\x1bLIVE_STREAM_ERROR_OSNETWORK\x10\x06\x12,\n(LIVE_STREAM_ERROR_SELECTEDNETWORKTIMEOUT\x10\x07\x12#\n\x1fLIVE_STREAM_ERROR_SSL_HANDSHAKE\x10\x08\x12$\n LIVE_STREAM_ERROR_CAMERA_BLOCKED\x10\t\x12\x1d\n\x19LIVE_STREAM_ERROR_UNKNOWN\x10\n\x12"\n\x1eLIVE_STREAM_ERROR_SD_CARD_FULL\x10(\x12%\n!LIVE_STREAM_ERROR_SD_CARD_REMOVED\x10)*\xa3\x02\n\x14EnumLiveStreamStatus\x12\x1a\n\x16LIVE_STREAM_STATE_IDLE\x10\x00\x12\x1c\n\x18LIVE_STREAM_STATE_CONFIG\x10\x01\x12\x1b\n\x17LIVE_STREAM_STATE_READY\x10\x02\x12\x1f\n\x1bLIVE_STREAM_STATE_STREAMING\x10\x03\x12&\n"LIVE_STREAM_STATE_COMPLETE_STAY_ON\x10\x04\x12$\n LIVE_STREAM_STATE_FAILED_STAY_ON\x10\x05\x12"\n\x1eLIVE_STREAM_STATE_RECONNECTING\x10\x06\x12!\n\x1dLIVE_STREAM_STATE_UNAVAILABLE\x10\x07*\xbc\x01\n\x1cEnumRegisterLiveStreamStatus\x12&\n"REGISTER_LIVE_STREAM_STATUS_STATUS\x10\x01\x12%\n!REGISTER_LIVE_STREAM_STATUS_ERROR\x10\x02\x12$\n REGISTER_LIVE_STREAM_STATUS_MODE\x10\x03\x12\'\n#REGISTER_LIVE_STREAM_STATUS_BITRATE\x10\x04*P\n\x0eEnumWindowSize\x12\x13\n\x0fWINDOW_SIZE_480\x10\x04\x12\x13\n\x0fWINDOW_SIZE_720\x10\x07\x12\x14\n\x10WINDOW_SIZE_1080\x10\x0c'
+ b'\n\x14live_streaming.proto\x12\nopen_gopro"\xcb\x04\n\x16NotifyLiveStreamStatus\x12<\n\x12live_stream_status\x18\x01 \x01(\x0e2 .open_gopro.EnumLiveStreamStatus\x12:\n\x11live_stream_error\x18\x02 \x01(\x0e2\x1f.open_gopro.EnumLiveStreamError\x12\x1a\n\x12live_stream_encode\x18\x03 \x01(\x08\x12\x1b\n\x13live_stream_bitrate\x18\x04 \x01(\x05\x12K\n\'live_stream_window_size_supported_array\x18\x05 \x03(\x0e2\x1a.open_gopro.EnumWindowSize\x12$\n\x1clive_stream_encode_supported\x18\x06 \x01(\x08\x12(\n live_stream_max_lens_unsupported\x18\x07 \x01(\x08\x12*\n"live_stream_minimum_stream_bitrate\x18\x08 \x01(\x05\x12*\n"live_stream_maximum_stream_bitrate\x18\t \x01(\x05\x12"\n\x1alive_stream_lens_supported\x18\n \x01(\x08\x12>\n live_stream_lens_supported_array\x18\x0b \x03(\x0e2\x14.open_gopro.EnumLens\x12%\n\x1dlive_stream_protune_supported\x18\r \x01(\x08"\xbc\x01\n\x1aRequestGetLiveStreamStatus\x12M\n\x1bregister_live_stream_status\x18\x01 \x03(\x0e2(.open_gopro.EnumRegisterLiveStreamStatus\x12O\n\x1dunregister_live_stream_status\x18\x02 \x03(\x0e2(.open_gopro.EnumRegisterLiveStreamStatus"\xe6\x01\n\x18RequestSetLiveStreamMode\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06encode\x18\x02 \x01(\x08\x12/\n\x0bwindow_size\x18\x03 \x01(\x0e2\x1a.open_gopro.EnumWindowSize\x12\x0c\n\x04cert\x18\x06 \x01(\x0c\x12\x17\n\x0fminimum_bitrate\x18\x07 \x01(\x05\x12\x17\n\x0fmaximum_bitrate\x18\x08 \x01(\x05\x12\x18\n\x10starting_bitrate\x18\t \x01(\x05\x12"\n\x04lens\x18\n \x01(\x0e2\x14.open_gopro.EnumLens*>\n\x08EnumLens\x12\r\n\tLENS_WIDE\x10\x00\x12\x0f\n\x0bLENS_LINEAR\x10\x04\x12\x12\n\x0eLENS_SUPERVIEW\x10\x03*\xde\x03\n\x13EnumLiveStreamError\x12\x1a\n\x16LIVE_STREAM_ERROR_NONE\x10\x00\x12\x1d\n\x19LIVE_STREAM_ERROR_NETWORK\x10\x01\x12"\n\x1eLIVE_STREAM_ERROR_CREATESTREAM\x10\x02\x12!\n\x1dLIVE_STREAM_ERROR_OUTOFMEMORY\x10\x03\x12!\n\x1dLIVE_STREAM_ERROR_INPUTSTREAM\x10\x04\x12\x1e\n\x1aLIVE_STREAM_ERROR_INTERNET\x10\x05\x12\x1f\n\x1bLIVE_STREAM_ERROR_OSNETWORK\x10\x06\x12,\n(LIVE_STREAM_ERROR_SELECTEDNETWORKTIMEOUT\x10\x07\x12#\n\x1fLIVE_STREAM_ERROR_SSL_HANDSHAKE\x10\x08\x12$\n LIVE_STREAM_ERROR_CAMERA_BLOCKED\x10\t\x12\x1d\n\x19LIVE_STREAM_ERROR_UNKNOWN\x10\n\x12"\n\x1eLIVE_STREAM_ERROR_SD_CARD_FULL\x10(\x12%\n!LIVE_STREAM_ERROR_SD_CARD_REMOVED\x10)*\xa3\x02\n\x14EnumLiveStreamStatus\x12\x1a\n\x16LIVE_STREAM_STATE_IDLE\x10\x00\x12\x1c\n\x18LIVE_STREAM_STATE_CONFIG\x10\x01\x12\x1b\n\x17LIVE_STREAM_STATE_READY\x10\x02\x12\x1f\n\x1bLIVE_STREAM_STATE_STREAMING\x10\x03\x12&\n"LIVE_STREAM_STATE_COMPLETE_STAY_ON\x10\x04\x12$\n LIVE_STREAM_STATE_FAILED_STAY_ON\x10\x05\x12"\n\x1eLIVE_STREAM_STATE_RECONNECTING\x10\x06\x12!\n\x1dLIVE_STREAM_STATE_UNAVAILABLE\x10\x07*\xbc\x01\n\x1cEnumRegisterLiveStreamStatus\x12&\n"REGISTER_LIVE_STREAM_STATUS_STATUS\x10\x01\x12%\n!REGISTER_LIVE_STREAM_STATUS_ERROR\x10\x02\x12$\n REGISTER_LIVE_STREAM_STATUS_MODE\x10\x03\x12\'\n#REGISTER_LIVE_STREAM_STATUS_BITRATE\x10\x04*P\n\x0eEnumWindowSize\x12\x13\n\x0fWINDOW_SIZE_480\x10\x04\x12\x13\n\x0fWINDOW_SIZE_720\x10\x07\x12\x14\n\x10WINDOW_SIZE_1080\x10\x0c'
)
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "live_streaming_pb2", globals())
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
- _ENUMLENS._serialized_start = 1011
- _ENUMLENS._serialized_end = 1073
- _ENUMLIVESTREAMERROR._serialized_start = 1076
- _ENUMLIVESTREAMERROR._serialized_end = 1554
- _ENUMLIVESTREAMSTATUS._serialized_start = 1557
- _ENUMLIVESTREAMSTATUS._serialized_end = 1848
- _ENUMREGISTERLIVESTREAMSTATUS._serialized_start = 1851
- _ENUMREGISTERLIVESTREAMSTATUS._serialized_end = 2039
- _ENUMWINDOWSIZE._serialized_start = 2041
- _ENUMWINDOWSIZE._serialized_end = 2121
+ _ENUMLENS._serialized_start = 1050
+ _ENUMLENS._serialized_end = 1112
+ _ENUMLIVESTREAMERROR._serialized_start = 1115
+ _ENUMLIVESTREAMERROR._serialized_end = 1593
+ _ENUMLIVESTREAMSTATUS._serialized_start = 1596
+ _ENUMLIVESTREAMSTATUS._serialized_end = 1887
+ _ENUMREGISTERLIVESTREAMSTATUS._serialized_start = 1890
+ _ENUMREGISTERLIVESTREAMSTATUS._serialized_end = 2078
+ _ENUMWINDOWSIZE._serialized_start = 2080
+ _ENUMWINDOWSIZE._serialized_end = 2160
_NOTIFYLIVESTREAMSTATUS._serialized_start = 37
- _NOTIFYLIVESTREAMSTATUS._serialized_end = 585
- _REQUESTGETLIVESTREAMSTATUS._serialized_start = 588
- _REQUESTGETLIVESTREAMSTATUS._serialized_end = 776
- _REQUESTSETLIVESTREAMMODE._serialized_start = 779
- _REQUESTSETLIVESTREAMMODE._serialized_end = 1009
+ _NOTIFYLIVESTREAMSTATUS._serialized_end = 624
+ _REQUESTGETLIVESTREAMSTATUS._serialized_start = 627
+ _REQUESTGETLIVESTREAMSTATUS._serialized_end = 815
+ _REQUESTSETLIVESTREAMMODE._serialized_start = 818
+ _REQUESTSETLIVESTREAMMODE._serialized_end = 1048
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/live_streaming_pb2.pyi b/demos/python/sdk_wireless_camera_control/open_gopro/proto/live_streaming_pb2.pyi
index f38fc5ca..b034eb48 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/live_streaming_pb2.pyi
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/live_streaming_pb2.pyi
@@ -220,6 +220,7 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
LIVE_STREAM_MAXIMUM_STREAM_BITRATE_FIELD_NUMBER: builtins.int
LIVE_STREAM_LENS_SUPPORTED_FIELD_NUMBER: builtins.int
LIVE_STREAM_LENS_SUPPORTED_ARRAY_FIELD_NUMBER: builtins.int
+ LIVE_STREAM_PROTUNE_SUPPORTED_FIELD_NUMBER: builtins.int
live_stream_status: global___EnumLiveStreamStatus.ValueType
"Live stream status"
live_stream_error: global___EnumLiveStreamError.ValueType
@@ -250,6 +251,9 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
self,
) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___EnumLens.ValueType]:
"""Set of currently supported FOV options"""
+ live_stream_protune_supported: builtins.bool
+ "Does the camera support live stream protune settings"
+
def __init__(
self,
*,
@@ -265,7 +269,8 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
live_stream_minimum_stream_bitrate: builtins.int | None = ...,
live_stream_maximum_stream_bitrate: builtins.int | None = ...,
live_stream_lens_supported: builtins.bool | None = ...,
- live_stream_lens_supported_array: (collections.abc.Iterable[global___EnumLens.ValueType] | None) = ...
+ live_stream_lens_supported_array: (collections.abc.Iterable[global___EnumLens.ValueType] | None) = ...,
+ live_stream_protune_supported: builtins.bool | None = ...
) -> None: ...
def HasField(
self,
@@ -286,6 +291,8 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
b"live_stream_maximum_stream_bitrate",
"live_stream_minimum_stream_bitrate",
b"live_stream_minimum_stream_bitrate",
+ "live_stream_protune_supported",
+ b"live_stream_protune_supported",
"live_stream_status",
b"live_stream_status",
],
@@ -311,6 +318,8 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
b"live_stream_maximum_stream_bitrate",
"live_stream_minimum_stream_bitrate",
b"live_stream_minimum_stream_bitrate",
+ "live_stream_protune_supported",
+ b"live_stream_protune_supported",
"live_stream_status",
b"live_stream_status",
"live_stream_window_size_supported_array",
@@ -392,7 +401,7 @@ class RequestSetLiveStreamMode(google.protobuf.message.Message):
encode: builtins.bool
"Save media to sdcard while streaming?"
window_size: global___EnumWindowSize.ValueType
- "*\n Resolution to use for live stream\n\n The set of supported resolutions is only available from the `live_stream_window_size_supported_array` in @ref NotifyLiveStreamStatus)\n "
+ "*\n Resolution to use for live stream\n\n The set of supported resolutions is only available from the `live_stream_window_size_supported_array`\n in @ref NotifyLiveStreamStatus.\n "
cert: builtins.bytes
"Certificate for servers that require it in PEM format"
minimum_bitrate: builtins.int
@@ -402,7 +411,7 @@ class RequestSetLiveStreamMode(google.protobuf.message.Message):
starting_bitrate: builtins.int
"Starting bitrate"
lens: global___EnumLens.ValueType
- "*\n Lens to use for live stream\n\n The set of supported lenses is only available from the `live_stream_lens_supported_array` in @ref NotifyLiveStreamStatus)\n "
+ "*\n Lens to use for live stream\n\n The set of supported lenses is only available from the `live_stream_lens_supported_array`\n in @ref NotifyLiveStreamStatus.\n "
def __init__(
self,
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/media_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/media_pb2.py
index f220003b..da764d28 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/media_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/media_pb2.py
@@ -1,6 +1,3 @@
-# media_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/network_management_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/network_management_pb2.py
index f60f5196..b1cf1e53 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/network_management_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/network_management_pb2.py
@@ -1,6 +1,3 @@
-# network_management_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/preset_status_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/preset_status_pb2.py
index 73d14ea3..e856eccc 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/preset_status_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/preset_status_pb2.py
@@ -1,6 +1,3 @@
-# preset_status_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
@@ -12,22 +9,22 @@
from . import response_generic_pb2 as response__generic__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x13preset_status.proto\x12\nopen_gopro\x1a\x16response_generic.proto"I\n\x12NotifyPresetStatus\x123\n\x12preset_group_array\x18\x01 \x03(\x0b2\x17.open_gopro.PresetGroup"\xaf\x02\n\x06Preset\x12\n\n\x02id\x18\x01 \x01(\x05\x12&\n\x04mode\x18\x02 \x01(\x0e2\x18.open_gopro.EnumFlatMode\x12-\n\x08title_id\x18\x03 \x01(\x0e2\x1b.open_gopro.EnumPresetTitle\x12\x14\n\x0ctitle_number\x18\x04 \x01(\x05\x12\x14\n\x0cuser_defined\x18\x05 \x01(\x08\x12(\n\x04icon\x18\x06 \x01(\x0e2\x1a.open_gopro.EnumPresetIcon\x120\n\rsetting_array\x18\x07 \x03(\x0b2\x19.open_gopro.PresetSetting\x12\x13\n\x0bis_modified\x18\x08 \x01(\x08\x12\x10\n\x08is_fixed\x18\t \x01(\x08\x12\x13\n\x0bcustom_name\x18\n \x01(\t"\x8c\x01\n\x19RequestCustomPresetUpdate\x12-\n\x08title_id\x18\x01 \x01(\x0e2\x1b.open_gopro.EnumPresetTitle\x12\x13\n\x0bcustom_name\x18\x02 \x01(\t\x12+\n\x07icon_id\x18\x03 \x01(\x0e2\x1a.open_gopro.EnumPresetIcon"\xa7\x01\n\x0bPresetGroup\x12\'\n\x02id\x18\x01 \x01(\x0e2\x1b.open_gopro.EnumPresetGroup\x12(\n\x0cpreset_array\x18\x02 \x03(\x0b2\x12.open_gopro.Preset\x12\x16\n\x0ecan_add_preset\x18\x03 \x01(\x08\x12-\n\x04icon\x18\x04 \x01(\x0e2\x1f.open_gopro.EnumPresetGroupIcon">\n\rPresetSetting\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05\x12\x12\n\nis_caption\x18\x03 \x01(\x08*\x9b\x05\n\x0cEnumFlatMode\x12\x1e\n\x11FLAT_MODE_UNKNOWN\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x16\n\x12FLAT_MODE_PLAYBACK\x10\x04\x12\x13\n\x0fFLAT_MODE_SETUP\x10\x05\x12\x13\n\x0fFLAT_MODE_VIDEO\x10\x0c\x12\x1e\n\x1aFLAT_MODE_TIME_LAPSE_VIDEO\x10\r\x12\x15\n\x11FLAT_MODE_LOOPING\x10\x0f\x12\x1a\n\x16FLAT_MODE_PHOTO_SINGLE\x10\x10\x12\x13\n\x0fFLAT_MODE_PHOTO\x10\x11\x12\x19\n\x15FLAT_MODE_PHOTO_NIGHT\x10\x12\x12\x19\n\x15FLAT_MODE_PHOTO_BURST\x10\x13\x12\x1e\n\x1aFLAT_MODE_TIME_LAPSE_PHOTO\x10\x14\x12\x1f\n\x1bFLAT_MODE_NIGHT_LAPSE_PHOTO\x10\x15\x12\x1e\n\x1aFLAT_MODE_BROADCAST_RECORD\x10\x16\x12!\n\x1dFLAT_MODE_BROADCAST_BROADCAST\x10\x17\x12\x1d\n\x19FLAT_MODE_TIME_WARP_VIDEO\x10\x18\x12\x18\n\x14FLAT_MODE_LIVE_BURST\x10\x19\x12\x1f\n\x1bFLAT_MODE_NIGHT_LAPSE_VIDEO\x10\x1a\x12\x13\n\x0fFLAT_MODE_SLOMO\x10\x1b\x12\x12\n\x0eFLAT_MODE_IDLE\x10\x1c\x12\x1e\n\x1aFLAT_MODE_VIDEO_STAR_TRAIL\x10\x1d\x12"\n\x1eFLAT_MODE_VIDEO_LIGHT_PAINTING\x10\x1e\x12\x1f\n\x1bFLAT_MODE_VIDEO_LIGHT_TRAIL\x10\x1f\x12\x1f\n\x1bFLAT_MODE_VIDEO_BURST_SLOMO\x10 *i\n\x0fEnumPresetGroup\x12\x1a\n\x15PRESET_GROUP_ID_VIDEO\x10\xe8\x07\x12\x1a\n\x15PRESET_GROUP_ID_PHOTO\x10\xe9\x07\x12\x1e\n\x19PRESET_GROUP_ID_TIMELAPSE\x10\xea\x07*\xbc\x02\n\x13EnumPresetGroupIcon\x12\x1e\n\x1aPRESET_GROUP_VIDEO_ICON_ID\x10\x00\x12\x1e\n\x1aPRESET_GROUP_PHOTO_ICON_ID\x10\x01\x12"\n\x1ePRESET_GROUP_TIMELAPSE_ICON_ID\x10\x02\x12\'\n#PRESET_GROUP_LONG_BAT_VIDEO_ICON_ID\x10\x03\x12(\n$PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID\x10\x04\x12"\n\x1ePRESET_GROUP_MAX_VIDEO_ICON_ID\x10\x05\x12"\n\x1ePRESET_GROUP_MAX_PHOTO_ICON_ID\x10\x06\x12&\n"PRESET_GROUP_MAX_TIMELAPSE_ICON_ID\x10\x07*\xc1\r\n\x0eEnumPresetIcon\x12\x15\n\x11PRESET_ICON_VIDEO\x10\x00\x12\x18\n\x14PRESET_ICON_ACTIVITY\x10\x01\x12\x19\n\x15PRESET_ICON_CINEMATIC\x10\x02\x12\x15\n\x11PRESET_ICON_PHOTO\x10\x03\x12\x1a\n\x16PRESET_ICON_LIVE_BURST\x10\x04\x12\x15\n\x11PRESET_ICON_BURST\x10\x05\x12\x1b\n\x17PRESET_ICON_PHOTO_NIGHT\x10\x06\x12\x18\n\x14PRESET_ICON_TIMEWARP\x10\x07\x12\x19\n\x15PRESET_ICON_TIMELAPSE\x10\x08\x12\x1a\n\x16PRESET_ICON_NIGHTLAPSE\x10\t\x12\x15\n\x11PRESET_ICON_SNAIL\x10\n\x12\x17\n\x13PRESET_ICON_VIDEO_2\x10\x0b\x12\x17\n\x13PRESET_ICON_PHOTO_2\x10\r\x12\x18\n\x14PRESET_ICON_PANORAMA\x10\x0e\x12\x17\n\x13PRESET_ICON_BURST_2\x10\x0f\x12\x1a\n\x16PRESET_ICON_TIMEWARP_2\x10\x10\x12\x1b\n\x17PRESET_ICON_TIMELAPSE_2\x10\x11\x12\x16\n\x12PRESET_ICON_CUSTOM\x10\x12\x12\x13\n\x0fPRESET_ICON_AIR\x10\x13\x12\x14\n\x10PRESET_ICON_BIKE\x10\x14\x12\x14\n\x10PRESET_ICON_EPIC\x10\x15\x12\x16\n\x12PRESET_ICON_INDOOR\x10\x16\x12\x15\n\x11PRESET_ICON_MOTOR\x10\x17\x12\x17\n\x13PRESET_ICON_MOUNTED\x10\x18\x12\x17\n\x13PRESET_ICON_OUTDOOR\x10\x19\x12\x13\n\x0fPRESET_ICON_POV\x10\x1a\x12\x16\n\x12PRESET_ICON_SELFIE\x10\x1b\x12\x15\n\x11PRESET_ICON_SKATE\x10\x1c\x12\x14\n\x10PRESET_ICON_SNOW\x10\x1d\x12\x15\n\x11PRESET_ICON_TRAIL\x10\x1e\x12\x16\n\x12PRESET_ICON_TRAVEL\x10\x1f\x12\x15\n\x11PRESET_ICON_WATER\x10 \x12\x17\n\x13PRESET_ICON_LOOPING\x10!\x12\x15\n\x11PRESET_ICON_STARS\x10"\x12\x16\n\x12PRESET_ICON_ACTION\x10#\x12\x1a\n\x16PRESET_ICON_FOLLOW_CAM\x10$\x12\x14\n\x10PRESET_ICON_SURF\x10%\x12\x14\n\x10PRESET_ICON_CITY\x10&\x12\x15\n\x11PRESET_ICON_SHAKY\x10\'\x12\x16\n\x12PRESET_ICON_CHESTY\x10(\x12\x16\n\x12PRESET_ICON_HELMET\x10)\x12\x14\n\x10PRESET_ICON_BITE\x10*\x12\x15\n\x11PRESET_ICON_BASIC\x10:\x12\x1c\n\x18PRESET_ICON_ULTRA_SLO_MO\x10;\x12"\n\x1ePRESET_ICON_STANDARD_ENDURANCE\x10<\x12"\n\x1ePRESET_ICON_ACTIVITY_ENDURANCE\x10=\x12#\n\x1fPRESET_ICON_CINEMATIC_ENDURANCE\x10>\x12\x1f\n\x1bPRESET_ICON_SLOMO_ENDURANCE\x10?\x12\x1c\n\x18PRESET_ICON_STATIONARY_1\x10@\x12\x1c\n\x18PRESET_ICON_STATIONARY_2\x10A\x12\x1c\n\x18PRESET_ICON_STATIONARY_3\x10B\x12\x1c\n\x18PRESET_ICON_STATIONARY_4\x10C\x12"\n\x1ePRESET_ICON_SIMPLE_SUPER_PHOTO\x10F\x12"\n\x1ePRESET_ICON_SIMPLE_NIGHT_PHOTO\x10G\x12%\n!PRESET_ICON_HIGHEST_QUALITY_VIDEO\x10I\x12&\n"PRESET_ICON_STANDARD_QUALITY_VIDEO\x10J\x12#\n\x1fPRESET_ICON_BASIC_QUALITY_VIDEO\x10K\x12\x1a\n\x16PRESET_ICON_STAR_TRAIL\x10L\x12\x1e\n\x1aPRESET_ICON_LIGHT_PAINTING\x10M\x12\x1b\n\x17PRESET_ICON_LIGHT_TRAIL\x10N\x12\x1a\n\x16PRESET_ICON_FULL_FRAME\x10O\x12 \n\x1bPRESET_ICON_TIMELAPSE_PHOTO\x10\xe8\x07\x12!\n\x1cPRESET_ICON_NIGHTLAPSE_PHOTO\x10\xe9\x07*\xfe\x0e\n\x0fEnumPresetTitle\x12\x19\n\x15PRESET_TITLE_ACTIVITY\x10\x00\x12\x19\n\x15PRESET_TITLE_STANDARD\x10\x01\x12\x1a\n\x16PRESET_TITLE_CINEMATIC\x10\x02\x12\x16\n\x12PRESET_TITLE_PHOTO\x10\x03\x12\x1b\n\x17PRESET_TITLE_LIVE_BURST\x10\x04\x12\x16\n\x12PRESET_TITLE_BURST\x10\x05\x12\x16\n\x12PRESET_TITLE_NIGHT\x10\x06\x12\x1a\n\x16PRESET_TITLE_TIME_WARP\x10\x07\x12\x1b\n\x17PRESET_TITLE_TIME_LAPSE\x10\x08\x12\x1c\n\x18PRESET_TITLE_NIGHT_LAPSE\x10\t\x12\x16\n\x12PRESET_TITLE_VIDEO\x10\n\x12\x16\n\x12PRESET_TITLE_SLOMO\x10\x0b\x12\x18\n\x14PRESET_TITLE_PHOTO_2\x10\r\x12\x19\n\x15PRESET_TITLE_PANORAMA\x10\x0e\x12\x1c\n\x18PRESET_TITLE_TIME_WARP_2\x10\x10\x12\x17\n\x13PRESET_TITLE_CUSTOM\x10\x12\x12\x14\n\x10PRESET_TITLE_AIR\x10\x13\x12\x15\n\x11PRESET_TITLE_BIKE\x10\x14\x12\x15\n\x11PRESET_TITLE_EPIC\x10\x15\x12\x17\n\x13PRESET_TITLE_INDOOR\x10\x16\x12\x16\n\x12PRESET_TITLE_MOTOR\x10\x17\x12\x18\n\x14PRESET_TITLE_MOUNTED\x10\x18\x12\x18\n\x14PRESET_TITLE_OUTDOOR\x10\x19\x12\x14\n\x10PRESET_TITLE_POV\x10\x1a\x12\x17\n\x13PRESET_TITLE_SELFIE\x10\x1b\x12\x16\n\x12PRESET_TITLE_SKATE\x10\x1c\x12\x15\n\x11PRESET_TITLE_SNOW\x10\x1d\x12\x16\n\x12PRESET_TITLE_TRAIL\x10\x1e\x12\x17\n\x13PRESET_TITLE_TRAVEL\x10\x1f\x12\x16\n\x12PRESET_TITLE_WATER\x10 \x12\x18\n\x14PRESET_TITLE_LOOPING\x10!\x12\x16\n\x12PRESET_TITLE_STARS\x10"\x12\x17\n\x13PRESET_TITLE_ACTION\x10#\x12\x1b\n\x17PRESET_TITLE_FOLLOW_CAM\x10$\x12\x15\n\x11PRESET_TITLE_SURF\x10%\x12\x15\n\x11PRESET_TITLE_CITY\x10&\x12\x16\n\x12PRESET_TITLE_SHAKY\x10\'\x12\x17\n\x13PRESET_TITLE_CHESTY\x10(\x12\x17\n\x13PRESET_TITLE_HELMET\x10)\x12\x15\n\x11PRESET_TITLE_BITE\x10*\x12\x16\n\x12PRESET_TITLE_BASIC\x10:\x12\x1d\n\x19PRESET_TITLE_ULTRA_SLO_MO\x10;\x12#\n\x1fPRESET_TITLE_STANDARD_ENDURANCE\x10<\x12#\n\x1fPRESET_TITLE_ACTIVITY_ENDURANCE\x10=\x12$\n PRESET_TITLE_CINEMATIC_ENDURANCE\x10>\x12 \n\x1cPRESET_TITLE_SLOMO_ENDURANCE\x10?\x12\x1d\n\x19PRESET_TITLE_STATIONARY_1\x10@\x12\x1d\n\x19PRESET_TITLE_STATIONARY_2\x10A\x12\x1d\n\x19PRESET_TITLE_STATIONARY_3\x10B\x12\x1d\n\x19PRESET_TITLE_STATIONARY_4\x10C\x12\x1d\n\x19PRESET_TITLE_SIMPLE_VIDEO\x10D\x12!\n\x1dPRESET_TITLE_SIMPLE_TIME_WARP\x10E\x12#\n\x1fPRESET_TITLE_SIMPLE_SUPER_PHOTO\x10F\x12#\n\x1fPRESET_TITLE_SIMPLE_NIGHT_PHOTO\x10G\x12\'\n#PRESET_TITLE_SIMPLE_VIDEO_ENDURANCE\x10H\x12 \n\x1cPRESET_TITLE_HIGHEST_QUALITY\x10I\x12!\n\x1dPRESET_TITLE_EXTENDED_BATTERY\x10J\x12 \n\x1cPRESET_TITLE_LONGEST_BATTERY\x10K\x12\x1b\n\x17PRESET_TITLE_STAR_TRAIL\x10L\x12\x1f\n\x1bPRESET_TITLE_LIGHT_PAINTING\x10M\x12\x1c\n\x18PRESET_TITLE_LIGHT_TRAIL\x10N\x12\x1b\n\x17PRESET_TITLE_FULL_FRAME\x10O\x12\'\n#PRESET_TITLE_STANDARD_QUALITY_VIDEO\x10R\x12$\n PRESET_TITLE_BASIC_QUALITY_VIDEO\x10S\x12&\n"PRESET_TITLE_HIGHEST_QUALITY_VIDEO\x10]\x12)\n%PRESET_TITLE_USER_DEFINED_CUSTOM_NAME\x10^'
+ b'\n\x13preset_status.proto\x12\nopen_gopro\x1a\x16response_generic.proto"I\n\x12NotifyPresetStatus\x123\n\x12preset_group_array\x18\x01 \x03(\x0b2\x17.open_gopro.PresetGroup"\xaf\x02\n\x06Preset\x12\n\n\x02id\x18\x01 \x01(\x05\x12&\n\x04mode\x18\x02 \x01(\x0e2\x18.open_gopro.EnumFlatMode\x12-\n\x08title_id\x18\x03 \x01(\x0e2\x1b.open_gopro.EnumPresetTitle\x12\x14\n\x0ctitle_number\x18\x04 \x01(\x05\x12\x14\n\x0cuser_defined\x18\x05 \x01(\x08\x12(\n\x04icon\x18\x06 \x01(\x0e2\x1a.open_gopro.EnumPresetIcon\x120\n\rsetting_array\x18\x07 \x03(\x0b2\x19.open_gopro.PresetSetting\x12\x13\n\x0bis_modified\x18\x08 \x01(\x08\x12\x10\n\x08is_fixed\x18\t \x01(\x08\x12\x13\n\x0bcustom_name\x18\n \x01(\t"\x8c\x01\n\x19RequestCustomPresetUpdate\x12-\n\x08title_id\x18\x01 \x01(\x0e2\x1b.open_gopro.EnumPresetTitle\x12\x13\n\x0bcustom_name\x18\x02 \x01(\t\x12+\n\x07icon_id\x18\x03 \x01(\x0e2\x1a.open_gopro.EnumPresetIcon"\xd5\x01\n\x0bPresetGroup\x12\'\n\x02id\x18\x01 \x01(\x0e2\x1b.open_gopro.EnumPresetGroup\x12(\n\x0cpreset_array\x18\x02 \x03(\x0b2\x12.open_gopro.Preset\x12\x16\n\x0ecan_add_preset\x18\x03 \x01(\x08\x12-\n\x04icon\x18\x04 \x01(\x0e2\x1f.open_gopro.EnumPresetGroupIcon\x12,\n\nmode_array\x18\x05 \x03(\x0e2\x18.open_gopro.EnumFlatMode">\n\rPresetSetting\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05\x12\x12\n\nis_caption\x18\x03 \x01(\x08*\x9b\x05\n\x0cEnumFlatMode\x12\x1e\n\x11FLAT_MODE_UNKNOWN\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x16\n\x12FLAT_MODE_PLAYBACK\x10\x04\x12\x13\n\x0fFLAT_MODE_SETUP\x10\x05\x12\x13\n\x0fFLAT_MODE_VIDEO\x10\x0c\x12\x1e\n\x1aFLAT_MODE_TIME_LAPSE_VIDEO\x10\r\x12\x15\n\x11FLAT_MODE_LOOPING\x10\x0f\x12\x1a\n\x16FLAT_MODE_PHOTO_SINGLE\x10\x10\x12\x13\n\x0fFLAT_MODE_PHOTO\x10\x11\x12\x19\n\x15FLAT_MODE_PHOTO_NIGHT\x10\x12\x12\x19\n\x15FLAT_MODE_PHOTO_BURST\x10\x13\x12\x1e\n\x1aFLAT_MODE_TIME_LAPSE_PHOTO\x10\x14\x12\x1f\n\x1bFLAT_MODE_NIGHT_LAPSE_PHOTO\x10\x15\x12\x1e\n\x1aFLAT_MODE_BROADCAST_RECORD\x10\x16\x12!\n\x1dFLAT_MODE_BROADCAST_BROADCAST\x10\x17\x12\x1d\n\x19FLAT_MODE_TIME_WARP_VIDEO\x10\x18\x12\x18\n\x14FLAT_MODE_LIVE_BURST\x10\x19\x12\x1f\n\x1bFLAT_MODE_NIGHT_LAPSE_VIDEO\x10\x1a\x12\x13\n\x0fFLAT_MODE_SLOMO\x10\x1b\x12\x12\n\x0eFLAT_MODE_IDLE\x10\x1c\x12\x1e\n\x1aFLAT_MODE_VIDEO_STAR_TRAIL\x10\x1d\x12"\n\x1eFLAT_MODE_VIDEO_LIGHT_PAINTING\x10\x1e\x12\x1f\n\x1bFLAT_MODE_VIDEO_LIGHT_TRAIL\x10\x1f\x12\x1f\n\x1bFLAT_MODE_VIDEO_BURST_SLOMO\x10 *i\n\x0fEnumPresetGroup\x12\x1a\n\x15PRESET_GROUP_ID_VIDEO\x10\xe8\x07\x12\x1a\n\x15PRESET_GROUP_ID_PHOTO\x10\xe9\x07\x12\x1e\n\x19PRESET_GROUP_ID_TIMELAPSE\x10\xea\x07*\xb5\x03\n\x13EnumPresetGroupIcon\x12\x1e\n\x1aPRESET_GROUP_VIDEO_ICON_ID\x10\x00\x12\x1e\n\x1aPRESET_GROUP_PHOTO_ICON_ID\x10\x01\x12"\n\x1ePRESET_GROUP_TIMELAPSE_ICON_ID\x10\x02\x12\'\n#PRESET_GROUP_LONG_BAT_VIDEO_ICON_ID\x10\x03\x12(\n$PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID\x10\x04\x12"\n\x1ePRESET_GROUP_MAX_VIDEO_ICON_ID\x10\x05\x12"\n\x1ePRESET_GROUP_MAX_PHOTO_ICON_ID\x10\x06\x12&\n"PRESET_GROUP_MAX_TIMELAPSE_ICON_ID\x10\x07\x12%\n!PRESET_GROUP_ND_MOD_VIDEO_ICON_ID\x10\x08\x12%\n!PRESET_GROUP_ND_MOD_PHOTO_ICON_ID\x10\t\x12)\n%PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID\x10\n*\xff\x12\n\x0eEnumPresetIcon\x12\x15\n\x11PRESET_ICON_VIDEO\x10\x00\x12\x18\n\x14PRESET_ICON_ACTIVITY\x10\x01\x12\x19\n\x15PRESET_ICON_CINEMATIC\x10\x02\x12\x15\n\x11PRESET_ICON_PHOTO\x10\x03\x12\x1a\n\x16PRESET_ICON_LIVE_BURST\x10\x04\x12\x15\n\x11PRESET_ICON_BURST\x10\x05\x12\x1b\n\x17PRESET_ICON_PHOTO_NIGHT\x10\x06\x12\x18\n\x14PRESET_ICON_TIMEWARP\x10\x07\x12\x19\n\x15PRESET_ICON_TIMELAPSE\x10\x08\x12\x1a\n\x16PRESET_ICON_NIGHTLAPSE\x10\t\x12\x15\n\x11PRESET_ICON_SNAIL\x10\n\x12\x17\n\x13PRESET_ICON_VIDEO_2\x10\x0b\x12\x17\n\x13PRESET_ICON_PHOTO_2\x10\r\x12\x18\n\x14PRESET_ICON_PANORAMA\x10\x0e\x12\x17\n\x13PRESET_ICON_BURST_2\x10\x0f\x12\x1a\n\x16PRESET_ICON_TIMEWARP_2\x10\x10\x12\x1b\n\x17PRESET_ICON_TIMELAPSE_2\x10\x11\x12\x16\n\x12PRESET_ICON_CUSTOM\x10\x12\x12\x13\n\x0fPRESET_ICON_AIR\x10\x13\x12\x14\n\x10PRESET_ICON_BIKE\x10\x14\x12\x14\n\x10PRESET_ICON_EPIC\x10\x15\x12\x16\n\x12PRESET_ICON_INDOOR\x10\x16\x12\x15\n\x11PRESET_ICON_MOTOR\x10\x17\x12\x17\n\x13PRESET_ICON_MOUNTED\x10\x18\x12\x17\n\x13PRESET_ICON_OUTDOOR\x10\x19\x12\x13\n\x0fPRESET_ICON_POV\x10\x1a\x12\x16\n\x12PRESET_ICON_SELFIE\x10\x1b\x12\x15\n\x11PRESET_ICON_SKATE\x10\x1c\x12\x14\n\x10PRESET_ICON_SNOW\x10\x1d\x12\x15\n\x11PRESET_ICON_TRAIL\x10\x1e\x12\x16\n\x12PRESET_ICON_TRAVEL\x10\x1f\x12\x15\n\x11PRESET_ICON_WATER\x10 \x12\x17\n\x13PRESET_ICON_LOOPING\x10!\x12\x15\n\x11PRESET_ICON_STARS\x10"\x12\x16\n\x12PRESET_ICON_ACTION\x10#\x12\x1a\n\x16PRESET_ICON_FOLLOW_CAM\x10$\x12\x14\n\x10PRESET_ICON_SURF\x10%\x12\x14\n\x10PRESET_ICON_CITY\x10&\x12\x15\n\x11PRESET_ICON_SHAKY\x10\'\x12\x16\n\x12PRESET_ICON_CHESTY\x10(\x12\x16\n\x12PRESET_ICON_HELMET\x10)\x12\x14\n\x10PRESET_ICON_BITE\x10*\x12 \n\x1cPRESET_ICON_CUSTOM_CINEMATIC\x10+\x12\x14\n\x10PRESET_ICON_VLOG\x10,\x12\x13\n\x0fPRESET_ICON_FPV\x10-\x12\x13\n\x0fPRESET_ICON_HDR\x10.\x12\x19\n\x15PRESET_ICON_LANDSCAPE\x10/\x12\x13\n\x0fPRESET_ICON_LOG\x100\x12\x1c\n\x18PRESET_ICON_CUSTOM_SLOMO\x101\x12\x16\n\x12PRESET_ICON_TRIPOD\x102\x12\x19\n\x15PRESET_ICON_MAX_VIDEO\x107\x12\x19\n\x15PRESET_ICON_MAX_PHOTO\x108\x12\x1c\n\x18PRESET_ICON_MAX_TIMEWARP\x109\x12\x15\n\x11PRESET_ICON_BASIC\x10:\x12\x1c\n\x18PRESET_ICON_ULTRA_SLO_MO\x10;\x12"\n\x1ePRESET_ICON_STANDARD_ENDURANCE\x10<\x12"\n\x1ePRESET_ICON_ACTIVITY_ENDURANCE\x10=\x12#\n\x1fPRESET_ICON_CINEMATIC_ENDURANCE\x10>\x12\x1f\n\x1bPRESET_ICON_SLOMO_ENDURANCE\x10?\x12\x1c\n\x18PRESET_ICON_STATIONARY_1\x10@\x12\x1c\n\x18PRESET_ICON_STATIONARY_2\x10A\x12\x1c\n\x18PRESET_ICON_STATIONARY_3\x10B\x12\x1c\n\x18PRESET_ICON_STATIONARY_4\x10C\x12"\n\x1ePRESET_ICON_SIMPLE_SUPER_PHOTO\x10F\x12"\n\x1ePRESET_ICON_SIMPLE_NIGHT_PHOTO\x10G\x12%\n!PRESET_ICON_HIGHEST_QUALITY_VIDEO\x10I\x12&\n"PRESET_ICON_STANDARD_QUALITY_VIDEO\x10J\x12#\n\x1fPRESET_ICON_BASIC_QUALITY_VIDEO\x10K\x12\x1a\n\x16PRESET_ICON_STAR_TRAIL\x10L\x12\x1e\n\x1aPRESET_ICON_LIGHT_PAINTING\x10M\x12\x1b\n\x17PRESET_ICON_LIGHT_TRAIL\x10N\x12\x1a\n\x16PRESET_ICON_FULL_FRAME\x10O\x12\x1e\n\x1aPRESET_ICON_EASY_MAX_VIDEO\x10P\x12\x1e\n\x1aPRESET_ICON_EASY_MAX_PHOTO\x10Q\x12!\n\x1dPRESET_ICON_EASY_MAX_TIMEWARP\x10R\x12#\n\x1fPRESET_ICON_EASY_MAX_STAR_TRAIL\x10S\x12\'\n#PRESET_ICON_EASY_MAX_LIGHT_PAINTING\x10T\x12$\n PRESET_ICON_EASY_MAX_LIGHT_TRAIL\x10U\x12\x1e\n\x1aPRESET_ICON_MAX_STAR_TRAIL\x10Y\x12"\n\x1ePRESET_ICON_MAX_LIGHT_PAINTING\x10Z\x12\x1f\n\x1bPRESET_ICON_MAX_LIGHT_TRAIL\x10[\x12%\n!PRESET_ICON_EASY_STANDARD_PROFILE\x10d\x12 \n\x1cPRESET_ICON_EASY_HDR_PROFILE\x10e\x12\x1b\n\x17PRESET_ICON_BURST_SLOMO\x10f\x12 \n\x1bPRESET_ICON_TIMELAPSE_PHOTO\x10\xe8\x07\x12!\n\x1cPRESET_ICON_NIGHTLAPSE_PHOTO\x10\xe9\x07*\xb7\x11\n\x0fEnumPresetTitle\x12\x19\n\x15PRESET_TITLE_ACTIVITY\x10\x00\x12\x19\n\x15PRESET_TITLE_STANDARD\x10\x01\x12\x1a\n\x16PRESET_TITLE_CINEMATIC\x10\x02\x12\x16\n\x12PRESET_TITLE_PHOTO\x10\x03\x12\x1b\n\x17PRESET_TITLE_LIVE_BURST\x10\x04\x12\x16\n\x12PRESET_TITLE_BURST\x10\x05\x12\x16\n\x12PRESET_TITLE_NIGHT\x10\x06\x12\x1a\n\x16PRESET_TITLE_TIME_WARP\x10\x07\x12\x1b\n\x17PRESET_TITLE_TIME_LAPSE\x10\x08\x12\x1c\n\x18PRESET_TITLE_NIGHT_LAPSE\x10\t\x12\x16\n\x12PRESET_TITLE_VIDEO\x10\n\x12\x16\n\x12PRESET_TITLE_SLOMO\x10\x0b\x12\x18\n\x14PRESET_TITLE_PHOTO_2\x10\r\x12\x19\n\x15PRESET_TITLE_PANORAMA\x10\x0e\x12\x1c\n\x18PRESET_TITLE_TIME_WARP_2\x10\x10\x12\x17\n\x13PRESET_TITLE_CUSTOM\x10\x12\x12\x14\n\x10PRESET_TITLE_AIR\x10\x13\x12\x15\n\x11PRESET_TITLE_BIKE\x10\x14\x12\x15\n\x11PRESET_TITLE_EPIC\x10\x15\x12\x17\n\x13PRESET_TITLE_INDOOR\x10\x16\x12\x16\n\x12PRESET_TITLE_MOTOR\x10\x17\x12\x18\n\x14PRESET_TITLE_MOUNTED\x10\x18\x12\x18\n\x14PRESET_TITLE_OUTDOOR\x10\x19\x12\x14\n\x10PRESET_TITLE_POV\x10\x1a\x12\x17\n\x13PRESET_TITLE_SELFIE\x10\x1b\x12\x16\n\x12PRESET_TITLE_SKATE\x10\x1c\x12\x15\n\x11PRESET_TITLE_SNOW\x10\x1d\x12\x16\n\x12PRESET_TITLE_TRAIL\x10\x1e\x12\x17\n\x13PRESET_TITLE_TRAVEL\x10\x1f\x12\x16\n\x12PRESET_TITLE_WATER\x10 \x12\x18\n\x14PRESET_TITLE_LOOPING\x10!\x12\x16\n\x12PRESET_TITLE_STARS\x10"\x12\x17\n\x13PRESET_TITLE_ACTION\x10#\x12\x1b\n\x17PRESET_TITLE_FOLLOW_CAM\x10$\x12\x15\n\x11PRESET_TITLE_SURF\x10%\x12\x15\n\x11PRESET_TITLE_CITY\x10&\x12\x16\n\x12PRESET_TITLE_SHAKY\x10\'\x12\x17\n\x13PRESET_TITLE_CHESTY\x10(\x12\x17\n\x13PRESET_TITLE_HELMET\x10)\x12\x15\n\x11PRESET_TITLE_BITE\x10*\x12!\n\x1dPRESET_TITLE_CUSTOM_CINEMATIC\x10+\x12\x15\n\x11PRESET_TITLE_VLOG\x10,\x12\x14\n\x10PRESET_TITLE_FPV\x10-\x12\x14\n\x10PRESET_TITLE_HDR\x10.\x12\x1a\n\x16PRESET_TITLE_LANDSCAPE\x10/\x12\x14\n\x10PRESET_TITLE_LOG\x100\x12\x1d\n\x19PRESET_TITLE_CUSTOM_SLOMO\x101\x12\x17\n\x13PRESET_TITLE_TRIPOD\x102\x12\x16\n\x12PRESET_TITLE_BASIC\x10:\x12\x1d\n\x19PRESET_TITLE_ULTRA_SLO_MO\x10;\x12#\n\x1fPRESET_TITLE_STANDARD_ENDURANCE\x10<\x12#\n\x1fPRESET_TITLE_ACTIVITY_ENDURANCE\x10=\x12$\n PRESET_TITLE_CINEMATIC_ENDURANCE\x10>\x12 \n\x1cPRESET_TITLE_SLOMO_ENDURANCE\x10?\x12\x1d\n\x19PRESET_TITLE_STATIONARY_1\x10@\x12\x1d\n\x19PRESET_TITLE_STATIONARY_2\x10A\x12\x1d\n\x19PRESET_TITLE_STATIONARY_3\x10B\x12\x1d\n\x19PRESET_TITLE_STATIONARY_4\x10C\x12\x1d\n\x19PRESET_TITLE_SIMPLE_VIDEO\x10D\x12!\n\x1dPRESET_TITLE_SIMPLE_TIME_WARP\x10E\x12#\n\x1fPRESET_TITLE_SIMPLE_SUPER_PHOTO\x10F\x12#\n\x1fPRESET_TITLE_SIMPLE_NIGHT_PHOTO\x10G\x12\'\n#PRESET_TITLE_SIMPLE_VIDEO_ENDURANCE\x10H\x12 \n\x1cPRESET_TITLE_HIGHEST_QUALITY\x10I\x12!\n\x1dPRESET_TITLE_EXTENDED_BATTERY\x10J\x12 \n\x1cPRESET_TITLE_LONGEST_BATTERY\x10K\x12\x1b\n\x17PRESET_TITLE_STAR_TRAIL\x10L\x12\x1f\n\x1bPRESET_TITLE_LIGHT_PAINTING\x10M\x12\x1c\n\x18PRESET_TITLE_LIGHT_TRAIL\x10N\x12\x1b\n\x17PRESET_TITLE_FULL_FRAME\x10O\x12\'\n#PRESET_TITLE_STANDARD_QUALITY_VIDEO\x10R\x12$\n PRESET_TITLE_BASIC_QUALITY_VIDEO\x10S\x12&\n"PRESET_TITLE_HIGHEST_QUALITY_VIDEO\x10]\x12)\n%PRESET_TITLE_USER_DEFINED_CUSTOM_NAME\x10^\x12&\n"PRESET_TITLE_EASY_STANDARD_PROFILE\x10c\x12!\n\x1dPRESET_TITLE_EASY_HDR_PROFILE\x10d\x12\x1c\n\x18PRESET_TITLE_BURST_SLOMO\x10j'
)
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "preset_status_pb2", globals())
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
- _ENUMFLATMODE._serialized_start = 818
- _ENUMFLATMODE._serialized_end = 1485
- _ENUMPRESETGROUP._serialized_start = 1487
- _ENUMPRESETGROUP._serialized_end = 1592
- _ENUMPRESETGROUPICON._serialized_start = 1595
- _ENUMPRESETGROUPICON._serialized_end = 1911
- _ENUMPRESETICON._serialized_start = 1914
- _ENUMPRESETICON._serialized_end = 3643
- _ENUMPRESETTITLE._serialized_start = 3646
- _ENUMPRESETTITLE._serialized_end = 5564
+ _ENUMFLATMODE._serialized_start = 864
+ _ENUMFLATMODE._serialized_end = 1531
+ _ENUMPRESETGROUP._serialized_start = 1533
+ _ENUMPRESETGROUP._serialized_end = 1638
+ _ENUMPRESETGROUPICON._serialized_start = 1641
+ _ENUMPRESETGROUPICON._serialized_end = 2078
+ _ENUMPRESETICON._serialized_start = 2081
+ _ENUMPRESETICON._serialized_end = 4512
+ _ENUMPRESETTITLE._serialized_start = 4515
+ _ENUMPRESETTITLE._serialized_end = 6746
_NOTIFYPRESETSTATUS._serialized_start = 59
_NOTIFYPRESETSTATUS._serialized_end = 132
_PRESET._serialized_start = 135
@@ -35,6 +32,6 @@
_REQUESTCUSTOMPRESETUPDATE._serialized_start = 441
_REQUESTCUSTOMPRESETUPDATE._serialized_end = 581
_PRESETGROUP._serialized_start = 584
- _PRESETGROUP._serialized_end = 751
- _PRESETSETTING._serialized_start = 753
- _PRESETSETTING._serialized_end = 815
+ _PRESETGROUP._serialized_end = 797
+ _PRESETSETTING._serialized_start = 799
+ _PRESETSETTING._serialized_end = 861
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/preset_status_pb2.pyi b/demos/python/sdk_wireless_camera_control/open_gopro/proto/preset_status_pb2.pyi
index d5145f88..67e7e7d1 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/preset_status_pb2.pyi
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/preset_status_pb2.pyi
@@ -117,6 +117,9 @@ class _EnumPresetGroupIconEnumTypeWrapper(
PRESET_GROUP_MAX_VIDEO_ICON_ID: _EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_PHOTO_ICON_ID: _EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_TIMELAPSE_ICON_ID: _EnumPresetGroupIcon.ValueType
+ PRESET_GROUP_ND_MOD_VIDEO_ICON_ID: _EnumPresetGroupIcon.ValueType
+ PRESET_GROUP_ND_MOD_PHOTO_ICON_ID: _EnumPresetGroupIcon.ValueType
+ PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID: _EnumPresetGroupIcon.ValueType
class EnumPresetGroupIcon(_EnumPresetGroupIcon, metaclass=_EnumPresetGroupIconEnumTypeWrapper): ...
@@ -128,6 +131,9 @@ PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID: EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_VIDEO_ICON_ID: EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_PHOTO_ICON_ID: EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_TIMELAPSE_ICON_ID: EnumPresetGroupIcon.ValueType
+PRESET_GROUP_ND_MOD_VIDEO_ICON_ID: EnumPresetGroupIcon.ValueType
+PRESET_GROUP_ND_MOD_PHOTO_ICON_ID: EnumPresetGroupIcon.ValueType
+PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID: EnumPresetGroupIcon.ValueType
global___EnumPresetGroupIcon = EnumPresetGroupIcon
class _EnumPresetIcon:
@@ -181,6 +187,17 @@ class _EnumPresetIconEnumTypeWrapper(
PRESET_ICON_CHESTY: _EnumPresetIcon.ValueType
PRESET_ICON_HELMET: _EnumPresetIcon.ValueType
PRESET_ICON_BITE: _EnumPresetIcon.ValueType
+ PRESET_ICON_CUSTOM_CINEMATIC: _EnumPresetIcon.ValueType
+ PRESET_ICON_VLOG: _EnumPresetIcon.ValueType
+ PRESET_ICON_FPV: _EnumPresetIcon.ValueType
+ PRESET_ICON_HDR: _EnumPresetIcon.ValueType
+ PRESET_ICON_LANDSCAPE: _EnumPresetIcon.ValueType
+ PRESET_ICON_LOG: _EnumPresetIcon.ValueType
+ PRESET_ICON_CUSTOM_SLOMO: _EnumPresetIcon.ValueType
+ PRESET_ICON_TRIPOD: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_VIDEO: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_PHOTO: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_TIMEWARP: _EnumPresetIcon.ValueType
PRESET_ICON_BASIC: _EnumPresetIcon.ValueType
PRESET_ICON_ULTRA_SLO_MO: _EnumPresetIcon.ValueType
PRESET_ICON_STANDARD_ENDURANCE: _EnumPresetIcon.ValueType
@@ -200,6 +217,18 @@ class _EnumPresetIconEnumTypeWrapper(
PRESET_ICON_LIGHT_PAINTING: _EnumPresetIcon.ValueType
PRESET_ICON_LIGHT_TRAIL: _EnumPresetIcon.ValueType
PRESET_ICON_FULL_FRAME: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_VIDEO: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_PHOTO: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_TIMEWARP: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_STAR_TRAIL: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_LIGHT_PAINTING: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_LIGHT_TRAIL: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_STAR_TRAIL: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_LIGHT_PAINTING: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_LIGHT_TRAIL: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_STANDARD_PROFILE: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_HDR_PROFILE: _EnumPresetIcon.ValueType
+ PRESET_ICON_BURST_SLOMO: _EnumPresetIcon.ValueType
PRESET_ICON_TIMELAPSE_PHOTO: _EnumPresetIcon.ValueType
PRESET_ICON_NIGHTLAPSE_PHOTO: _EnumPresetIcon.ValueType
@@ -247,6 +276,17 @@ PRESET_ICON_SHAKY: EnumPresetIcon.ValueType
PRESET_ICON_CHESTY: EnumPresetIcon.ValueType
PRESET_ICON_HELMET: EnumPresetIcon.ValueType
PRESET_ICON_BITE: EnumPresetIcon.ValueType
+PRESET_ICON_CUSTOM_CINEMATIC: EnumPresetIcon.ValueType
+PRESET_ICON_VLOG: EnumPresetIcon.ValueType
+PRESET_ICON_FPV: EnumPresetIcon.ValueType
+PRESET_ICON_HDR: EnumPresetIcon.ValueType
+PRESET_ICON_LANDSCAPE: EnumPresetIcon.ValueType
+PRESET_ICON_LOG: EnumPresetIcon.ValueType
+PRESET_ICON_CUSTOM_SLOMO: EnumPresetIcon.ValueType
+PRESET_ICON_TRIPOD: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_VIDEO: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_PHOTO: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_TIMEWARP: EnumPresetIcon.ValueType
PRESET_ICON_BASIC: EnumPresetIcon.ValueType
PRESET_ICON_ULTRA_SLO_MO: EnumPresetIcon.ValueType
PRESET_ICON_STANDARD_ENDURANCE: EnumPresetIcon.ValueType
@@ -266,6 +306,18 @@ PRESET_ICON_STAR_TRAIL: EnumPresetIcon.ValueType
PRESET_ICON_LIGHT_PAINTING: EnumPresetIcon.ValueType
PRESET_ICON_LIGHT_TRAIL: EnumPresetIcon.ValueType
PRESET_ICON_FULL_FRAME: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_VIDEO: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_PHOTO: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_TIMEWARP: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_STAR_TRAIL: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_LIGHT_PAINTING: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_LIGHT_TRAIL: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_STAR_TRAIL: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_LIGHT_PAINTING: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_LIGHT_TRAIL: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_STANDARD_PROFILE: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_HDR_PROFILE: EnumPresetIcon.ValueType
+PRESET_ICON_BURST_SLOMO: EnumPresetIcon.ValueType
PRESET_ICON_TIMELAPSE_PHOTO: EnumPresetIcon.ValueType
PRESET_ICON_NIGHTLAPSE_PHOTO: EnumPresetIcon.ValueType
global___EnumPresetIcon = EnumPresetIcon
@@ -319,6 +371,14 @@ class _EnumPresetTitleEnumTypeWrapper(
PRESET_TITLE_CHESTY: _EnumPresetTitle.ValueType
PRESET_TITLE_HELMET: _EnumPresetTitle.ValueType
PRESET_TITLE_BITE: _EnumPresetTitle.ValueType
+ PRESET_TITLE_CUSTOM_CINEMATIC: _EnumPresetTitle.ValueType
+ PRESET_TITLE_VLOG: _EnumPresetTitle.ValueType
+ PRESET_TITLE_FPV: _EnumPresetTitle.ValueType
+ PRESET_TITLE_HDR: _EnumPresetTitle.ValueType
+ PRESET_TITLE_LANDSCAPE: _EnumPresetTitle.ValueType
+ PRESET_TITLE_LOG: _EnumPresetTitle.ValueType
+ PRESET_TITLE_CUSTOM_SLOMO: _EnumPresetTitle.ValueType
+ PRESET_TITLE_TRIPOD: _EnumPresetTitle.ValueType
PRESET_TITLE_BASIC: _EnumPresetTitle.ValueType
PRESET_TITLE_ULTRA_SLO_MO: _EnumPresetTitle.ValueType
PRESET_TITLE_STANDARD_ENDURANCE: _EnumPresetTitle.ValueType
@@ -345,6 +405,9 @@ class _EnumPresetTitleEnumTypeWrapper(
PRESET_TITLE_BASIC_QUALITY_VIDEO: _EnumPresetTitle.ValueType
PRESET_TITLE_HIGHEST_QUALITY_VIDEO: _EnumPresetTitle.ValueType
PRESET_TITLE_USER_DEFINED_CUSTOM_NAME: _EnumPresetTitle.ValueType
+ PRESET_TITLE_EASY_STANDARD_PROFILE: _EnumPresetTitle.ValueType
+ PRESET_TITLE_EASY_HDR_PROFILE: _EnumPresetTitle.ValueType
+ PRESET_TITLE_BURST_SLOMO: _EnumPresetTitle.ValueType
class EnumPresetTitle(_EnumPresetTitle, metaclass=_EnumPresetTitleEnumTypeWrapper): ...
@@ -388,6 +451,14 @@ PRESET_TITLE_SHAKY: EnumPresetTitle.ValueType
PRESET_TITLE_CHESTY: EnumPresetTitle.ValueType
PRESET_TITLE_HELMET: EnumPresetTitle.ValueType
PRESET_TITLE_BITE: EnumPresetTitle.ValueType
+PRESET_TITLE_CUSTOM_CINEMATIC: EnumPresetTitle.ValueType
+PRESET_TITLE_VLOG: EnumPresetTitle.ValueType
+PRESET_TITLE_FPV: EnumPresetTitle.ValueType
+PRESET_TITLE_HDR: EnumPresetTitle.ValueType
+PRESET_TITLE_LANDSCAPE: EnumPresetTitle.ValueType
+PRESET_TITLE_LOG: EnumPresetTitle.ValueType
+PRESET_TITLE_CUSTOM_SLOMO: EnumPresetTitle.ValueType
+PRESET_TITLE_TRIPOD: EnumPresetTitle.ValueType
PRESET_TITLE_BASIC: EnumPresetTitle.ValueType
PRESET_TITLE_ULTRA_SLO_MO: EnumPresetTitle.ValueType
PRESET_TITLE_STANDARD_ENDURANCE: EnumPresetTitle.ValueType
@@ -414,6 +485,9 @@ PRESET_TITLE_STANDARD_QUALITY_VIDEO: EnumPresetTitle.ValueType
PRESET_TITLE_BASIC_QUALITY_VIDEO: EnumPresetTitle.ValueType
PRESET_TITLE_HIGHEST_QUALITY_VIDEO: EnumPresetTitle.ValueType
PRESET_TITLE_USER_DEFINED_CUSTOM_NAME: EnumPresetTitle.ValueType
+PRESET_TITLE_EASY_STANDARD_PROFILE: EnumPresetTitle.ValueType
+PRESET_TITLE_EASY_HDR_PROFILE: EnumPresetTitle.ValueType
+PRESET_TITLE_BURST_SLOMO: EnumPresetTitle.ValueType
global___EnumPresetTitle = EnumPresetTitle
@typing_extensions.final
@@ -581,7 +655,7 @@ class RequestCustomPresetUpdate(google.protobuf.message.Message):
title_id: global___EnumPresetTitle.ValueType
"*\n Preset Title ID\n\n The range of acceptable custom title ID's can be found in the initial @ref NotifyPresetStatus response\n to @ref RequestGetPresetStatus\n "
custom_name: builtins.str
- "*\n UTF-8 encoded custom preset name\n\n The name must obey the following:\n\n - Custom titles must be between 1 and 16 characters (inclusive)\n - No special characters outside of the following languages: English, French, Italian, German,\n Spanish, Portuguese, Swedish, Russian\n "
+ "*\n UTF-8 encoded custom preset name to be used if `title_id` is set to 94 (PRESET_TITLE_USER_DEFINED_CUSTOM_NAME)\n\n The name must obey the following:\n\n - Custom titles must be between 1 and 16 characters (inclusive)\n - No special characters outside of the following languages: English, French, Italian, German,\n Spanish, Portuguese, Swedish, Russian\n "
icon_id: global___EnumPresetIcon.ValueType
"*\n Preset Icon ID\n\n The range of acceptable custom icon ID's can be found in the initial @ref NotifyPresetStatus response to\n @ref RequestGetPresetStatus\n "
@@ -628,6 +702,7 @@ class PresetGroup(google.protobuf.message.Message):
PRESET_ARRAY_FIELD_NUMBER: builtins.int
CAN_ADD_PRESET_FIELD_NUMBER: builtins.int
ICON_FIELD_NUMBER: builtins.int
+ MODE_ARRAY_FIELD_NUMBER: builtins.int
id: global___EnumPresetGroup.ValueType
"Preset Group ID"
@@ -641,13 +716,19 @@ class PresetGroup(google.protobuf.message.Message):
icon: global___EnumPresetGroupIcon.ValueType
"The icon to display for this preset group"
+ @property
+ def mode_array(
+ self,
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___EnumFlatMode.ValueType]:
+ """A list of flatmodes available for this preset group"""
def __init__(
self,
*,
id: global___EnumPresetGroup.ValueType | None = ...,
preset_array: collections.abc.Iterable[global___Preset] | None = ...,
can_add_preset: builtins.bool | None = ...,
- icon: global___EnumPresetGroupIcon.ValueType | None = ...
+ icon: global___EnumPresetGroupIcon.ValueType | None = ...,
+ mode_array: (collections.abc.Iterable[global___EnumFlatMode.ValueType] | None) = ...
) -> None: ...
def HasField(
self,
@@ -662,6 +743,8 @@ class PresetGroup(google.protobuf.message.Message):
b"icon",
"id",
b"id",
+ "mode_array",
+ b"mode_array",
"preset_array",
b"preset_array",
],
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/request_get_preset_status_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/request_get_preset_status_pb2.py
index 6003d14a..5c0380d9 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/request_get_preset_status_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/request_get_preset_status_pb2.py
@@ -1,6 +1,3 @@
-# request_get_preset_status_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/response_generic_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/response_generic_pb2.py
index 1c4b273a..53419664 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/response_generic_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/response_generic_pb2.py
@@ -1,6 +1,3 @@
-# response_generic_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/set_camera_control_status_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/set_camera_control_status_pb2.py
index 14aef9eb..97b39bee 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/set_camera_control_status_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/set_camera_control_status_pb2.py
@@ -1,6 +1,3 @@
-# set_camera_control_status_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
@@ -10,13 +7,13 @@
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x1fset_camera_control_status.proto\x12\nopen_gopro"c\n\x1dRequestSetCameraControlStatus\x12B\n\x15camera_control_status\x18\x01 \x02(\x0e2#.open_gopro.EnumCameraControlStatus*[\n\x17EnumCameraControlStatus\x12\x0f\n\x0bCAMERA_IDLE\x10\x00\x12\x12\n\x0eCAMERA_CONTROL\x10\x01\x12\x1b\n\x17CAMERA_EXTERNAL_CONTROL\x10\x02'
+ b'\n\x1fset_camera_control_status.proto\x12\nopen_gopro"c\n\x1dRequestSetCameraControlStatus\x12B\n\x15camera_control_status\x18\x01 \x02(\x0e2#.open_gopro.EnumCameraControlStatus*q\n\x17EnumCameraControlStatus\x12\x0f\n\x0bCAMERA_IDLE\x10\x00\x12\x12\n\x0eCAMERA_CONTROL\x10\x01\x12\x1b\n\x17CAMERA_EXTERNAL_CONTROL\x10\x02\x12\x14\n\x10CAMERA_COF_SETUP\x10\x03'
)
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "set_camera_control_status_pb2", globals())
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
_ENUMCAMERACONTROLSTATUS._serialized_start = 148
- _ENUMCAMERACONTROLSTATUS._serialized_end = 239
+ _ENUMCAMERACONTROLSTATUS._serialized_end = 261
_REQUESTSETCAMERACONTROLSTATUS._serialized_start = 47
_REQUESTSETCAMERACONTROLSTATUS._serialized_end = 146
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/set_camera_control_status_pb2.pyi b/demos/python/sdk_wireless_camera_control/open_gopro/proto/set_camera_control_status_pb2.pyi
index 37b27336..77f7128a 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/set_camera_control_status_pb2.pyi
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/set_camera_control_status_pb2.pyi
@@ -31,6 +31,8 @@ class _EnumCameraControlStatusEnumTypeWrapper(
CAMERA_CONTROL: _EnumCameraControlStatus.ValueType
"Can only be set by camera, not by app or third party"
CAMERA_EXTERNAL_CONTROL: _EnumCameraControlStatus.ValueType
+ CAMERA_COF_SETUP: _EnumCameraControlStatus.ValueType
+ "Set by the camera when it is on the CAH (Camera As a Hub) / COF (Cloud OFfload) setup screen"
class EnumCameraControlStatus(_EnumCameraControlStatus, metaclass=_EnumCameraControlStatusEnumTypeWrapper): ...
@@ -38,6 +40,8 @@ CAMERA_IDLE: EnumCameraControlStatus.ValueType
CAMERA_CONTROL: EnumCameraControlStatus.ValueType
"Can only be set by camera, not by app or third party"
CAMERA_EXTERNAL_CONTROL: EnumCameraControlStatus.ValueType
+CAMERA_COF_SETUP: EnumCameraControlStatus.ValueType
+"Set by the camera when it is on the CAH (Camera As a Hub) / COF (Cloud OFfload) setup screen"
global___EnumCameraControlStatus = EnumCameraControlStatus
@typing_extensions.final
diff --git a/demos/python/sdk_wireless_camera_control/open_gopro/proto/turbo_transfer_pb2.py b/demos/python/sdk_wireless_camera_control/open_gopro/proto/turbo_transfer_pb2.py
index 153d7fd8..c3a649b0 100644
--- a/demos/python/sdk_wireless_camera_control/open_gopro/proto/turbo_transfer_pb2.py
+++ b/demos/python/sdk_wireless_camera_control/open_gopro/proto/turbo_transfer_pb2.py
@@ -1,6 +1,3 @@
-# turbo_transfer_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:08 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
diff --git a/demos/python/sdk_wireless_camera_control/pyproject.toml b/demos/python/sdk_wireless_camera_control/pyproject.toml
index 42e3755b..f61396b3 100644
--- a/demos/python/sdk_wireless_camera_control/pyproject.toml
+++ b/demos/python/sdk_wireless_camera_control/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "open_gopro"
-version = "0.16.2"
+version = "0.17.0"
description = "Open GoPro API and Examples"
authors = ["Tim Camise "]
readme = "README.md"
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/cohn_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/cohn_pb2.py
index 43023a4e..5c0e666e 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/cohn_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/cohn_pb2.py
@@ -1,6 +1,3 @@
-# cohn_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/cohn_pb2.pyi b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/cohn_pb2.pyi
index 03516118..c00bc00a 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/cohn_pb2.pyi
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/cohn_pb2.pyi
@@ -24,7 +24,9 @@ class _EnumCOHNStatus:
V: typing_extensions.TypeAlias = ValueType
class _EnumCOHNStatusEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumCOHNStatus.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumCOHNStatus.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -42,7 +44,9 @@ class _EnumCOHNNetworkState:
V: typing_extensions.TypeAlias = ValueType
class _EnumCOHNNetworkStateEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumCOHNNetworkState.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumCOHNNetworkState.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -55,7 +59,9 @@ class _EnumCOHNNetworkStateEnumTypeWrapper(
COHN_STATE_ConnectingToNetwork: _EnumCOHNNetworkState.ValueType
COHN_STATE_Invalid: _EnumCOHNNetworkState.ValueType
-class EnumCOHNNetworkState(_EnumCOHNNetworkState, metaclass=_EnumCOHNNetworkStateEnumTypeWrapper): ...
+class EnumCOHNNetworkState(
+ _EnumCOHNNetworkState, metaclass=_EnumCOHNNetworkStateEnumTypeWrapper
+): ...
COHN_STATE_Init: EnumCOHNNetworkState.ValueType
COHN_STATE_Error: EnumCOHNNetworkState.ValueType
@@ -86,11 +92,15 @@ class RequestGetCOHNStatus(google.protobuf.message.Message):
def __init__(self, *, register_cohn_status: builtins.bool | None = ...) -> None: ...
def HasField(
self,
- field_name: typing_extensions.Literal["register_cohn_status", b"register_cohn_status"],
+ field_name: typing_extensions.Literal[
+ "register_cohn_status", b"register_cohn_status"
+ ],
) -> builtins.bool: ...
def ClearField(
self,
- field_name: typing_extensions.Literal["register_cohn_status", b"register_cohn_status"],
+ field_name: typing_extensions.Literal[
+ "register_cohn_status", b"register_cohn_status"
+ ],
) -> None: ...
global___RequestGetCOHNStatus = RequestGetCOHNStatus
@@ -198,8 +208,12 @@ class RequestCreateCOHNCert(google.protobuf.message.Message):
"Override current provisioning and create new cert"
def __init__(self, *, override: builtins.bool | None = ...) -> None: ...
- def HasField(self, field_name: typing_extensions.Literal["override", b"override"]) -> builtins.bool: ...
- def ClearField(self, field_name: typing_extensions.Literal["override", b"override"]) -> None: ...
+ def HasField(
+ self, field_name: typing_extensions.Literal["override", b"override"]
+ ) -> builtins.bool: ...
+ def ClearField(
+ self, field_name: typing_extensions.Literal["override", b"override"]
+ ) -> None: ...
global___RequestCreateCOHNCert = RequestCreateCOHNCert
@@ -246,7 +260,10 @@ class ResponseCOHNCert(google.protobuf.message.Message):
"Root CA cert (ASCII text)"
def __init__(
- self, *, result: response_generic_pb2.EnumResultGeneric.ValueType | None = ..., cert: builtins.str | None = ...
+ self,
+ *,
+ result: response_generic_pb2.EnumResultGeneric.ValueType | None = ...,
+ cert: builtins.str | None = ...
) -> None: ...
def HasField(
self,
@@ -273,7 +290,11 @@ class RequestSetCOHNSetting(google.protobuf.message.Message):
"*\n 1 to enable COHN, 0 to disable COHN\n\n When set to 1, STA Mode connection will be dropped and camera will not automatically re-connect for COHN.\n "
def __init__(self, *, cohn_active: builtins.bool | None = ...) -> None: ...
- def HasField(self, field_name: typing_extensions.Literal["cohn_active", b"cohn_active"]) -> builtins.bool: ...
- def ClearField(self, field_name: typing_extensions.Literal["cohn_active", b"cohn_active"]) -> None: ...
+ def HasField(
+ self, field_name: typing_extensions.Literal["cohn_active", b"cohn_active"]
+ ) -> builtins.bool: ...
+ def ClearField(
+ self, field_name: typing_extensions.Literal["cohn_active", b"cohn_active"]
+ ) -> None: ...
global___RequestSetCOHNSetting = RequestSetCOHNSetting
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/live_streaming_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/live_streaming_pb2.py
index 09696621..8bf49e1b 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/live_streaming_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/live_streaming_pb2.py
@@ -1,6 +1,3 @@
-# live_streaming_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
@@ -10,25 +7,25 @@
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x14live_streaming.proto\x12\nopen_gopro"\xa4\x04\n\x16NotifyLiveStreamStatus\x12<\n\x12live_stream_status\x18\x01 \x01(\x0e2 .open_gopro.EnumLiveStreamStatus\x12:\n\x11live_stream_error\x18\x02 \x01(\x0e2\x1f.open_gopro.EnumLiveStreamError\x12\x1a\n\x12live_stream_encode\x18\x03 \x01(\x08\x12\x1b\n\x13live_stream_bitrate\x18\x04 \x01(\x05\x12K\n\'live_stream_window_size_supported_array\x18\x05 \x03(\x0e2\x1a.open_gopro.EnumWindowSize\x12$\n\x1clive_stream_encode_supported\x18\x06 \x01(\x08\x12(\n live_stream_max_lens_unsupported\x18\x07 \x01(\x08\x12*\n"live_stream_minimum_stream_bitrate\x18\x08 \x01(\x05\x12*\n"live_stream_maximum_stream_bitrate\x18\t \x01(\x05\x12"\n\x1alive_stream_lens_supported\x18\n \x01(\x08\x12>\n live_stream_lens_supported_array\x18\x0b \x03(\x0e2\x14.open_gopro.EnumLens"\xbc\x01\n\x1aRequestGetLiveStreamStatus\x12M\n\x1bregister_live_stream_status\x18\x01 \x03(\x0e2(.open_gopro.EnumRegisterLiveStreamStatus\x12O\n\x1dunregister_live_stream_status\x18\x02 \x03(\x0e2(.open_gopro.EnumRegisterLiveStreamStatus"\xe6\x01\n\x18RequestSetLiveStreamMode\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06encode\x18\x02 \x01(\x08\x12/\n\x0bwindow_size\x18\x03 \x01(\x0e2\x1a.open_gopro.EnumWindowSize\x12\x0c\n\x04cert\x18\x06 \x01(\x0c\x12\x17\n\x0fminimum_bitrate\x18\x07 \x01(\x05\x12\x17\n\x0fmaximum_bitrate\x18\x08 \x01(\x05\x12\x18\n\x10starting_bitrate\x18\t \x01(\x05\x12"\n\x04lens\x18\n \x01(\x0e2\x14.open_gopro.EnumLens*>\n\x08EnumLens\x12\r\n\tLENS_WIDE\x10\x00\x12\x0f\n\x0bLENS_LINEAR\x10\x04\x12\x12\n\x0eLENS_SUPERVIEW\x10\x03*\xde\x03\n\x13EnumLiveStreamError\x12\x1a\n\x16LIVE_STREAM_ERROR_NONE\x10\x00\x12\x1d\n\x19LIVE_STREAM_ERROR_NETWORK\x10\x01\x12"\n\x1eLIVE_STREAM_ERROR_CREATESTREAM\x10\x02\x12!\n\x1dLIVE_STREAM_ERROR_OUTOFMEMORY\x10\x03\x12!\n\x1dLIVE_STREAM_ERROR_INPUTSTREAM\x10\x04\x12\x1e\n\x1aLIVE_STREAM_ERROR_INTERNET\x10\x05\x12\x1f\n\x1bLIVE_STREAM_ERROR_OSNETWORK\x10\x06\x12,\n(LIVE_STREAM_ERROR_SELECTEDNETWORKTIMEOUT\x10\x07\x12#\n\x1fLIVE_STREAM_ERROR_SSL_HANDSHAKE\x10\x08\x12$\n LIVE_STREAM_ERROR_CAMERA_BLOCKED\x10\t\x12\x1d\n\x19LIVE_STREAM_ERROR_UNKNOWN\x10\n\x12"\n\x1eLIVE_STREAM_ERROR_SD_CARD_FULL\x10(\x12%\n!LIVE_STREAM_ERROR_SD_CARD_REMOVED\x10)*\xa3\x02\n\x14EnumLiveStreamStatus\x12\x1a\n\x16LIVE_STREAM_STATE_IDLE\x10\x00\x12\x1c\n\x18LIVE_STREAM_STATE_CONFIG\x10\x01\x12\x1b\n\x17LIVE_STREAM_STATE_READY\x10\x02\x12\x1f\n\x1bLIVE_STREAM_STATE_STREAMING\x10\x03\x12&\n"LIVE_STREAM_STATE_COMPLETE_STAY_ON\x10\x04\x12$\n LIVE_STREAM_STATE_FAILED_STAY_ON\x10\x05\x12"\n\x1eLIVE_STREAM_STATE_RECONNECTING\x10\x06\x12!\n\x1dLIVE_STREAM_STATE_UNAVAILABLE\x10\x07*\xbc\x01\n\x1cEnumRegisterLiveStreamStatus\x12&\n"REGISTER_LIVE_STREAM_STATUS_STATUS\x10\x01\x12%\n!REGISTER_LIVE_STREAM_STATUS_ERROR\x10\x02\x12$\n REGISTER_LIVE_STREAM_STATUS_MODE\x10\x03\x12\'\n#REGISTER_LIVE_STREAM_STATUS_BITRATE\x10\x04*P\n\x0eEnumWindowSize\x12\x13\n\x0fWINDOW_SIZE_480\x10\x04\x12\x13\n\x0fWINDOW_SIZE_720\x10\x07\x12\x14\n\x10WINDOW_SIZE_1080\x10\x0c'
+ b'\n\x14live_streaming.proto\x12\nopen_gopro"\xcb\x04\n\x16NotifyLiveStreamStatus\x12<\n\x12live_stream_status\x18\x01 \x01(\x0e2 .open_gopro.EnumLiveStreamStatus\x12:\n\x11live_stream_error\x18\x02 \x01(\x0e2\x1f.open_gopro.EnumLiveStreamError\x12\x1a\n\x12live_stream_encode\x18\x03 \x01(\x08\x12\x1b\n\x13live_stream_bitrate\x18\x04 \x01(\x05\x12K\n\'live_stream_window_size_supported_array\x18\x05 \x03(\x0e2\x1a.open_gopro.EnumWindowSize\x12$\n\x1clive_stream_encode_supported\x18\x06 \x01(\x08\x12(\n live_stream_max_lens_unsupported\x18\x07 \x01(\x08\x12*\n"live_stream_minimum_stream_bitrate\x18\x08 \x01(\x05\x12*\n"live_stream_maximum_stream_bitrate\x18\t \x01(\x05\x12"\n\x1alive_stream_lens_supported\x18\n \x01(\x08\x12>\n live_stream_lens_supported_array\x18\x0b \x03(\x0e2\x14.open_gopro.EnumLens\x12%\n\x1dlive_stream_protune_supported\x18\r \x01(\x08"\xbc\x01\n\x1aRequestGetLiveStreamStatus\x12M\n\x1bregister_live_stream_status\x18\x01 \x03(\x0e2(.open_gopro.EnumRegisterLiveStreamStatus\x12O\n\x1dunregister_live_stream_status\x18\x02 \x03(\x0e2(.open_gopro.EnumRegisterLiveStreamStatus"\xe6\x01\n\x18RequestSetLiveStreamMode\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0e\n\x06encode\x18\x02 \x01(\x08\x12/\n\x0bwindow_size\x18\x03 \x01(\x0e2\x1a.open_gopro.EnumWindowSize\x12\x0c\n\x04cert\x18\x06 \x01(\x0c\x12\x17\n\x0fminimum_bitrate\x18\x07 \x01(\x05\x12\x17\n\x0fmaximum_bitrate\x18\x08 \x01(\x05\x12\x18\n\x10starting_bitrate\x18\t \x01(\x05\x12"\n\x04lens\x18\n \x01(\x0e2\x14.open_gopro.EnumLens*>\n\x08EnumLens\x12\r\n\tLENS_WIDE\x10\x00\x12\x0f\n\x0bLENS_LINEAR\x10\x04\x12\x12\n\x0eLENS_SUPERVIEW\x10\x03*\xde\x03\n\x13EnumLiveStreamError\x12\x1a\n\x16LIVE_STREAM_ERROR_NONE\x10\x00\x12\x1d\n\x19LIVE_STREAM_ERROR_NETWORK\x10\x01\x12"\n\x1eLIVE_STREAM_ERROR_CREATESTREAM\x10\x02\x12!\n\x1dLIVE_STREAM_ERROR_OUTOFMEMORY\x10\x03\x12!\n\x1dLIVE_STREAM_ERROR_INPUTSTREAM\x10\x04\x12\x1e\n\x1aLIVE_STREAM_ERROR_INTERNET\x10\x05\x12\x1f\n\x1bLIVE_STREAM_ERROR_OSNETWORK\x10\x06\x12,\n(LIVE_STREAM_ERROR_SELECTEDNETWORKTIMEOUT\x10\x07\x12#\n\x1fLIVE_STREAM_ERROR_SSL_HANDSHAKE\x10\x08\x12$\n LIVE_STREAM_ERROR_CAMERA_BLOCKED\x10\t\x12\x1d\n\x19LIVE_STREAM_ERROR_UNKNOWN\x10\n\x12"\n\x1eLIVE_STREAM_ERROR_SD_CARD_FULL\x10(\x12%\n!LIVE_STREAM_ERROR_SD_CARD_REMOVED\x10)*\xa3\x02\n\x14EnumLiveStreamStatus\x12\x1a\n\x16LIVE_STREAM_STATE_IDLE\x10\x00\x12\x1c\n\x18LIVE_STREAM_STATE_CONFIG\x10\x01\x12\x1b\n\x17LIVE_STREAM_STATE_READY\x10\x02\x12\x1f\n\x1bLIVE_STREAM_STATE_STREAMING\x10\x03\x12&\n"LIVE_STREAM_STATE_COMPLETE_STAY_ON\x10\x04\x12$\n LIVE_STREAM_STATE_FAILED_STAY_ON\x10\x05\x12"\n\x1eLIVE_STREAM_STATE_RECONNECTING\x10\x06\x12!\n\x1dLIVE_STREAM_STATE_UNAVAILABLE\x10\x07*\xbc\x01\n\x1cEnumRegisterLiveStreamStatus\x12&\n"REGISTER_LIVE_STREAM_STATUS_STATUS\x10\x01\x12%\n!REGISTER_LIVE_STREAM_STATUS_ERROR\x10\x02\x12$\n REGISTER_LIVE_STREAM_STATUS_MODE\x10\x03\x12\'\n#REGISTER_LIVE_STREAM_STATUS_BITRATE\x10\x04*P\n\x0eEnumWindowSize\x12\x13\n\x0fWINDOW_SIZE_480\x10\x04\x12\x13\n\x0fWINDOW_SIZE_720\x10\x07\x12\x14\n\x10WINDOW_SIZE_1080\x10\x0c'
)
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "live_streaming_pb2", globals())
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
- _ENUMLENS._serialized_start = 1011
- _ENUMLENS._serialized_end = 1073
- _ENUMLIVESTREAMERROR._serialized_start = 1076
- _ENUMLIVESTREAMERROR._serialized_end = 1554
- _ENUMLIVESTREAMSTATUS._serialized_start = 1557
- _ENUMLIVESTREAMSTATUS._serialized_end = 1848
- _ENUMREGISTERLIVESTREAMSTATUS._serialized_start = 1851
- _ENUMREGISTERLIVESTREAMSTATUS._serialized_end = 2039
- _ENUMWINDOWSIZE._serialized_start = 2041
- _ENUMWINDOWSIZE._serialized_end = 2121
+ _ENUMLENS._serialized_start = 1050
+ _ENUMLENS._serialized_end = 1112
+ _ENUMLIVESTREAMERROR._serialized_start = 1115
+ _ENUMLIVESTREAMERROR._serialized_end = 1593
+ _ENUMLIVESTREAMSTATUS._serialized_start = 1596
+ _ENUMLIVESTREAMSTATUS._serialized_end = 1887
+ _ENUMREGISTERLIVESTREAMSTATUS._serialized_start = 1890
+ _ENUMREGISTERLIVESTREAMSTATUS._serialized_end = 2078
+ _ENUMWINDOWSIZE._serialized_start = 2080
+ _ENUMWINDOWSIZE._serialized_end = 2160
_NOTIFYLIVESTREAMSTATUS._serialized_start = 37
- _NOTIFYLIVESTREAMSTATUS._serialized_end = 585
- _REQUESTGETLIVESTREAMSTATUS._serialized_start = 588
- _REQUESTGETLIVESTREAMSTATUS._serialized_end = 776
- _REQUESTSETLIVESTREAMMODE._serialized_start = 779
- _REQUESTSETLIVESTREAMMODE._serialized_end = 1009
+ _NOTIFYLIVESTREAMSTATUS._serialized_end = 624
+ _REQUESTGETLIVESTREAMSTATUS._serialized_start = 627
+ _REQUESTGETLIVESTREAMSTATUS._serialized_end = 815
+ _REQUESTSETLIVESTREAMMODE._serialized_start = 818
+ _REQUESTSETLIVESTREAMMODE._serialized_end = 1048
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/live_streaming_pb2.pyi b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/live_streaming_pb2.pyi
index 4ec8883a..58afcea4 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/live_streaming_pb2.pyi
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/live_streaming_pb2.pyi
@@ -45,7 +45,9 @@ class _EnumLiveStreamError:
V: typing_extensions.TypeAlias = ValueType
class _EnumLiveStreamErrorEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumLiveStreamError.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumLiveStreamError.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -76,7 +78,9 @@ class _EnumLiveStreamErrorEnumTypeWrapper(
LIVE_STREAM_ERROR_SD_CARD_REMOVED: _EnumLiveStreamError.ValueType
"Livestream stopped because sd card was removed"
-class EnumLiveStreamError(_EnumLiveStreamError, metaclass=_EnumLiveStreamErrorEnumTypeWrapper): ...
+class EnumLiveStreamError(
+ _EnumLiveStreamError, metaclass=_EnumLiveStreamErrorEnumTypeWrapper
+): ...
LIVE_STREAM_ERROR_NONE: EnumLiveStreamError.ValueType
"No error (success)"
@@ -111,7 +115,9 @@ class _EnumLiveStreamStatus:
V: typing_extensions.TypeAlias = ValueType
class _EnumLiveStreamStatusEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumLiveStreamStatus.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumLiveStreamStatus.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -132,7 +138,9 @@ class _EnumLiveStreamStatusEnumTypeWrapper(
LIVE_STREAM_STATE_UNAVAILABLE: _EnumLiveStreamStatus.ValueType
"Live stream setup is unavailable due to camera lens configuration"
-class EnumLiveStreamStatus(_EnumLiveStreamStatus, metaclass=_EnumLiveStreamStatusEnumTypeWrapper): ...
+class EnumLiveStreamStatus(
+ _EnumLiveStreamStatus, metaclass=_EnumLiveStreamStatusEnumTypeWrapper
+): ...
LIVE_STREAM_STATE_IDLE: EnumLiveStreamStatus.ValueType
"Initial status. Livestream has not yet been configured"
@@ -157,7 +165,9 @@ class _EnumRegisterLiveStreamStatus:
V: typing_extensions.TypeAlias = ValueType
class _EnumRegisterLiveStreamStatusEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumRegisterLiveStreamStatus.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumRegisterLiveStreamStatus.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -182,7 +192,9 @@ class _EnumWindowSize:
V: typing_extensions.TypeAlias = ValueType
class _EnumWindowSizeEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumWindowSize.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumWindowSize.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -220,6 +232,7 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
LIVE_STREAM_MAXIMUM_STREAM_BITRATE_FIELD_NUMBER: builtins.int
LIVE_STREAM_LENS_SUPPORTED_FIELD_NUMBER: builtins.int
LIVE_STREAM_LENS_SUPPORTED_ARRAY_FIELD_NUMBER: builtins.int
+ LIVE_STREAM_PROTUNE_SUPPORTED_FIELD_NUMBER: builtins.int
live_stream_status: global___EnumLiveStreamStatus.ValueType
"Live stream status"
live_stream_error: global___EnumLiveStreamError.ValueType
@@ -232,7 +245,9 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
@property
def live_stream_window_size_supported_array(
self,
- ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___EnumWindowSize.ValueType]:
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
+ global___EnumWindowSize.ValueType
+ ]:
"""Set of currently supported resolutions"""
live_stream_encode_supported: builtins.bool
"Does the camera support encoding while live streaming?"
@@ -248,8 +263,12 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
@property
def live_stream_lens_supported_array(
self,
- ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___EnumLens.ValueType]:
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
+ global___EnumLens.ValueType
+ ]:
"""Set of currently supported FOV options"""
+ live_stream_protune_supported: builtins.bool
+ "Does the camera support live stream protune settings"
def __init__(
self,
@@ -266,7 +285,10 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
live_stream_minimum_stream_bitrate: builtins.int | None = ...,
live_stream_maximum_stream_bitrate: builtins.int | None = ...,
live_stream_lens_supported: builtins.bool | None = ...,
- live_stream_lens_supported_array: collections.abc.Iterable[global___EnumLens.ValueType] | None = ...
+ live_stream_lens_supported_array: (
+ collections.abc.Iterable[global___EnumLens.ValueType] | None
+ ) = ...,
+ live_stream_protune_supported: builtins.bool | None = ...
) -> None: ...
def HasField(
self,
@@ -287,6 +309,8 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
b"live_stream_maximum_stream_bitrate",
"live_stream_minimum_stream_bitrate",
b"live_stream_minimum_stream_bitrate",
+ "live_stream_protune_supported",
+ b"live_stream_protune_supported",
"live_stream_status",
b"live_stream_status",
],
@@ -312,6 +336,8 @@ class NotifyLiveStreamStatus(google.protobuf.message.Message):
b"live_stream_maximum_stream_bitrate",
"live_stream_minimum_stream_bitrate",
b"live_stream_minimum_stream_bitrate",
+ "live_stream_protune_supported",
+ b"live_stream_protune_supported",
"live_stream_status",
b"live_stream_status",
"live_stream_window_size_supported_array",
@@ -355,10 +381,12 @@ class RequestGetLiveStreamStatus(google.protobuf.message.Message):
self,
*,
register_live_stream_status: (
- collections.abc.Iterable[global___EnumRegisterLiveStreamStatus.ValueType] | None
+ collections.abc.Iterable[global___EnumRegisterLiveStreamStatus.ValueType]
+ | None
) = ...,
unregister_live_stream_status: (
- collections.abc.Iterable[global___EnumRegisterLiveStreamStatus.ValueType] | None
+ collections.abc.Iterable[global___EnumRegisterLiveStreamStatus.ValueType]
+ | None
) = ...
) -> None: ...
def ClearField(
@@ -395,7 +423,7 @@ class RequestSetLiveStreamMode(google.protobuf.message.Message):
encode: builtins.bool
"Save media to sdcard while streaming?"
window_size: global___EnumWindowSize.ValueType
- "*\n Resolution to use for live stream\n\n The set of supported resolutions is only available from the `live_stream_window_size_supported_array` in @ref NotifyLiveStreamStatus)\n "
+ "*\n Resolution to use for live stream\n\n The set of supported resolutions is only available from the `live_stream_window_size_supported_array`\n in @ref NotifyLiveStreamStatus.\n "
cert: builtins.bytes
"Certificate for servers that require it in PEM format"
minimum_bitrate: builtins.int
@@ -405,7 +433,7 @@ class RequestSetLiveStreamMode(google.protobuf.message.Message):
starting_bitrate: builtins.int
"Starting bitrate"
lens: global___EnumLens.ValueType
- "*\n Lens to use for live stream\n\n The set of supported lenses is only available from the `live_stream_lens_supported_array` in @ref NotifyLiveStreamStatus)\n "
+ "*\n Lens to use for live stream\n\n The set of supported lenses is only available from the `live_stream_lens_supported_array`\n in @ref NotifyLiveStreamStatus.\n "
def __init__(
self,
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/media_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/media_pb2.py
index 6122cd70..57bb24f0 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/media_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/media_pb2.py
@@ -1,6 +1,3 @@
-# media_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/network_management_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/network_management_pb2.py
index a6438aa2..da703bc1 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/network_management_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/network_management_pb2.py
@@ -1,6 +1,3 @@
-# network_management_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/network_management_pb2.pyi b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/network_management_pb2.pyi
index c9f74c3d..28c03df8 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/network_management_pb2.pyi
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/network_management_pb2.pyi
@@ -26,7 +26,9 @@ class _EnumProvisioning:
V: typing_extensions.TypeAlias = ValueType
class _EnumProvisioningEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumProvisioning.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumProvisioning.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -43,7 +45,9 @@ class _EnumProvisioningEnumTypeWrapper(
PROVISIONING_ERROR_NO_INTERNET: _EnumProvisioning.ValueType
PROVISIONING_ERROR_UNSUPPORTED_TYPE: _EnumProvisioning.ValueType
-class EnumProvisioning(_EnumProvisioning, metaclass=_EnumProvisioningEnumTypeWrapper): ...
+class EnumProvisioning(
+ _EnumProvisioning, metaclass=_EnumProvisioningEnumTypeWrapper
+): ...
PROVISIONING_UNKNOWN: EnumProvisioning.ValueType
PROVISIONING_NEVER_STARTED: EnumProvisioning.ValueType
@@ -64,7 +68,9 @@ class _EnumScanning:
V: typing_extensions.TypeAlias = ValueType
class _EnumScanningEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumScanning.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumScanning.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -90,7 +96,9 @@ class _EnumScanEntryFlags:
V: typing_extensions.TypeAlias = ValueType
class _EnumScanEntryFlagsEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumScanEntryFlags.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumScanEntryFlags.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -105,7 +113,9 @@ class _EnumScanEntryFlagsEnumTypeWrapper(
"Camera is connected to this AP"
SCAN_FLAG_UNSUPPORTED_TYPE: _EnumScanEntryFlags.ValueType
-class EnumScanEntryFlags(_EnumScanEntryFlags, metaclass=_EnumScanEntryFlagsEnumTypeWrapper): ...
+class EnumScanEntryFlags(
+ _EnumScanEntryFlags, metaclass=_EnumScanEntryFlagsEnumTypeWrapper
+): ...
SCAN_FLAG_OPEN: EnumScanEntryFlags.ValueType
"This network does not require authentication"
@@ -132,14 +142,20 @@ class NotifProvisioningState(google.protobuf.message.Message):
provisioning_state: global___EnumProvisioning.ValueType
"Provisioning / connection state"
- def __init__(self, *, provisioning_state: global___EnumProvisioning.ValueType | None = ...) -> None: ...
+ def __init__(
+ self, *, provisioning_state: global___EnumProvisioning.ValueType | None = ...
+ ) -> None: ...
def HasField(
self,
- field_name: typing_extensions.Literal["provisioning_state", b"provisioning_state"],
+ field_name: typing_extensions.Literal[
+ "provisioning_state", b"provisioning_state"
+ ],
) -> builtins.bool: ...
def ClearField(
self,
- field_name: typing_extensions.Literal["provisioning_state", b"provisioning_state"],
+ field_name: typing_extensions.Literal[
+ "provisioning_state", b"provisioning_state"
+ ],
) -> None: ...
global___NotifProvisioningState = NotifProvisioningState
@@ -221,8 +237,12 @@ class RequestConnect(google.protobuf.message.Message):
"AP SSID"
def __init__(self, *, ssid: builtins.str | None = ...) -> None: ...
- def HasField(self, field_name: typing_extensions.Literal["ssid", b"ssid"]) -> builtins.bool: ...
- def ClearField(self, field_name: typing_extensions.Literal["ssid", b"ssid"]) -> None: ...
+ def HasField(
+ self, field_name: typing_extensions.Literal["ssid", b"ssid"]
+ ) -> builtins.bool: ...
+ def ClearField(
+ self, field_name: typing_extensions.Literal["ssid", b"ssid"]
+ ) -> None: ...
global___RequestConnect = RequestConnect
@@ -578,7 +598,9 @@ class ResponseGetApEntries(google.protobuf.message.Message):
@property
def entries(
self,
- ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResponseGetApEntries.ScanEntry]:
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
+ global___ResponseGetApEntries.ScanEntry
+ ]:
"""Array containing details about discovered APs"""
def __init__(
@@ -586,15 +608,21 @@ class ResponseGetApEntries(google.protobuf.message.Message):
*,
result: response_generic_pb2.EnumResultGeneric.ValueType | None = ...,
scan_id: builtins.int | None = ...,
- entries: collections.abc.Iterable[global___ResponseGetApEntries.ScanEntry] | None = ...
+ entries: (
+ collections.abc.Iterable[global___ResponseGetApEntries.ScanEntry] | None
+ ) = ...
) -> None: ...
def HasField(
self,
- field_name: typing_extensions.Literal["result", b"result", "scan_id", b"scan_id"],
+ field_name: typing_extensions.Literal[
+ "result", b"result", "scan_id", b"scan_id"
+ ],
) -> builtins.bool: ...
def ClearField(
self,
- field_name: typing_extensions.Literal["entries", b"entries", "result", b"result", "scan_id", b"scan_id"],
+ field_name: typing_extensions.Literal[
+ "entries", b"entries", "result", b"result", "scan_id", b"scan_id"
+ ],
) -> None: ...
global___ResponseGetApEntries = ResponseGetApEntries
@@ -623,11 +651,15 @@ class ResponseStartScanning(google.protobuf.message.Message):
) -> None: ...
def HasField(
self,
- field_name: typing_extensions.Literal["result", b"result", "scanning_state", b"scanning_state"],
+ field_name: typing_extensions.Literal[
+ "result", b"result", "scanning_state", b"scanning_state"
+ ],
) -> builtins.bool: ...
def ClearField(
self,
- field_name: typing_extensions.Literal["result", b"result", "scanning_state", b"scanning_state"],
+ field_name: typing_extensions.Literal[
+ "result", b"result", "scanning_state", b"scanning_state"
+ ],
) -> None: ...
global___ResponseStartScanning = ResponseStartScanning
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/preset_status_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/preset_status_pb2.py
index fb2a8d05..227aa98a 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/preset_status_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/preset_status_pb2.py
@@ -1,6 +1,3 @@
-# preset_status_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
@@ -12,22 +9,22 @@
from . import response_generic_pb2 as response__generic__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x13preset_status.proto\x12\nopen_gopro\x1a\x16response_generic.proto"I\n\x12NotifyPresetStatus\x123\n\x12preset_group_array\x18\x01 \x03(\x0b2\x17.open_gopro.PresetGroup"\xaf\x02\n\x06Preset\x12\n\n\x02id\x18\x01 \x01(\x05\x12&\n\x04mode\x18\x02 \x01(\x0e2\x18.open_gopro.EnumFlatMode\x12-\n\x08title_id\x18\x03 \x01(\x0e2\x1b.open_gopro.EnumPresetTitle\x12\x14\n\x0ctitle_number\x18\x04 \x01(\x05\x12\x14\n\x0cuser_defined\x18\x05 \x01(\x08\x12(\n\x04icon\x18\x06 \x01(\x0e2\x1a.open_gopro.EnumPresetIcon\x120\n\rsetting_array\x18\x07 \x03(\x0b2\x19.open_gopro.PresetSetting\x12\x13\n\x0bis_modified\x18\x08 \x01(\x08\x12\x10\n\x08is_fixed\x18\t \x01(\x08\x12\x13\n\x0bcustom_name\x18\n \x01(\t"\x8c\x01\n\x19RequestCustomPresetUpdate\x12-\n\x08title_id\x18\x01 \x01(\x0e2\x1b.open_gopro.EnumPresetTitle\x12\x13\n\x0bcustom_name\x18\x02 \x01(\t\x12+\n\x07icon_id\x18\x03 \x01(\x0e2\x1a.open_gopro.EnumPresetIcon"\xa7\x01\n\x0bPresetGroup\x12\'\n\x02id\x18\x01 \x01(\x0e2\x1b.open_gopro.EnumPresetGroup\x12(\n\x0cpreset_array\x18\x02 \x03(\x0b2\x12.open_gopro.Preset\x12\x16\n\x0ecan_add_preset\x18\x03 \x01(\x08\x12-\n\x04icon\x18\x04 \x01(\x0e2\x1f.open_gopro.EnumPresetGroupIcon">\n\rPresetSetting\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05\x12\x12\n\nis_caption\x18\x03 \x01(\x08*\x9b\x05\n\x0cEnumFlatMode\x12\x1e\n\x11FLAT_MODE_UNKNOWN\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x16\n\x12FLAT_MODE_PLAYBACK\x10\x04\x12\x13\n\x0fFLAT_MODE_SETUP\x10\x05\x12\x13\n\x0fFLAT_MODE_VIDEO\x10\x0c\x12\x1e\n\x1aFLAT_MODE_TIME_LAPSE_VIDEO\x10\r\x12\x15\n\x11FLAT_MODE_LOOPING\x10\x0f\x12\x1a\n\x16FLAT_MODE_PHOTO_SINGLE\x10\x10\x12\x13\n\x0fFLAT_MODE_PHOTO\x10\x11\x12\x19\n\x15FLAT_MODE_PHOTO_NIGHT\x10\x12\x12\x19\n\x15FLAT_MODE_PHOTO_BURST\x10\x13\x12\x1e\n\x1aFLAT_MODE_TIME_LAPSE_PHOTO\x10\x14\x12\x1f\n\x1bFLAT_MODE_NIGHT_LAPSE_PHOTO\x10\x15\x12\x1e\n\x1aFLAT_MODE_BROADCAST_RECORD\x10\x16\x12!\n\x1dFLAT_MODE_BROADCAST_BROADCAST\x10\x17\x12\x1d\n\x19FLAT_MODE_TIME_WARP_VIDEO\x10\x18\x12\x18\n\x14FLAT_MODE_LIVE_BURST\x10\x19\x12\x1f\n\x1bFLAT_MODE_NIGHT_LAPSE_VIDEO\x10\x1a\x12\x13\n\x0fFLAT_MODE_SLOMO\x10\x1b\x12\x12\n\x0eFLAT_MODE_IDLE\x10\x1c\x12\x1e\n\x1aFLAT_MODE_VIDEO_STAR_TRAIL\x10\x1d\x12"\n\x1eFLAT_MODE_VIDEO_LIGHT_PAINTING\x10\x1e\x12\x1f\n\x1bFLAT_MODE_VIDEO_LIGHT_TRAIL\x10\x1f\x12\x1f\n\x1bFLAT_MODE_VIDEO_BURST_SLOMO\x10 *i\n\x0fEnumPresetGroup\x12\x1a\n\x15PRESET_GROUP_ID_VIDEO\x10\xe8\x07\x12\x1a\n\x15PRESET_GROUP_ID_PHOTO\x10\xe9\x07\x12\x1e\n\x19PRESET_GROUP_ID_TIMELAPSE\x10\xea\x07*\xbc\x02\n\x13EnumPresetGroupIcon\x12\x1e\n\x1aPRESET_GROUP_VIDEO_ICON_ID\x10\x00\x12\x1e\n\x1aPRESET_GROUP_PHOTO_ICON_ID\x10\x01\x12"\n\x1ePRESET_GROUP_TIMELAPSE_ICON_ID\x10\x02\x12\'\n#PRESET_GROUP_LONG_BAT_VIDEO_ICON_ID\x10\x03\x12(\n$PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID\x10\x04\x12"\n\x1ePRESET_GROUP_MAX_VIDEO_ICON_ID\x10\x05\x12"\n\x1ePRESET_GROUP_MAX_PHOTO_ICON_ID\x10\x06\x12&\n"PRESET_GROUP_MAX_TIMELAPSE_ICON_ID\x10\x07*\xc1\r\n\x0eEnumPresetIcon\x12\x15\n\x11PRESET_ICON_VIDEO\x10\x00\x12\x18\n\x14PRESET_ICON_ACTIVITY\x10\x01\x12\x19\n\x15PRESET_ICON_CINEMATIC\x10\x02\x12\x15\n\x11PRESET_ICON_PHOTO\x10\x03\x12\x1a\n\x16PRESET_ICON_LIVE_BURST\x10\x04\x12\x15\n\x11PRESET_ICON_BURST\x10\x05\x12\x1b\n\x17PRESET_ICON_PHOTO_NIGHT\x10\x06\x12\x18\n\x14PRESET_ICON_TIMEWARP\x10\x07\x12\x19\n\x15PRESET_ICON_TIMELAPSE\x10\x08\x12\x1a\n\x16PRESET_ICON_NIGHTLAPSE\x10\t\x12\x15\n\x11PRESET_ICON_SNAIL\x10\n\x12\x17\n\x13PRESET_ICON_VIDEO_2\x10\x0b\x12\x17\n\x13PRESET_ICON_PHOTO_2\x10\r\x12\x18\n\x14PRESET_ICON_PANORAMA\x10\x0e\x12\x17\n\x13PRESET_ICON_BURST_2\x10\x0f\x12\x1a\n\x16PRESET_ICON_TIMEWARP_2\x10\x10\x12\x1b\n\x17PRESET_ICON_TIMELAPSE_2\x10\x11\x12\x16\n\x12PRESET_ICON_CUSTOM\x10\x12\x12\x13\n\x0fPRESET_ICON_AIR\x10\x13\x12\x14\n\x10PRESET_ICON_BIKE\x10\x14\x12\x14\n\x10PRESET_ICON_EPIC\x10\x15\x12\x16\n\x12PRESET_ICON_INDOOR\x10\x16\x12\x15\n\x11PRESET_ICON_MOTOR\x10\x17\x12\x17\n\x13PRESET_ICON_MOUNTED\x10\x18\x12\x17\n\x13PRESET_ICON_OUTDOOR\x10\x19\x12\x13\n\x0fPRESET_ICON_POV\x10\x1a\x12\x16\n\x12PRESET_ICON_SELFIE\x10\x1b\x12\x15\n\x11PRESET_ICON_SKATE\x10\x1c\x12\x14\n\x10PRESET_ICON_SNOW\x10\x1d\x12\x15\n\x11PRESET_ICON_TRAIL\x10\x1e\x12\x16\n\x12PRESET_ICON_TRAVEL\x10\x1f\x12\x15\n\x11PRESET_ICON_WATER\x10 \x12\x17\n\x13PRESET_ICON_LOOPING\x10!\x12\x15\n\x11PRESET_ICON_STARS\x10"\x12\x16\n\x12PRESET_ICON_ACTION\x10#\x12\x1a\n\x16PRESET_ICON_FOLLOW_CAM\x10$\x12\x14\n\x10PRESET_ICON_SURF\x10%\x12\x14\n\x10PRESET_ICON_CITY\x10&\x12\x15\n\x11PRESET_ICON_SHAKY\x10\'\x12\x16\n\x12PRESET_ICON_CHESTY\x10(\x12\x16\n\x12PRESET_ICON_HELMET\x10)\x12\x14\n\x10PRESET_ICON_BITE\x10*\x12\x15\n\x11PRESET_ICON_BASIC\x10:\x12\x1c\n\x18PRESET_ICON_ULTRA_SLO_MO\x10;\x12"\n\x1ePRESET_ICON_STANDARD_ENDURANCE\x10<\x12"\n\x1ePRESET_ICON_ACTIVITY_ENDURANCE\x10=\x12#\n\x1fPRESET_ICON_CINEMATIC_ENDURANCE\x10>\x12\x1f\n\x1bPRESET_ICON_SLOMO_ENDURANCE\x10?\x12\x1c\n\x18PRESET_ICON_STATIONARY_1\x10@\x12\x1c\n\x18PRESET_ICON_STATIONARY_2\x10A\x12\x1c\n\x18PRESET_ICON_STATIONARY_3\x10B\x12\x1c\n\x18PRESET_ICON_STATIONARY_4\x10C\x12"\n\x1ePRESET_ICON_SIMPLE_SUPER_PHOTO\x10F\x12"\n\x1ePRESET_ICON_SIMPLE_NIGHT_PHOTO\x10G\x12%\n!PRESET_ICON_HIGHEST_QUALITY_VIDEO\x10I\x12&\n"PRESET_ICON_STANDARD_QUALITY_VIDEO\x10J\x12#\n\x1fPRESET_ICON_BASIC_QUALITY_VIDEO\x10K\x12\x1a\n\x16PRESET_ICON_STAR_TRAIL\x10L\x12\x1e\n\x1aPRESET_ICON_LIGHT_PAINTING\x10M\x12\x1b\n\x17PRESET_ICON_LIGHT_TRAIL\x10N\x12\x1a\n\x16PRESET_ICON_FULL_FRAME\x10O\x12 \n\x1bPRESET_ICON_TIMELAPSE_PHOTO\x10\xe8\x07\x12!\n\x1cPRESET_ICON_NIGHTLAPSE_PHOTO\x10\xe9\x07*\xfe\x0e\n\x0fEnumPresetTitle\x12\x19\n\x15PRESET_TITLE_ACTIVITY\x10\x00\x12\x19\n\x15PRESET_TITLE_STANDARD\x10\x01\x12\x1a\n\x16PRESET_TITLE_CINEMATIC\x10\x02\x12\x16\n\x12PRESET_TITLE_PHOTO\x10\x03\x12\x1b\n\x17PRESET_TITLE_LIVE_BURST\x10\x04\x12\x16\n\x12PRESET_TITLE_BURST\x10\x05\x12\x16\n\x12PRESET_TITLE_NIGHT\x10\x06\x12\x1a\n\x16PRESET_TITLE_TIME_WARP\x10\x07\x12\x1b\n\x17PRESET_TITLE_TIME_LAPSE\x10\x08\x12\x1c\n\x18PRESET_TITLE_NIGHT_LAPSE\x10\t\x12\x16\n\x12PRESET_TITLE_VIDEO\x10\n\x12\x16\n\x12PRESET_TITLE_SLOMO\x10\x0b\x12\x18\n\x14PRESET_TITLE_PHOTO_2\x10\r\x12\x19\n\x15PRESET_TITLE_PANORAMA\x10\x0e\x12\x1c\n\x18PRESET_TITLE_TIME_WARP_2\x10\x10\x12\x17\n\x13PRESET_TITLE_CUSTOM\x10\x12\x12\x14\n\x10PRESET_TITLE_AIR\x10\x13\x12\x15\n\x11PRESET_TITLE_BIKE\x10\x14\x12\x15\n\x11PRESET_TITLE_EPIC\x10\x15\x12\x17\n\x13PRESET_TITLE_INDOOR\x10\x16\x12\x16\n\x12PRESET_TITLE_MOTOR\x10\x17\x12\x18\n\x14PRESET_TITLE_MOUNTED\x10\x18\x12\x18\n\x14PRESET_TITLE_OUTDOOR\x10\x19\x12\x14\n\x10PRESET_TITLE_POV\x10\x1a\x12\x17\n\x13PRESET_TITLE_SELFIE\x10\x1b\x12\x16\n\x12PRESET_TITLE_SKATE\x10\x1c\x12\x15\n\x11PRESET_TITLE_SNOW\x10\x1d\x12\x16\n\x12PRESET_TITLE_TRAIL\x10\x1e\x12\x17\n\x13PRESET_TITLE_TRAVEL\x10\x1f\x12\x16\n\x12PRESET_TITLE_WATER\x10 \x12\x18\n\x14PRESET_TITLE_LOOPING\x10!\x12\x16\n\x12PRESET_TITLE_STARS\x10"\x12\x17\n\x13PRESET_TITLE_ACTION\x10#\x12\x1b\n\x17PRESET_TITLE_FOLLOW_CAM\x10$\x12\x15\n\x11PRESET_TITLE_SURF\x10%\x12\x15\n\x11PRESET_TITLE_CITY\x10&\x12\x16\n\x12PRESET_TITLE_SHAKY\x10\'\x12\x17\n\x13PRESET_TITLE_CHESTY\x10(\x12\x17\n\x13PRESET_TITLE_HELMET\x10)\x12\x15\n\x11PRESET_TITLE_BITE\x10*\x12\x16\n\x12PRESET_TITLE_BASIC\x10:\x12\x1d\n\x19PRESET_TITLE_ULTRA_SLO_MO\x10;\x12#\n\x1fPRESET_TITLE_STANDARD_ENDURANCE\x10<\x12#\n\x1fPRESET_TITLE_ACTIVITY_ENDURANCE\x10=\x12$\n PRESET_TITLE_CINEMATIC_ENDURANCE\x10>\x12 \n\x1cPRESET_TITLE_SLOMO_ENDURANCE\x10?\x12\x1d\n\x19PRESET_TITLE_STATIONARY_1\x10@\x12\x1d\n\x19PRESET_TITLE_STATIONARY_2\x10A\x12\x1d\n\x19PRESET_TITLE_STATIONARY_3\x10B\x12\x1d\n\x19PRESET_TITLE_STATIONARY_4\x10C\x12\x1d\n\x19PRESET_TITLE_SIMPLE_VIDEO\x10D\x12!\n\x1dPRESET_TITLE_SIMPLE_TIME_WARP\x10E\x12#\n\x1fPRESET_TITLE_SIMPLE_SUPER_PHOTO\x10F\x12#\n\x1fPRESET_TITLE_SIMPLE_NIGHT_PHOTO\x10G\x12\'\n#PRESET_TITLE_SIMPLE_VIDEO_ENDURANCE\x10H\x12 \n\x1cPRESET_TITLE_HIGHEST_QUALITY\x10I\x12!\n\x1dPRESET_TITLE_EXTENDED_BATTERY\x10J\x12 \n\x1cPRESET_TITLE_LONGEST_BATTERY\x10K\x12\x1b\n\x17PRESET_TITLE_STAR_TRAIL\x10L\x12\x1f\n\x1bPRESET_TITLE_LIGHT_PAINTING\x10M\x12\x1c\n\x18PRESET_TITLE_LIGHT_TRAIL\x10N\x12\x1b\n\x17PRESET_TITLE_FULL_FRAME\x10O\x12\'\n#PRESET_TITLE_STANDARD_QUALITY_VIDEO\x10R\x12$\n PRESET_TITLE_BASIC_QUALITY_VIDEO\x10S\x12&\n"PRESET_TITLE_HIGHEST_QUALITY_VIDEO\x10]\x12)\n%PRESET_TITLE_USER_DEFINED_CUSTOM_NAME\x10^'
+ b'\n\x13preset_status.proto\x12\nopen_gopro\x1a\x16response_generic.proto"I\n\x12NotifyPresetStatus\x123\n\x12preset_group_array\x18\x01 \x03(\x0b2\x17.open_gopro.PresetGroup"\xaf\x02\n\x06Preset\x12\n\n\x02id\x18\x01 \x01(\x05\x12&\n\x04mode\x18\x02 \x01(\x0e2\x18.open_gopro.EnumFlatMode\x12-\n\x08title_id\x18\x03 \x01(\x0e2\x1b.open_gopro.EnumPresetTitle\x12\x14\n\x0ctitle_number\x18\x04 \x01(\x05\x12\x14\n\x0cuser_defined\x18\x05 \x01(\x08\x12(\n\x04icon\x18\x06 \x01(\x0e2\x1a.open_gopro.EnumPresetIcon\x120\n\rsetting_array\x18\x07 \x03(\x0b2\x19.open_gopro.PresetSetting\x12\x13\n\x0bis_modified\x18\x08 \x01(\x08\x12\x10\n\x08is_fixed\x18\t \x01(\x08\x12\x13\n\x0bcustom_name\x18\n \x01(\t"\x8c\x01\n\x19RequestCustomPresetUpdate\x12-\n\x08title_id\x18\x01 \x01(\x0e2\x1b.open_gopro.EnumPresetTitle\x12\x13\n\x0bcustom_name\x18\x02 \x01(\t\x12+\n\x07icon_id\x18\x03 \x01(\x0e2\x1a.open_gopro.EnumPresetIcon"\xd5\x01\n\x0bPresetGroup\x12\'\n\x02id\x18\x01 \x01(\x0e2\x1b.open_gopro.EnumPresetGroup\x12(\n\x0cpreset_array\x18\x02 \x03(\x0b2\x12.open_gopro.Preset\x12\x16\n\x0ecan_add_preset\x18\x03 \x01(\x08\x12-\n\x04icon\x18\x04 \x01(\x0e2\x1f.open_gopro.EnumPresetGroupIcon\x12,\n\nmode_array\x18\x05 \x03(\x0e2\x18.open_gopro.EnumFlatMode">\n\rPresetSetting\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05\x12\x12\n\nis_caption\x18\x03 \x01(\x08*\x9b\x05\n\x0cEnumFlatMode\x12\x1e\n\x11FLAT_MODE_UNKNOWN\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x16\n\x12FLAT_MODE_PLAYBACK\x10\x04\x12\x13\n\x0fFLAT_MODE_SETUP\x10\x05\x12\x13\n\x0fFLAT_MODE_VIDEO\x10\x0c\x12\x1e\n\x1aFLAT_MODE_TIME_LAPSE_VIDEO\x10\r\x12\x15\n\x11FLAT_MODE_LOOPING\x10\x0f\x12\x1a\n\x16FLAT_MODE_PHOTO_SINGLE\x10\x10\x12\x13\n\x0fFLAT_MODE_PHOTO\x10\x11\x12\x19\n\x15FLAT_MODE_PHOTO_NIGHT\x10\x12\x12\x19\n\x15FLAT_MODE_PHOTO_BURST\x10\x13\x12\x1e\n\x1aFLAT_MODE_TIME_LAPSE_PHOTO\x10\x14\x12\x1f\n\x1bFLAT_MODE_NIGHT_LAPSE_PHOTO\x10\x15\x12\x1e\n\x1aFLAT_MODE_BROADCAST_RECORD\x10\x16\x12!\n\x1dFLAT_MODE_BROADCAST_BROADCAST\x10\x17\x12\x1d\n\x19FLAT_MODE_TIME_WARP_VIDEO\x10\x18\x12\x18\n\x14FLAT_MODE_LIVE_BURST\x10\x19\x12\x1f\n\x1bFLAT_MODE_NIGHT_LAPSE_VIDEO\x10\x1a\x12\x13\n\x0fFLAT_MODE_SLOMO\x10\x1b\x12\x12\n\x0eFLAT_MODE_IDLE\x10\x1c\x12\x1e\n\x1aFLAT_MODE_VIDEO_STAR_TRAIL\x10\x1d\x12"\n\x1eFLAT_MODE_VIDEO_LIGHT_PAINTING\x10\x1e\x12\x1f\n\x1bFLAT_MODE_VIDEO_LIGHT_TRAIL\x10\x1f\x12\x1f\n\x1bFLAT_MODE_VIDEO_BURST_SLOMO\x10 *i\n\x0fEnumPresetGroup\x12\x1a\n\x15PRESET_GROUP_ID_VIDEO\x10\xe8\x07\x12\x1a\n\x15PRESET_GROUP_ID_PHOTO\x10\xe9\x07\x12\x1e\n\x19PRESET_GROUP_ID_TIMELAPSE\x10\xea\x07*\xb5\x03\n\x13EnumPresetGroupIcon\x12\x1e\n\x1aPRESET_GROUP_VIDEO_ICON_ID\x10\x00\x12\x1e\n\x1aPRESET_GROUP_PHOTO_ICON_ID\x10\x01\x12"\n\x1ePRESET_GROUP_TIMELAPSE_ICON_ID\x10\x02\x12\'\n#PRESET_GROUP_LONG_BAT_VIDEO_ICON_ID\x10\x03\x12(\n$PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID\x10\x04\x12"\n\x1ePRESET_GROUP_MAX_VIDEO_ICON_ID\x10\x05\x12"\n\x1ePRESET_GROUP_MAX_PHOTO_ICON_ID\x10\x06\x12&\n"PRESET_GROUP_MAX_TIMELAPSE_ICON_ID\x10\x07\x12%\n!PRESET_GROUP_ND_MOD_VIDEO_ICON_ID\x10\x08\x12%\n!PRESET_GROUP_ND_MOD_PHOTO_ICON_ID\x10\t\x12)\n%PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID\x10\n*\xff\x12\n\x0eEnumPresetIcon\x12\x15\n\x11PRESET_ICON_VIDEO\x10\x00\x12\x18\n\x14PRESET_ICON_ACTIVITY\x10\x01\x12\x19\n\x15PRESET_ICON_CINEMATIC\x10\x02\x12\x15\n\x11PRESET_ICON_PHOTO\x10\x03\x12\x1a\n\x16PRESET_ICON_LIVE_BURST\x10\x04\x12\x15\n\x11PRESET_ICON_BURST\x10\x05\x12\x1b\n\x17PRESET_ICON_PHOTO_NIGHT\x10\x06\x12\x18\n\x14PRESET_ICON_TIMEWARP\x10\x07\x12\x19\n\x15PRESET_ICON_TIMELAPSE\x10\x08\x12\x1a\n\x16PRESET_ICON_NIGHTLAPSE\x10\t\x12\x15\n\x11PRESET_ICON_SNAIL\x10\n\x12\x17\n\x13PRESET_ICON_VIDEO_2\x10\x0b\x12\x17\n\x13PRESET_ICON_PHOTO_2\x10\r\x12\x18\n\x14PRESET_ICON_PANORAMA\x10\x0e\x12\x17\n\x13PRESET_ICON_BURST_2\x10\x0f\x12\x1a\n\x16PRESET_ICON_TIMEWARP_2\x10\x10\x12\x1b\n\x17PRESET_ICON_TIMELAPSE_2\x10\x11\x12\x16\n\x12PRESET_ICON_CUSTOM\x10\x12\x12\x13\n\x0fPRESET_ICON_AIR\x10\x13\x12\x14\n\x10PRESET_ICON_BIKE\x10\x14\x12\x14\n\x10PRESET_ICON_EPIC\x10\x15\x12\x16\n\x12PRESET_ICON_INDOOR\x10\x16\x12\x15\n\x11PRESET_ICON_MOTOR\x10\x17\x12\x17\n\x13PRESET_ICON_MOUNTED\x10\x18\x12\x17\n\x13PRESET_ICON_OUTDOOR\x10\x19\x12\x13\n\x0fPRESET_ICON_POV\x10\x1a\x12\x16\n\x12PRESET_ICON_SELFIE\x10\x1b\x12\x15\n\x11PRESET_ICON_SKATE\x10\x1c\x12\x14\n\x10PRESET_ICON_SNOW\x10\x1d\x12\x15\n\x11PRESET_ICON_TRAIL\x10\x1e\x12\x16\n\x12PRESET_ICON_TRAVEL\x10\x1f\x12\x15\n\x11PRESET_ICON_WATER\x10 \x12\x17\n\x13PRESET_ICON_LOOPING\x10!\x12\x15\n\x11PRESET_ICON_STARS\x10"\x12\x16\n\x12PRESET_ICON_ACTION\x10#\x12\x1a\n\x16PRESET_ICON_FOLLOW_CAM\x10$\x12\x14\n\x10PRESET_ICON_SURF\x10%\x12\x14\n\x10PRESET_ICON_CITY\x10&\x12\x15\n\x11PRESET_ICON_SHAKY\x10\'\x12\x16\n\x12PRESET_ICON_CHESTY\x10(\x12\x16\n\x12PRESET_ICON_HELMET\x10)\x12\x14\n\x10PRESET_ICON_BITE\x10*\x12 \n\x1cPRESET_ICON_CUSTOM_CINEMATIC\x10+\x12\x14\n\x10PRESET_ICON_VLOG\x10,\x12\x13\n\x0fPRESET_ICON_FPV\x10-\x12\x13\n\x0fPRESET_ICON_HDR\x10.\x12\x19\n\x15PRESET_ICON_LANDSCAPE\x10/\x12\x13\n\x0fPRESET_ICON_LOG\x100\x12\x1c\n\x18PRESET_ICON_CUSTOM_SLOMO\x101\x12\x16\n\x12PRESET_ICON_TRIPOD\x102\x12\x19\n\x15PRESET_ICON_MAX_VIDEO\x107\x12\x19\n\x15PRESET_ICON_MAX_PHOTO\x108\x12\x1c\n\x18PRESET_ICON_MAX_TIMEWARP\x109\x12\x15\n\x11PRESET_ICON_BASIC\x10:\x12\x1c\n\x18PRESET_ICON_ULTRA_SLO_MO\x10;\x12"\n\x1ePRESET_ICON_STANDARD_ENDURANCE\x10<\x12"\n\x1ePRESET_ICON_ACTIVITY_ENDURANCE\x10=\x12#\n\x1fPRESET_ICON_CINEMATIC_ENDURANCE\x10>\x12\x1f\n\x1bPRESET_ICON_SLOMO_ENDURANCE\x10?\x12\x1c\n\x18PRESET_ICON_STATIONARY_1\x10@\x12\x1c\n\x18PRESET_ICON_STATIONARY_2\x10A\x12\x1c\n\x18PRESET_ICON_STATIONARY_3\x10B\x12\x1c\n\x18PRESET_ICON_STATIONARY_4\x10C\x12"\n\x1ePRESET_ICON_SIMPLE_SUPER_PHOTO\x10F\x12"\n\x1ePRESET_ICON_SIMPLE_NIGHT_PHOTO\x10G\x12%\n!PRESET_ICON_HIGHEST_QUALITY_VIDEO\x10I\x12&\n"PRESET_ICON_STANDARD_QUALITY_VIDEO\x10J\x12#\n\x1fPRESET_ICON_BASIC_QUALITY_VIDEO\x10K\x12\x1a\n\x16PRESET_ICON_STAR_TRAIL\x10L\x12\x1e\n\x1aPRESET_ICON_LIGHT_PAINTING\x10M\x12\x1b\n\x17PRESET_ICON_LIGHT_TRAIL\x10N\x12\x1a\n\x16PRESET_ICON_FULL_FRAME\x10O\x12\x1e\n\x1aPRESET_ICON_EASY_MAX_VIDEO\x10P\x12\x1e\n\x1aPRESET_ICON_EASY_MAX_PHOTO\x10Q\x12!\n\x1dPRESET_ICON_EASY_MAX_TIMEWARP\x10R\x12#\n\x1fPRESET_ICON_EASY_MAX_STAR_TRAIL\x10S\x12\'\n#PRESET_ICON_EASY_MAX_LIGHT_PAINTING\x10T\x12$\n PRESET_ICON_EASY_MAX_LIGHT_TRAIL\x10U\x12\x1e\n\x1aPRESET_ICON_MAX_STAR_TRAIL\x10Y\x12"\n\x1ePRESET_ICON_MAX_LIGHT_PAINTING\x10Z\x12\x1f\n\x1bPRESET_ICON_MAX_LIGHT_TRAIL\x10[\x12%\n!PRESET_ICON_EASY_STANDARD_PROFILE\x10d\x12 \n\x1cPRESET_ICON_EASY_HDR_PROFILE\x10e\x12\x1b\n\x17PRESET_ICON_BURST_SLOMO\x10f\x12 \n\x1bPRESET_ICON_TIMELAPSE_PHOTO\x10\xe8\x07\x12!\n\x1cPRESET_ICON_NIGHTLAPSE_PHOTO\x10\xe9\x07*\xb7\x11\n\x0fEnumPresetTitle\x12\x19\n\x15PRESET_TITLE_ACTIVITY\x10\x00\x12\x19\n\x15PRESET_TITLE_STANDARD\x10\x01\x12\x1a\n\x16PRESET_TITLE_CINEMATIC\x10\x02\x12\x16\n\x12PRESET_TITLE_PHOTO\x10\x03\x12\x1b\n\x17PRESET_TITLE_LIVE_BURST\x10\x04\x12\x16\n\x12PRESET_TITLE_BURST\x10\x05\x12\x16\n\x12PRESET_TITLE_NIGHT\x10\x06\x12\x1a\n\x16PRESET_TITLE_TIME_WARP\x10\x07\x12\x1b\n\x17PRESET_TITLE_TIME_LAPSE\x10\x08\x12\x1c\n\x18PRESET_TITLE_NIGHT_LAPSE\x10\t\x12\x16\n\x12PRESET_TITLE_VIDEO\x10\n\x12\x16\n\x12PRESET_TITLE_SLOMO\x10\x0b\x12\x18\n\x14PRESET_TITLE_PHOTO_2\x10\r\x12\x19\n\x15PRESET_TITLE_PANORAMA\x10\x0e\x12\x1c\n\x18PRESET_TITLE_TIME_WARP_2\x10\x10\x12\x17\n\x13PRESET_TITLE_CUSTOM\x10\x12\x12\x14\n\x10PRESET_TITLE_AIR\x10\x13\x12\x15\n\x11PRESET_TITLE_BIKE\x10\x14\x12\x15\n\x11PRESET_TITLE_EPIC\x10\x15\x12\x17\n\x13PRESET_TITLE_INDOOR\x10\x16\x12\x16\n\x12PRESET_TITLE_MOTOR\x10\x17\x12\x18\n\x14PRESET_TITLE_MOUNTED\x10\x18\x12\x18\n\x14PRESET_TITLE_OUTDOOR\x10\x19\x12\x14\n\x10PRESET_TITLE_POV\x10\x1a\x12\x17\n\x13PRESET_TITLE_SELFIE\x10\x1b\x12\x16\n\x12PRESET_TITLE_SKATE\x10\x1c\x12\x15\n\x11PRESET_TITLE_SNOW\x10\x1d\x12\x16\n\x12PRESET_TITLE_TRAIL\x10\x1e\x12\x17\n\x13PRESET_TITLE_TRAVEL\x10\x1f\x12\x16\n\x12PRESET_TITLE_WATER\x10 \x12\x18\n\x14PRESET_TITLE_LOOPING\x10!\x12\x16\n\x12PRESET_TITLE_STARS\x10"\x12\x17\n\x13PRESET_TITLE_ACTION\x10#\x12\x1b\n\x17PRESET_TITLE_FOLLOW_CAM\x10$\x12\x15\n\x11PRESET_TITLE_SURF\x10%\x12\x15\n\x11PRESET_TITLE_CITY\x10&\x12\x16\n\x12PRESET_TITLE_SHAKY\x10\'\x12\x17\n\x13PRESET_TITLE_CHESTY\x10(\x12\x17\n\x13PRESET_TITLE_HELMET\x10)\x12\x15\n\x11PRESET_TITLE_BITE\x10*\x12!\n\x1dPRESET_TITLE_CUSTOM_CINEMATIC\x10+\x12\x15\n\x11PRESET_TITLE_VLOG\x10,\x12\x14\n\x10PRESET_TITLE_FPV\x10-\x12\x14\n\x10PRESET_TITLE_HDR\x10.\x12\x1a\n\x16PRESET_TITLE_LANDSCAPE\x10/\x12\x14\n\x10PRESET_TITLE_LOG\x100\x12\x1d\n\x19PRESET_TITLE_CUSTOM_SLOMO\x101\x12\x17\n\x13PRESET_TITLE_TRIPOD\x102\x12\x16\n\x12PRESET_TITLE_BASIC\x10:\x12\x1d\n\x19PRESET_TITLE_ULTRA_SLO_MO\x10;\x12#\n\x1fPRESET_TITLE_STANDARD_ENDURANCE\x10<\x12#\n\x1fPRESET_TITLE_ACTIVITY_ENDURANCE\x10=\x12$\n PRESET_TITLE_CINEMATIC_ENDURANCE\x10>\x12 \n\x1cPRESET_TITLE_SLOMO_ENDURANCE\x10?\x12\x1d\n\x19PRESET_TITLE_STATIONARY_1\x10@\x12\x1d\n\x19PRESET_TITLE_STATIONARY_2\x10A\x12\x1d\n\x19PRESET_TITLE_STATIONARY_3\x10B\x12\x1d\n\x19PRESET_TITLE_STATIONARY_4\x10C\x12\x1d\n\x19PRESET_TITLE_SIMPLE_VIDEO\x10D\x12!\n\x1dPRESET_TITLE_SIMPLE_TIME_WARP\x10E\x12#\n\x1fPRESET_TITLE_SIMPLE_SUPER_PHOTO\x10F\x12#\n\x1fPRESET_TITLE_SIMPLE_NIGHT_PHOTO\x10G\x12\'\n#PRESET_TITLE_SIMPLE_VIDEO_ENDURANCE\x10H\x12 \n\x1cPRESET_TITLE_HIGHEST_QUALITY\x10I\x12!\n\x1dPRESET_TITLE_EXTENDED_BATTERY\x10J\x12 \n\x1cPRESET_TITLE_LONGEST_BATTERY\x10K\x12\x1b\n\x17PRESET_TITLE_STAR_TRAIL\x10L\x12\x1f\n\x1bPRESET_TITLE_LIGHT_PAINTING\x10M\x12\x1c\n\x18PRESET_TITLE_LIGHT_TRAIL\x10N\x12\x1b\n\x17PRESET_TITLE_FULL_FRAME\x10O\x12\'\n#PRESET_TITLE_STANDARD_QUALITY_VIDEO\x10R\x12$\n PRESET_TITLE_BASIC_QUALITY_VIDEO\x10S\x12&\n"PRESET_TITLE_HIGHEST_QUALITY_VIDEO\x10]\x12)\n%PRESET_TITLE_USER_DEFINED_CUSTOM_NAME\x10^\x12&\n"PRESET_TITLE_EASY_STANDARD_PROFILE\x10c\x12!\n\x1dPRESET_TITLE_EASY_HDR_PROFILE\x10d\x12\x1c\n\x18PRESET_TITLE_BURST_SLOMO\x10j'
)
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "preset_status_pb2", globals())
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
- _ENUMFLATMODE._serialized_start = 818
- _ENUMFLATMODE._serialized_end = 1485
- _ENUMPRESETGROUP._serialized_start = 1487
- _ENUMPRESETGROUP._serialized_end = 1592
- _ENUMPRESETGROUPICON._serialized_start = 1595
- _ENUMPRESETGROUPICON._serialized_end = 1911
- _ENUMPRESETICON._serialized_start = 1914
- _ENUMPRESETICON._serialized_end = 3643
- _ENUMPRESETTITLE._serialized_start = 3646
- _ENUMPRESETTITLE._serialized_end = 5564
+ _ENUMFLATMODE._serialized_start = 864
+ _ENUMFLATMODE._serialized_end = 1531
+ _ENUMPRESETGROUP._serialized_start = 1533
+ _ENUMPRESETGROUP._serialized_end = 1638
+ _ENUMPRESETGROUPICON._serialized_start = 1641
+ _ENUMPRESETGROUPICON._serialized_end = 2078
+ _ENUMPRESETICON._serialized_start = 2081
+ _ENUMPRESETICON._serialized_end = 4512
+ _ENUMPRESETTITLE._serialized_start = 4515
+ _ENUMPRESETTITLE._serialized_end = 6746
_NOTIFYPRESETSTATUS._serialized_start = 59
_NOTIFYPRESETSTATUS._serialized_end = 132
_PRESET._serialized_start = 135
@@ -35,6 +32,6 @@
_REQUESTCUSTOMPRESETUPDATE._serialized_start = 441
_REQUESTCUSTOMPRESETUPDATE._serialized_end = 581
_PRESETGROUP._serialized_start = 584
- _PRESETGROUP._serialized_end = 751
- _PRESETSETTING._serialized_start = 753
- _PRESETSETTING._serialized_end = 815
+ _PRESETGROUP._serialized_end = 797
+ _PRESETSETTING._serialized_start = 799
+ _PRESETSETTING._serialized_end = 861
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/preset_status_pb2.pyi b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/preset_status_pb2.pyi
index 73bd5fc7..64c36d9f 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/preset_status_pb2.pyi
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/preset_status_pb2.pyi
@@ -25,7 +25,9 @@ class _EnumFlatMode:
V: typing_extensions.TypeAlias = ValueType
class _EnumFlatModeEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumFlatMode.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumFlatMode.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -85,7 +87,9 @@ class _EnumPresetGroup:
V: typing_extensions.TypeAlias = ValueType
class _EnumPresetGroupEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumPresetGroup.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumPresetGroup.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -105,7 +109,9 @@ class _EnumPresetGroupIcon:
V: typing_extensions.TypeAlias = ValueType
class _EnumPresetGroupIconEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumPresetGroupIcon.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumPresetGroupIcon.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -117,8 +123,13 @@ class _EnumPresetGroupIconEnumTypeWrapper(
PRESET_GROUP_MAX_VIDEO_ICON_ID: _EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_PHOTO_ICON_ID: _EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_TIMELAPSE_ICON_ID: _EnumPresetGroupIcon.ValueType
+ PRESET_GROUP_ND_MOD_VIDEO_ICON_ID: _EnumPresetGroupIcon.ValueType
+ PRESET_GROUP_ND_MOD_PHOTO_ICON_ID: _EnumPresetGroupIcon.ValueType
+ PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID: _EnumPresetGroupIcon.ValueType
-class EnumPresetGroupIcon(_EnumPresetGroupIcon, metaclass=_EnumPresetGroupIconEnumTypeWrapper): ...
+class EnumPresetGroupIcon(
+ _EnumPresetGroupIcon, metaclass=_EnumPresetGroupIconEnumTypeWrapper
+): ...
PRESET_GROUP_VIDEO_ICON_ID: EnumPresetGroupIcon.ValueType
PRESET_GROUP_PHOTO_ICON_ID: EnumPresetGroupIcon.ValueType
@@ -128,6 +139,9 @@ PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID: EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_VIDEO_ICON_ID: EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_PHOTO_ICON_ID: EnumPresetGroupIcon.ValueType
PRESET_GROUP_MAX_TIMELAPSE_ICON_ID: EnumPresetGroupIcon.ValueType
+PRESET_GROUP_ND_MOD_VIDEO_ICON_ID: EnumPresetGroupIcon.ValueType
+PRESET_GROUP_ND_MOD_PHOTO_ICON_ID: EnumPresetGroupIcon.ValueType
+PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID: EnumPresetGroupIcon.ValueType
global___EnumPresetGroupIcon = EnumPresetGroupIcon
class _EnumPresetIcon:
@@ -135,7 +149,9 @@ class _EnumPresetIcon:
V: typing_extensions.TypeAlias = ValueType
class _EnumPresetIconEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumPresetIcon.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumPresetIcon.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -181,6 +197,17 @@ class _EnumPresetIconEnumTypeWrapper(
PRESET_ICON_CHESTY: _EnumPresetIcon.ValueType
PRESET_ICON_HELMET: _EnumPresetIcon.ValueType
PRESET_ICON_BITE: _EnumPresetIcon.ValueType
+ PRESET_ICON_CUSTOM_CINEMATIC: _EnumPresetIcon.ValueType
+ PRESET_ICON_VLOG: _EnumPresetIcon.ValueType
+ PRESET_ICON_FPV: _EnumPresetIcon.ValueType
+ PRESET_ICON_HDR: _EnumPresetIcon.ValueType
+ PRESET_ICON_LANDSCAPE: _EnumPresetIcon.ValueType
+ PRESET_ICON_LOG: _EnumPresetIcon.ValueType
+ PRESET_ICON_CUSTOM_SLOMO: _EnumPresetIcon.ValueType
+ PRESET_ICON_TRIPOD: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_VIDEO: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_PHOTO: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_TIMEWARP: _EnumPresetIcon.ValueType
PRESET_ICON_BASIC: _EnumPresetIcon.ValueType
PRESET_ICON_ULTRA_SLO_MO: _EnumPresetIcon.ValueType
PRESET_ICON_STANDARD_ENDURANCE: _EnumPresetIcon.ValueType
@@ -200,6 +227,18 @@ class _EnumPresetIconEnumTypeWrapper(
PRESET_ICON_LIGHT_PAINTING: _EnumPresetIcon.ValueType
PRESET_ICON_LIGHT_TRAIL: _EnumPresetIcon.ValueType
PRESET_ICON_FULL_FRAME: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_VIDEO: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_PHOTO: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_TIMEWARP: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_STAR_TRAIL: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_LIGHT_PAINTING: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_MAX_LIGHT_TRAIL: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_STAR_TRAIL: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_LIGHT_PAINTING: _EnumPresetIcon.ValueType
+ PRESET_ICON_MAX_LIGHT_TRAIL: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_STANDARD_PROFILE: _EnumPresetIcon.ValueType
+ PRESET_ICON_EASY_HDR_PROFILE: _EnumPresetIcon.ValueType
+ PRESET_ICON_BURST_SLOMO: _EnumPresetIcon.ValueType
PRESET_ICON_TIMELAPSE_PHOTO: _EnumPresetIcon.ValueType
PRESET_ICON_NIGHTLAPSE_PHOTO: _EnumPresetIcon.ValueType
@@ -247,6 +286,17 @@ PRESET_ICON_SHAKY: EnumPresetIcon.ValueType
PRESET_ICON_CHESTY: EnumPresetIcon.ValueType
PRESET_ICON_HELMET: EnumPresetIcon.ValueType
PRESET_ICON_BITE: EnumPresetIcon.ValueType
+PRESET_ICON_CUSTOM_CINEMATIC: EnumPresetIcon.ValueType
+PRESET_ICON_VLOG: EnumPresetIcon.ValueType
+PRESET_ICON_FPV: EnumPresetIcon.ValueType
+PRESET_ICON_HDR: EnumPresetIcon.ValueType
+PRESET_ICON_LANDSCAPE: EnumPresetIcon.ValueType
+PRESET_ICON_LOG: EnumPresetIcon.ValueType
+PRESET_ICON_CUSTOM_SLOMO: EnumPresetIcon.ValueType
+PRESET_ICON_TRIPOD: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_VIDEO: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_PHOTO: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_TIMEWARP: EnumPresetIcon.ValueType
PRESET_ICON_BASIC: EnumPresetIcon.ValueType
PRESET_ICON_ULTRA_SLO_MO: EnumPresetIcon.ValueType
PRESET_ICON_STANDARD_ENDURANCE: EnumPresetIcon.ValueType
@@ -266,6 +316,18 @@ PRESET_ICON_STAR_TRAIL: EnumPresetIcon.ValueType
PRESET_ICON_LIGHT_PAINTING: EnumPresetIcon.ValueType
PRESET_ICON_LIGHT_TRAIL: EnumPresetIcon.ValueType
PRESET_ICON_FULL_FRAME: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_VIDEO: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_PHOTO: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_TIMEWARP: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_STAR_TRAIL: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_LIGHT_PAINTING: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_MAX_LIGHT_TRAIL: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_STAR_TRAIL: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_LIGHT_PAINTING: EnumPresetIcon.ValueType
+PRESET_ICON_MAX_LIGHT_TRAIL: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_STANDARD_PROFILE: EnumPresetIcon.ValueType
+PRESET_ICON_EASY_HDR_PROFILE: EnumPresetIcon.ValueType
+PRESET_ICON_BURST_SLOMO: EnumPresetIcon.ValueType
PRESET_ICON_TIMELAPSE_PHOTO: EnumPresetIcon.ValueType
PRESET_ICON_NIGHTLAPSE_PHOTO: EnumPresetIcon.ValueType
global___EnumPresetIcon = EnumPresetIcon
@@ -275,7 +337,9 @@ class _EnumPresetTitle:
V: typing_extensions.TypeAlias = ValueType
class _EnumPresetTitleEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumPresetTitle.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumPresetTitle.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -319,6 +383,14 @@ class _EnumPresetTitleEnumTypeWrapper(
PRESET_TITLE_CHESTY: _EnumPresetTitle.ValueType
PRESET_TITLE_HELMET: _EnumPresetTitle.ValueType
PRESET_TITLE_BITE: _EnumPresetTitle.ValueType
+ PRESET_TITLE_CUSTOM_CINEMATIC: _EnumPresetTitle.ValueType
+ PRESET_TITLE_VLOG: _EnumPresetTitle.ValueType
+ PRESET_TITLE_FPV: _EnumPresetTitle.ValueType
+ PRESET_TITLE_HDR: _EnumPresetTitle.ValueType
+ PRESET_TITLE_LANDSCAPE: _EnumPresetTitle.ValueType
+ PRESET_TITLE_LOG: _EnumPresetTitle.ValueType
+ PRESET_TITLE_CUSTOM_SLOMO: _EnumPresetTitle.ValueType
+ PRESET_TITLE_TRIPOD: _EnumPresetTitle.ValueType
PRESET_TITLE_BASIC: _EnumPresetTitle.ValueType
PRESET_TITLE_ULTRA_SLO_MO: _EnumPresetTitle.ValueType
PRESET_TITLE_STANDARD_ENDURANCE: _EnumPresetTitle.ValueType
@@ -345,6 +417,9 @@ class _EnumPresetTitleEnumTypeWrapper(
PRESET_TITLE_BASIC_QUALITY_VIDEO: _EnumPresetTitle.ValueType
PRESET_TITLE_HIGHEST_QUALITY_VIDEO: _EnumPresetTitle.ValueType
PRESET_TITLE_USER_DEFINED_CUSTOM_NAME: _EnumPresetTitle.ValueType
+ PRESET_TITLE_EASY_STANDARD_PROFILE: _EnumPresetTitle.ValueType
+ PRESET_TITLE_EASY_HDR_PROFILE: _EnumPresetTitle.ValueType
+ PRESET_TITLE_BURST_SLOMO: _EnumPresetTitle.ValueType
class EnumPresetTitle(_EnumPresetTitle, metaclass=_EnumPresetTitleEnumTypeWrapper): ...
@@ -388,6 +463,14 @@ PRESET_TITLE_SHAKY: EnumPresetTitle.ValueType
PRESET_TITLE_CHESTY: EnumPresetTitle.ValueType
PRESET_TITLE_HELMET: EnumPresetTitle.ValueType
PRESET_TITLE_BITE: EnumPresetTitle.ValueType
+PRESET_TITLE_CUSTOM_CINEMATIC: EnumPresetTitle.ValueType
+PRESET_TITLE_VLOG: EnumPresetTitle.ValueType
+PRESET_TITLE_FPV: EnumPresetTitle.ValueType
+PRESET_TITLE_HDR: EnumPresetTitle.ValueType
+PRESET_TITLE_LANDSCAPE: EnumPresetTitle.ValueType
+PRESET_TITLE_LOG: EnumPresetTitle.ValueType
+PRESET_TITLE_CUSTOM_SLOMO: EnumPresetTitle.ValueType
+PRESET_TITLE_TRIPOD: EnumPresetTitle.ValueType
PRESET_TITLE_BASIC: EnumPresetTitle.ValueType
PRESET_TITLE_ULTRA_SLO_MO: EnumPresetTitle.ValueType
PRESET_TITLE_STANDARD_ENDURANCE: EnumPresetTitle.ValueType
@@ -414,6 +497,9 @@ PRESET_TITLE_STANDARD_QUALITY_VIDEO: EnumPresetTitle.ValueType
PRESET_TITLE_BASIC_QUALITY_VIDEO: EnumPresetTitle.ValueType
PRESET_TITLE_HIGHEST_QUALITY_VIDEO: EnumPresetTitle.ValueType
PRESET_TITLE_USER_DEFINED_CUSTOM_NAME: EnumPresetTitle.ValueType
+PRESET_TITLE_EASY_STANDARD_PROFILE: EnumPresetTitle.ValueType
+PRESET_TITLE_EASY_HDR_PROFILE: EnumPresetTitle.ValueType
+PRESET_TITLE_BURST_SLOMO: EnumPresetTitle.ValueType
global___EnumPresetTitle = EnumPresetTitle
@typing_extensions.final
@@ -433,13 +519,21 @@ class NotifyPresetStatus(google.protobuf.message.Message):
@property
def preset_group_array(
self,
- ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PresetGroup]:
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
+ global___PresetGroup
+ ]:
"""List of currently available Preset Groups"""
- def __init__(self, *, preset_group_array: collections.abc.Iterable[global___PresetGroup] | None = ...) -> None: ...
+ def __init__(
+ self,
+ *,
+ preset_group_array: collections.abc.Iterable[global___PresetGroup] | None = ...
+ ) -> None: ...
def ClearField(
self,
- field_name: typing_extensions.Literal["preset_group_array", b"preset_group_array"],
+ field_name: typing_extensions.Literal[
+ "preset_group_array", b"preset_group_array"
+ ],
) -> None: ...
global___NotifyPresetStatus = NotifyPresetStatus
@@ -477,7 +571,9 @@ class Preset(google.protobuf.message.Message):
@property
def setting_array(
self,
- ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PresetSetting]:
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
+ global___PresetSetting
+ ]:
"""Array of settings associated with this Preset"""
is_modified: builtins.bool
"Has Preset been modified from factory defaults? (False for user-defined Presets)"
@@ -582,7 +678,7 @@ class RequestCustomPresetUpdate(google.protobuf.message.Message):
title_id: global___EnumPresetTitle.ValueType
"*\n Preset Title ID\n\n The range of acceptable custom title ID's can be found in the initial @ref NotifyPresetStatus response\n to @ref RequestGetPresetStatus\n "
custom_name: builtins.str
- "*\n UTF-8 encoded custom preset name\n\n The name must obey the following:\n\n - Custom titles must be between 1 and 16 characters (inclusive)\n - No special characters outside of the following languages: English, French, Italian, German,\n Spanish, Portuguese, Swedish, Russian\n "
+ "*\n UTF-8 encoded custom preset name to be used if `title_id` is set to 94 (PRESET_TITLE_USER_DEFINED_CUSTOM_NAME)\n\n The name must obey the following:\n\n - Custom titles must be between 1 and 16 characters (inclusive)\n - No special characters outside of the following languages: English, French, Italian, German,\n Spanish, Portuguese, Swedish, Russian\n "
icon_id: global___EnumPresetIcon.ValueType
"*\n Preset Icon ID\n\n The range of acceptable custom icon ID's can be found in the initial @ref NotifyPresetStatus response to\n @ref RequestGetPresetStatus\n "
@@ -629,30 +725,46 @@ class PresetGroup(google.protobuf.message.Message):
PRESET_ARRAY_FIELD_NUMBER: builtins.int
CAN_ADD_PRESET_FIELD_NUMBER: builtins.int
ICON_FIELD_NUMBER: builtins.int
+ MODE_ARRAY_FIELD_NUMBER: builtins.int
id: global___EnumPresetGroup.ValueType
"Preset Group ID"
@property
def preset_array(
self,
- ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Preset]:
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
+ global___Preset
+ ]:
"""Array of Presets contained in this Preset Group"""
can_add_preset: builtins.bool
"Is there room in the group to add additional Presets?"
icon: global___EnumPresetGroupIcon.ValueType
"The icon to display for this preset group"
+ @property
+ def mode_array(
+ self,
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
+ global___EnumFlatMode.ValueType
+ ]:
+ """A list of flatmodes available for this preset group"""
+
def __init__(
self,
*,
id: global___EnumPresetGroup.ValueType | None = ...,
preset_array: collections.abc.Iterable[global___Preset] | None = ...,
can_add_preset: builtins.bool | None = ...,
- icon: global___EnumPresetGroupIcon.ValueType | None = ...
+ icon: global___EnumPresetGroupIcon.ValueType | None = ...,
+ mode_array: (
+ collections.abc.Iterable[global___EnumFlatMode.ValueType] | None
+ ) = ...
) -> None: ...
def HasField(
self,
- field_name: typing_extensions.Literal["can_add_preset", b"can_add_preset", "icon", b"icon", "id", b"id"],
+ field_name: typing_extensions.Literal[
+ "can_add_preset", b"can_add_preset", "icon", b"icon", "id", b"id"
+ ],
) -> builtins.bool: ...
def ClearField(
self,
@@ -663,6 +775,8 @@ class PresetGroup(google.protobuf.message.Message):
b"icon",
"id",
b"id",
+ "mode_array",
+ b"mode_array",
"preset_array",
b"preset_array",
],
@@ -688,15 +802,23 @@ class PresetSetting(google.protobuf.message.Message):
'Does this setting appear on the Preset "pill" in the camera UI?'
def __init__(
- self, *, id: builtins.int | None = ..., value: builtins.int | None = ..., is_caption: builtins.bool | None = ...
+ self,
+ *,
+ id: builtins.int | None = ...,
+ value: builtins.int | None = ...,
+ is_caption: builtins.bool | None = ...
) -> None: ...
def HasField(
self,
- field_name: typing_extensions.Literal["id", b"id", "is_caption", b"is_caption", "value", b"value"],
+ field_name: typing_extensions.Literal[
+ "id", b"id", "is_caption", b"is_caption", "value", b"value"
+ ],
) -> builtins.bool: ...
def ClearField(
self,
- field_name: typing_extensions.Literal["id", b"id", "is_caption", b"is_caption", "value", b"value"],
+ field_name: typing_extensions.Literal[
+ "id", b"id", "is_caption", b"is_caption", "value", b"value"
+ ],
) -> None: ...
global___PresetSetting = PresetSetting
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/request_get_preset_status_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/request_get_preset_status_pb2.py
index 3a2240ba..788f4467 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/request_get_preset_status_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/request_get_preset_status_pb2.py
@@ -1,6 +1,3 @@
-# request_get_preset_status_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
@@ -13,7 +10,9 @@
b'\n\x1frequest_get_preset_status.proto\x12\nopen_gopro"\xa6\x01\n\x16RequestGetPresetStatus\x12D\n\x16register_preset_status\x18\x01 \x03(\x0e2$.open_gopro.EnumRegisterPresetStatus\x12F\n\x18unregister_preset_status\x18\x02 \x03(\x0e2$.open_gopro.EnumRegisterPresetStatus*l\n\x18EnumRegisterPresetStatus\x12!\n\x1dREGISTER_PRESET_STATUS_PRESET\x10\x01\x12-\n)REGISTER_PRESET_STATUS_PRESET_GROUP_ARRAY\x10\x02'
)
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
-_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "request_get_preset_status_pb2", globals())
+_builder.BuildTopDescriptorsAndMessages(
+ DESCRIPTOR, "request_get_preset_status_pb2", globals()
+)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
_ENUMREGISTERPRESETSTATUS._serialized_start = 216
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/request_get_preset_status_pb2.pyi b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/request_get_preset_status_pb2.pyi
index 13e7d1c8..50c4eb54 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/request_get_preset_status_pb2.pyi
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/request_get_preset_status_pb2.pyi
@@ -25,7 +25,9 @@ class _EnumRegisterPresetStatus:
V: typing_extensions.TypeAlias = ValueType
class _EnumRegisterPresetStatusEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumRegisterPresetStatus.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumRegisterPresetStatus.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -34,7 +36,9 @@ class _EnumRegisterPresetStatusEnumTypeWrapper(
REGISTER_PRESET_STATUS_PRESET_GROUP_ARRAY: _EnumRegisterPresetStatus.ValueType
"Send notification when properties of a preset group change"
-class EnumRegisterPresetStatus(_EnumRegisterPresetStatus, metaclass=_EnumRegisterPresetStatusEnumTypeWrapper): ...
+class EnumRegisterPresetStatus(
+ _EnumRegisterPresetStatus, metaclass=_EnumRegisterPresetStatusEnumTypeWrapper
+): ...
REGISTER_PRESET_STATUS_PRESET: EnumRegisterPresetStatus.ValueType
"Send notification when properties of a preset change"
@@ -65,20 +69,28 @@ class RequestGetPresetStatus(google.protobuf.message.Message):
@property
def register_preset_status(
self,
- ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___EnumRegisterPresetStatus.ValueType]:
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
+ global___EnumRegisterPresetStatus.ValueType
+ ]:
"""Array of Preset statuses to be notified about"""
@property
def unregister_preset_status(
self,
- ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___EnumRegisterPresetStatus.ValueType]:
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
+ global___EnumRegisterPresetStatus.ValueType
+ ]:
"""Array of Preset statuses to stop being notified about"""
def __init__(
self,
*,
- register_preset_status: collections.abc.Iterable[global___EnumRegisterPresetStatus.ValueType] | None = ...,
- unregister_preset_status: collections.abc.Iterable[global___EnumRegisterPresetStatus.ValueType] | None = ...
+ register_preset_status: (
+ collections.abc.Iterable[global___EnumRegisterPresetStatus.ValueType] | None
+ ) = ...,
+ unregister_preset_status: (
+ collections.abc.Iterable[global___EnumRegisterPresetStatus.ValueType] | None
+ ) = ...
) -> None: ...
def ClearField(
self,
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/response_generic_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/response_generic_pb2.py
index 606cb90d..7af4a3e1 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/response_generic_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/response_generic_pb2.py
@@ -1,6 +1,3 @@
-# response_generic_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/response_generic_pb2.pyi b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/response_generic_pb2.pyi
index 85655c36..5d671591 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/response_generic_pb2.pyi
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/response_generic_pb2.pyi
@@ -23,7 +23,9 @@ class _EnumResultGeneric:
V: typing_extensions.TypeAlias = ValueType
class _EnumResultGenericEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumResultGeneric.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumResultGeneric.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -35,7 +37,9 @@ class _EnumResultGenericEnumTypeWrapper(
RESULT_ARGUMENT_INVALID: _EnumResultGeneric.ValueType
RESULT_RESOURCE_NOT_AVAILABLE: _EnumResultGeneric.ValueType
-class EnumResultGeneric(_EnumResultGeneric, metaclass=_EnumResultGenericEnumTypeWrapper): ...
+class EnumResultGeneric(
+ _EnumResultGeneric, metaclass=_EnumResultGenericEnumTypeWrapper
+): ...
RESULT_UNKNOWN: EnumResultGeneric.ValueType
RESULT_SUCCESS: EnumResultGeneric.ValueType
@@ -57,9 +61,15 @@ class ResponseGeneric(google.protobuf.message.Message):
result: global___EnumResultGeneric.ValueType
"Generic pass/fail/error info"
- def __init__(self, *, result: global___EnumResultGeneric.ValueType | None = ...) -> None: ...
- def HasField(self, field_name: typing_extensions.Literal["result", b"result"]) -> builtins.bool: ...
- def ClearField(self, field_name: typing_extensions.Literal["result", b"result"]) -> None: ...
+ def __init__(
+ self, *, result: global___EnumResultGeneric.ValueType | None = ...
+ ) -> None: ...
+ def HasField(
+ self, field_name: typing_extensions.Literal["result", b"result"]
+ ) -> builtins.bool: ...
+ def ClearField(
+ self, field_name: typing_extensions.Literal["result", b"result"]
+ ) -> None: ...
global___ResponseGeneric = ResponseGeneric
@@ -77,7 +87,9 @@ class Media(google.protobuf.message.Message):
file: builtins.str
"Filename of media"
- def __init__(self, *, folder: builtins.str | None = ..., file: builtins.str | None = ...) -> None: ...
+ def __init__(
+ self, *, folder: builtins.str | None = ..., file: builtins.str | None = ...
+ ) -> None: ...
def HasField(
self,
field_name: typing_extensions.Literal["file", b"file", "folder", b"folder"],
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/set_camera_control_status_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/set_camera_control_status_pb2.py
index cb87c10f..ddeccb53 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/set_camera_control_status_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/set_camera_control_status_pb2.py
@@ -1,6 +1,3 @@
-# set_camera_control_status_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
@@ -10,13 +7,15 @@
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
- b'\n\x1fset_camera_control_status.proto\x12\nopen_gopro"c\n\x1dRequestSetCameraControlStatus\x12B\n\x15camera_control_status\x18\x01 \x02(\x0e2#.open_gopro.EnumCameraControlStatus*[\n\x17EnumCameraControlStatus\x12\x0f\n\x0bCAMERA_IDLE\x10\x00\x12\x12\n\x0eCAMERA_CONTROL\x10\x01\x12\x1b\n\x17CAMERA_EXTERNAL_CONTROL\x10\x02'
+ b'\n\x1fset_camera_control_status.proto\x12\nopen_gopro"c\n\x1dRequestSetCameraControlStatus\x12B\n\x15camera_control_status\x18\x01 \x02(\x0e2#.open_gopro.EnumCameraControlStatus*q\n\x17EnumCameraControlStatus\x12\x0f\n\x0bCAMERA_IDLE\x10\x00\x12\x12\n\x0eCAMERA_CONTROL\x10\x01\x12\x1b\n\x17CAMERA_EXTERNAL_CONTROL\x10\x02\x12\x14\n\x10CAMERA_COF_SETUP\x10\x03'
)
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
-_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "set_camera_control_status_pb2", globals())
+_builder.BuildTopDescriptorsAndMessages(
+ DESCRIPTOR, "set_camera_control_status_pb2", globals()
+)
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
_ENUMCAMERACONTROLSTATUS._serialized_start = 148
- _ENUMCAMERACONTROLSTATUS._serialized_end = 239
+ _ENUMCAMERACONTROLSTATUS._serialized_end = 261
_REQUESTSETCAMERACONTROLSTATUS._serialized_start = 47
_REQUESTSETCAMERACONTROLSTATUS._serialized_end = 146
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/set_camera_control_status_pb2.pyi b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/set_camera_control_status_pb2.pyi
index 37b27336..4501df3d 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/set_camera_control_status_pb2.pyi
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/set_camera_control_status_pb2.pyi
@@ -23,7 +23,9 @@ class _EnumCameraControlStatus:
V: typing_extensions.TypeAlias = ValueType
class _EnumCameraControlStatusEnumTypeWrapper(
- google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EnumCameraControlStatus.ValueType],
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
+ _EnumCameraControlStatus.ValueType
+ ],
builtins.type,
):
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
@@ -31,13 +33,19 @@ class _EnumCameraControlStatusEnumTypeWrapper(
CAMERA_CONTROL: _EnumCameraControlStatus.ValueType
"Can only be set by camera, not by app or third party"
CAMERA_EXTERNAL_CONTROL: _EnumCameraControlStatus.ValueType
+ CAMERA_COF_SETUP: _EnumCameraControlStatus.ValueType
+ "Set by the camera when it is on the CAH (Camera As a Hub) / COF (Cloud OFfload) setup screen"
-class EnumCameraControlStatus(_EnumCameraControlStatus, metaclass=_EnumCameraControlStatusEnumTypeWrapper): ...
+class EnumCameraControlStatus(
+ _EnumCameraControlStatus, metaclass=_EnumCameraControlStatusEnumTypeWrapper
+): ...
CAMERA_IDLE: EnumCameraControlStatus.ValueType
CAMERA_CONTROL: EnumCameraControlStatus.ValueType
"Can only be set by camera, not by app or third party"
CAMERA_EXTERNAL_CONTROL: EnumCameraControlStatus.ValueType
+CAMERA_COF_SETUP: EnumCameraControlStatus.ValueType
+"Set by the camera when it is on the CAH (Camera As a Hub) / COF (Cloud OFfload) setup screen"
global___EnumCameraControlStatus = EnumCameraControlStatus
@typing_extensions.final
@@ -61,14 +69,22 @@ class RequestSetCameraControlStatus(google.protobuf.message.Message):
camera_control_status: global___EnumCameraControlStatus.ValueType
"Declare who is taking control of the camera"
- def __init__(self, *, camera_control_status: global___EnumCameraControlStatus.ValueType | None = ...) -> None: ...
+ def __init__(
+ self,
+ *,
+ camera_control_status: global___EnumCameraControlStatus.ValueType | None = ...
+ ) -> None: ...
def HasField(
self,
- field_name: typing_extensions.Literal["camera_control_status", b"camera_control_status"],
+ field_name: typing_extensions.Literal[
+ "camera_control_status", b"camera_control_status"
+ ],
) -> builtins.bool: ...
def ClearField(
self,
- field_name: typing_extensions.Literal["camera_control_status", b"camera_control_status"],
+ field_name: typing_extensions.Literal[
+ "camera_control_status", b"camera_control_status"
+ ],
) -> None: ...
global___RequestSetCameraControlStatus = RequestSetCameraControlStatus
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/turbo_transfer_pb2.py b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/turbo_transfer_pb2.py
index 35a4682d..d33378d6 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/turbo_transfer_pb2.py
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/turbo_transfer_pb2.py
@@ -1,6 +1,3 @@
-# turbo_transfer_pb2.py/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
-# This copyright was auto-generated on Fri Apr 19 21:27:07 UTC 2024
-
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
diff --git a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/turbo_transfer_pb2.pyi b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/turbo_transfer_pb2.pyi
index 0c79e66a..d02fc22a 100644
--- a/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/turbo_transfer_pb2.pyi
+++ b/demos/python/tutorial/tutorial_modules/tutorial_5_ble_protobuf/proto/turbo_transfer_pb2.pyi
@@ -30,7 +30,11 @@ class RequestSetTurboActive(google.protobuf.message.Message):
"Enable or disable Turbo Transfer feature"
def __init__(self, *, active: builtins.bool | None = ...) -> None: ...
- def HasField(self, field_name: typing_extensions.Literal["active", b"active"]) -> builtins.bool: ...
- def ClearField(self, field_name: typing_extensions.Literal["active", b"active"]) -> None: ...
+ def HasField(
+ self, field_name: typing_extensions.Literal["active", b"active"]
+ ) -> builtins.bool: ...
+ def ClearField(
+ self, field_name: typing_extensions.Literal["active", b"active"]
+ ) -> None: ...
global___RequestSetTurboActive = RequestSetTurboActive