preset_status.proto 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. /* preset_status.proto/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
  2. /* This copyright was auto-generated on Mon Nov 4 18:00:55 UTC 2024 */
  3. /***********************************************************************************************************************
  4. *
  5. * This file is automatically generated!!! Do not modify manually.
  6. *
  7. **********************************************************************************************************************/
  8. /**
  9. * Defines the structure of protobuf message received from camera containing preset status
  10. */
  11. syntax = "proto2";
  12. package open_gopro;
  13. import "response_generic.proto";
  14. enum EnumFlatMode {
  15. FLAT_MODE_UNKNOWN = -1;
  16. FLAT_MODE_PLAYBACK = 4;
  17. FLAT_MODE_SETUP = 5;
  18. FLAT_MODE_VIDEO = 12;
  19. FLAT_MODE_TIME_LAPSE_VIDEO = 13;
  20. FLAT_MODE_LOOPING = 15;
  21. FLAT_MODE_PHOTO_SINGLE = 16;
  22. FLAT_MODE_PHOTO = 17;
  23. FLAT_MODE_PHOTO_NIGHT = 18;
  24. FLAT_MODE_PHOTO_BURST = 19;
  25. FLAT_MODE_TIME_LAPSE_PHOTO = 20;
  26. FLAT_MODE_NIGHT_LAPSE_PHOTO = 21;
  27. FLAT_MODE_BROADCAST_RECORD = 22;
  28. FLAT_MODE_BROADCAST_BROADCAST = 23;
  29. FLAT_MODE_TIME_WARP_VIDEO = 24;
  30. FLAT_MODE_LIVE_BURST = 25;
  31. FLAT_MODE_NIGHT_LAPSE_VIDEO = 26;
  32. FLAT_MODE_SLOMO = 27;
  33. FLAT_MODE_IDLE = 28;
  34. FLAT_MODE_VIDEO_STAR_TRAIL = 29;
  35. FLAT_MODE_VIDEO_LIGHT_PAINTING = 30;
  36. FLAT_MODE_VIDEO_LIGHT_TRAIL = 31;
  37. FLAT_MODE_VIDEO_BURST_SLOMO = 32;
  38. }
  39. enum EnumPresetGroup {
  40. PRESET_GROUP_ID_VIDEO = 1000;
  41. PRESET_GROUP_ID_PHOTO = 1001;
  42. PRESET_GROUP_ID_TIMELAPSE = 1002;
  43. }
  44. enum EnumPresetGroupIcon {
  45. PRESET_GROUP_VIDEO_ICON_ID = 0;
  46. PRESET_GROUP_PHOTO_ICON_ID = 1;
  47. PRESET_GROUP_TIMELAPSE_ICON_ID = 2;
  48. PRESET_GROUP_LONG_BAT_VIDEO_ICON_ID = 3;
  49. PRESET_GROUP_ENDURANCE_VIDEO_ICON_ID = 4;
  50. PRESET_GROUP_MAX_VIDEO_ICON_ID = 5;
  51. PRESET_GROUP_MAX_PHOTO_ICON_ID = 6;
  52. PRESET_GROUP_MAX_TIMELAPSE_ICON_ID = 7;
  53. PRESET_GROUP_ND_MOD_VIDEO_ICON_ID = 8;
  54. PRESET_GROUP_ND_MOD_PHOTO_ICON_ID = 9;
  55. PRESET_GROUP_ND_MOD_TIMELAPSE_ICON_ID = 10;
  56. }
  57. enum EnumPresetIcon {
  58. PRESET_ICON_VIDEO = 0;
  59. PRESET_ICON_ACTIVITY = 1;
  60. PRESET_ICON_CINEMATIC = 2;
  61. PRESET_ICON_PHOTO = 3;
  62. PRESET_ICON_LIVE_BURST = 4;
  63. PRESET_ICON_BURST = 5;
  64. PRESET_ICON_PHOTO_NIGHT = 6;
  65. PRESET_ICON_TIMEWARP = 7;
  66. PRESET_ICON_TIMELAPSE = 8;
  67. PRESET_ICON_NIGHTLAPSE = 9;
  68. PRESET_ICON_SNAIL = 10;
  69. PRESET_ICON_VIDEO_2 = 11;
  70. PRESET_ICON_PHOTO_2 = 13;
  71. PRESET_ICON_PANORAMA = 14;
  72. PRESET_ICON_BURST_2 = 15;
  73. PRESET_ICON_TIMEWARP_2 = 16;
  74. PRESET_ICON_TIMELAPSE_2 = 17;
  75. PRESET_ICON_CUSTOM = 18;
  76. PRESET_ICON_AIR = 19;
  77. PRESET_ICON_BIKE = 20;
  78. PRESET_ICON_EPIC = 21;
  79. PRESET_ICON_INDOOR = 22;
  80. PRESET_ICON_MOTOR = 23;
  81. PRESET_ICON_MOUNTED = 24;
  82. PRESET_ICON_OUTDOOR = 25;
  83. PRESET_ICON_POV = 26;
  84. PRESET_ICON_SELFIE = 27;
  85. PRESET_ICON_SKATE = 28;
  86. PRESET_ICON_SNOW = 29;
  87. PRESET_ICON_TRAIL = 30;
  88. PRESET_ICON_TRAVEL = 31;
  89. PRESET_ICON_WATER = 32;
  90. PRESET_ICON_LOOPING = 33;
  91. PRESET_ICON_STARS = 34;
  92. PRESET_ICON_ACTION = 35;
  93. PRESET_ICON_FOLLOW_CAM = 36;
  94. PRESET_ICON_SURF = 37;
  95. PRESET_ICON_CITY = 38;
  96. PRESET_ICON_SHAKY = 39;
  97. PRESET_ICON_CHESTY = 40;
  98. PRESET_ICON_HELMET = 41;
  99. PRESET_ICON_BITE = 42;
  100. PRESET_ICON_CUSTOM_CINEMATIC = 43;
  101. PRESET_ICON_VLOG = 44;
  102. PRESET_ICON_FPV = 45;
  103. PRESET_ICON_HDR = 46;
  104. PRESET_ICON_LANDSCAPE = 47;
  105. PRESET_ICON_LOG = 48;
  106. PRESET_ICON_CUSTOM_SLOMO = 49;
  107. PRESET_ICON_TRIPOD = 50;
  108. PRESET_ICON_MAX_VIDEO = 55;
  109. PRESET_ICON_MAX_PHOTO = 56;
  110. PRESET_ICON_MAX_TIMEWARP = 57;
  111. PRESET_ICON_BASIC = 58;
  112. PRESET_ICON_ULTRA_SLO_MO = 59;
  113. PRESET_ICON_STANDARD_ENDURANCE = 60;
  114. PRESET_ICON_ACTIVITY_ENDURANCE = 61;
  115. PRESET_ICON_CINEMATIC_ENDURANCE = 62;
  116. PRESET_ICON_SLOMO_ENDURANCE = 63;
  117. PRESET_ICON_STATIONARY_1 = 64;
  118. PRESET_ICON_STATIONARY_2 = 65;
  119. PRESET_ICON_STATIONARY_3 = 66;
  120. PRESET_ICON_STATIONARY_4 = 67;
  121. PRESET_ICON_SIMPLE_SUPER_PHOTO = 70;
  122. PRESET_ICON_SIMPLE_NIGHT_PHOTO = 71;
  123. PRESET_ICON_HIGHEST_QUALITY_VIDEO = 73;
  124. PRESET_ICON_STANDARD_QUALITY_VIDEO = 74;
  125. PRESET_ICON_BASIC_QUALITY_VIDEO = 75;
  126. PRESET_ICON_STAR_TRAIL = 76;
  127. PRESET_ICON_LIGHT_PAINTING = 77;
  128. PRESET_ICON_LIGHT_TRAIL = 78;
  129. PRESET_ICON_FULL_FRAME = 79;
  130. PRESET_ICON_EASY_MAX_VIDEO = 80;
  131. PRESET_ICON_EASY_MAX_PHOTO = 81;
  132. PRESET_ICON_EASY_MAX_TIMEWARP = 82;
  133. PRESET_ICON_EASY_MAX_STAR_TRAIL = 83;
  134. PRESET_ICON_EASY_MAX_LIGHT_PAINTING = 84;
  135. PRESET_ICON_EASY_MAX_LIGHT_TRAIL = 85;
  136. PRESET_ICON_MAX_STAR_TRAIL = 89;
  137. PRESET_ICON_MAX_LIGHT_PAINTING = 90;
  138. PRESET_ICON_MAX_LIGHT_TRAIL = 91;
  139. PRESET_ICON_EASY_STANDARD_PROFILE = 100;
  140. PRESET_ICON_EASY_HDR_PROFILE = 101;
  141. PRESET_ICON_BURST_SLOMO = 102;
  142. PRESET_ICON_TIMELAPSE_PHOTO = 1000;
  143. PRESET_ICON_NIGHTLAPSE_PHOTO = 1001;
  144. }
  145. enum EnumPresetTitle {
  146. PRESET_TITLE_ACTIVITY = 0;
  147. PRESET_TITLE_STANDARD = 1;
  148. PRESET_TITLE_CINEMATIC = 2;
  149. PRESET_TITLE_PHOTO = 3;
  150. PRESET_TITLE_LIVE_BURST = 4;
  151. PRESET_TITLE_BURST = 5;
  152. PRESET_TITLE_NIGHT = 6;
  153. PRESET_TITLE_TIME_WARP = 7;
  154. PRESET_TITLE_TIME_LAPSE = 8;
  155. PRESET_TITLE_NIGHT_LAPSE = 9;
  156. PRESET_TITLE_VIDEO = 10;
  157. PRESET_TITLE_SLOMO = 11;
  158. PRESET_TITLE_PHOTO_2 = 13;
  159. PRESET_TITLE_PANORAMA = 14;
  160. PRESET_TITLE_TIME_WARP_2 = 16;
  161. PRESET_TITLE_CUSTOM = 18;
  162. PRESET_TITLE_AIR = 19;
  163. PRESET_TITLE_BIKE = 20;
  164. PRESET_TITLE_EPIC = 21;
  165. PRESET_TITLE_INDOOR = 22;
  166. PRESET_TITLE_MOTOR = 23;
  167. PRESET_TITLE_MOUNTED = 24;
  168. PRESET_TITLE_OUTDOOR = 25;
  169. PRESET_TITLE_POV = 26;
  170. PRESET_TITLE_SELFIE = 27;
  171. PRESET_TITLE_SKATE = 28;
  172. PRESET_TITLE_SNOW = 29;
  173. PRESET_TITLE_TRAIL = 30;
  174. PRESET_TITLE_TRAVEL = 31;
  175. PRESET_TITLE_WATER = 32;
  176. PRESET_TITLE_LOOPING = 33;
  177. PRESET_TITLE_STARS = 34;
  178. PRESET_TITLE_ACTION = 35;
  179. PRESET_TITLE_FOLLOW_CAM = 36;
  180. PRESET_TITLE_SURF = 37;
  181. PRESET_TITLE_CITY = 38;
  182. PRESET_TITLE_SHAKY = 39;
  183. PRESET_TITLE_CHESTY = 40;
  184. PRESET_TITLE_HELMET = 41;
  185. PRESET_TITLE_BITE = 42;
  186. PRESET_TITLE_CUSTOM_CINEMATIC = 43;
  187. PRESET_TITLE_VLOG = 44;
  188. PRESET_TITLE_FPV = 45;
  189. PRESET_TITLE_HDR = 46;
  190. PRESET_TITLE_LANDSCAPE = 47;
  191. PRESET_TITLE_LOG = 48;
  192. PRESET_TITLE_CUSTOM_SLOMO = 49;
  193. PRESET_TITLE_TRIPOD = 50;
  194. PRESET_TITLE_BASIC = 58;
  195. PRESET_TITLE_ULTRA_SLO_MO = 59;
  196. PRESET_TITLE_STANDARD_ENDURANCE = 60;
  197. PRESET_TITLE_ACTIVITY_ENDURANCE = 61;
  198. PRESET_TITLE_CINEMATIC_ENDURANCE = 62;
  199. PRESET_TITLE_SLOMO_ENDURANCE = 63;
  200. PRESET_TITLE_STATIONARY_1 = 64;
  201. PRESET_TITLE_STATIONARY_2 = 65;
  202. PRESET_TITLE_STATIONARY_3 = 66;
  203. PRESET_TITLE_STATIONARY_4 = 67;
  204. PRESET_TITLE_SIMPLE_VIDEO = 68;
  205. PRESET_TITLE_SIMPLE_TIME_WARP = 69;
  206. PRESET_TITLE_SIMPLE_SUPER_PHOTO = 70;
  207. PRESET_TITLE_SIMPLE_NIGHT_PHOTO = 71;
  208. PRESET_TITLE_SIMPLE_VIDEO_ENDURANCE = 72;
  209. PRESET_TITLE_HIGHEST_QUALITY = 73;
  210. PRESET_TITLE_EXTENDED_BATTERY = 74;
  211. PRESET_TITLE_LONGEST_BATTERY = 75;
  212. PRESET_TITLE_STAR_TRAIL = 76;
  213. PRESET_TITLE_LIGHT_PAINTING = 77;
  214. PRESET_TITLE_LIGHT_TRAIL = 78;
  215. PRESET_TITLE_FULL_FRAME = 79;
  216. PRESET_TITLE_STANDARD_QUALITY_VIDEO = 82;
  217. PRESET_TITLE_BASIC_QUALITY_VIDEO = 83;
  218. PRESET_TITLE_HIGHEST_QUALITY_VIDEO = 93;
  219. PRESET_TITLE_USER_DEFINED_CUSTOM_NAME = 94;
  220. PRESET_TITLE_EASY_STANDARD_PROFILE = 99;
  221. PRESET_TITLE_EASY_HDR_PROFILE = 100;
  222. PRESET_TITLE_BURST_SLOMO = 106;
  223. PRESET_TITLE_4_3_VIDEO = 125;
  224. PRESET_TITLE_16_9_VIDEO = 126;
  225. PRESET_TITLE_16_9_SLOMO = 127;
  226. }
  227. /**
  228. * Current Preset status
  229. *
  230. * Sent either:
  231. *
  232. * - Synchronously via initial response to @ref RequestGetPresetStatus
  233. * - Asynchronously when Preset change if registered in @ref RequestGetPresetStatus
  234. */
  235. message NotifyPresetStatus {
  236. repeated PresetGroup preset_group_array = 1; // List of currently available Preset Groups
  237. }
  238. /**
  239. * An individual preset.
  240. */
  241. message Preset {
  242. optional int32 id = 1; // Preset ID
  243. optional EnumFlatMode mode = 2; // Preset flatmode ID
  244. optional EnumPresetTitle title_id = 3; // Preset Title ID
  245. optional int32 title_number = 4; // Preset Title Number (e.g. 1/2/3 in Custom1, Custom2, Custom3)
  246. optional bool user_defined = 5; // Is the Preset custom/user-defined?
  247. optional EnumPresetIcon icon = 6; // Preset Icon ID
  248. repeated PresetSetting setting_array = 7; // Array of settings associated with this Preset
  249. optional bool is_modified = 8; // Has Preset been modified from factory defaults? (False for user-defined Presets)
  250. optional bool is_fixed = 9; // Is this Preset mutable?
  251. optional string custom_name = 10; // Custom string name given to this preset via @ref RequestCustomPresetUpdate
  252. }
  253. /**
  254. * Request to Update the Title and / or Icon of the Active Custom Preset
  255. *
  256. * This only operates on the currently active Preset and will fail if the current
  257. * Preset is not custom.
  258. *
  259. * The use cases are:
  260. *
  261. * 1. Update the Custom Preset Icon
  262. *
  263. * - `icon_id` is always optional and can always be passed
  264. *
  265. * and / or
  266. *
  267. * 2. Update the Custom Preset Title to a...
  268. *
  269. * - **Factory Preset Title**: Set `title_id` to a non-PRESET_TITLE_USER_DEFINED_CUSTOM_NAME (94) value
  270. * - **Custom Preset Name**: Set `title_id` to PRESET_TITLE_USER_DEFINED_CUSTOM_NAME (94) and specify a `custom_name`
  271. *
  272. * Returns a @ref ResponseGeneric with the status of the preset update request.
  273. */
  274. message RequestCustomPresetUpdate {
  275. /**
  276. * Preset Title ID
  277. *
  278. * The range of acceptable custom title ID's can be found in the initial @ref NotifyPresetStatus response
  279. * to @ref RequestGetPresetStatus
  280. */
  281. optional EnumPresetTitle title_id = 1;
  282. /**
  283. * UTF-8 encoded custom preset name to be used if `title_id` is set to 94 (PRESET_TITLE_USER_DEFINED_CUSTOM_NAME)
  284. *
  285. * The name must obey the following:
  286. *
  287. * - Custom titles must be between 1 and 16 characters (inclusive)
  288. * - No special characters outside of the following languages: English, French, Italian, German,
  289. * Spanish, Portuguese, Swedish, Russian
  290. */
  291. optional string custom_name = 2;
  292. /**
  293. * Preset Icon ID
  294. *
  295. * The range of acceptable custom icon ID's can be found in the initial @ref NotifyPresetStatus response to
  296. * @ref RequestGetPresetStatus
  297. */
  298. optional EnumPresetIcon icon_id = 3;
  299. }
  300. /*
  301. * Preset Group meta information and contained Presets
  302. */
  303. message PresetGroup {
  304. optional EnumPresetGroup id = 1; // Preset Group ID
  305. repeated Preset preset_array = 2; // Array of Presets contained in this Preset Group
  306. optional bool can_add_preset = 3; // Is there room in the group to add additional Presets?
  307. optional EnumPresetGroupIcon icon = 4; // The icon to display for this preset group
  308. repeated EnumFlatMode mode_array = 5; // A list of flatmodes available for this preset group
  309. }
  310. /**
  311. * Setting representation that comprises a @ref Preset
  312. */
  313. message PresetSetting {
  314. optional int32 id = 1; // Setting ID
  315. optional int32 value = 2; // Setting value
  316. optional bool is_caption = 3; // Does this setting appear on the Preset "pill" in the camera UI?
  317. }