@bharper/atv-js 0.2.6 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/dist/index.d.ts +15 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +89 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/mdns.d.ts.map +1 -1
  6. package/dist/mdns.js +96 -11
  7. package/dist/mdns.js.map +1 -1
  8. package/examples/print-device-json.js +22 -0
  9. package/package.json +2 -3
  10. package/pyatv/.codecov.yml +38 -0
  11. package/pyatv/.github/FUNDING.yml +3 -0
  12. package/pyatv/.github/ISSUE_TEMPLATE/bug_report.yml +80 -0
  13. package/pyatv/.github/ISSUE_TEMPLATE/config.yml +1 -0
  14. package/pyatv/.github/ISSUE_TEMPLATE/feature_request.yml +22 -0
  15. package/pyatv/.github/ISSUE_TEMPLATE/implementation-proposal.yml +29 -0
  16. package/pyatv/.github/ISSUE_TEMPLATE/investigation.yml +16 -0
  17. package/pyatv/.github/ISSUE_TEMPLATE/minor-change.yml +10 -0
  18. package/pyatv/.github/ISSUE_TEMPLATE/question-or-idea.yml +11 -0
  19. package/pyatv/.github/dependabot.yml +26 -0
  20. package/pyatv/.github/workflows/codeql-analysis.yml +71 -0
  21. package/pyatv/.github/workflows/release.yml +160 -0
  22. package/pyatv/.github/workflows/tests.yml +104 -0
  23. package/pyatv/.gitpod.yml +23 -0
  24. package/pyatv/CHANGES.md +3708 -0
  25. package/pyatv/CODE_OF_CONDUCT.md +76 -0
  26. package/pyatv/CONTRIBUTING.md +72 -0
  27. package/pyatv/CONTRIBUTORS.md +3 -0
  28. package/pyatv/Dockerfile +15 -0
  29. package/pyatv/LICENSE.md +9 -0
  30. package/pyatv/MANIFEST.in +14 -0
  31. package/pyatv/README.md +111 -0
  32. package/pyatv/base_versions.txt +13 -0
  33. package/pyatv/chickn.yaml +75 -0
  34. package/pyatv/docs/404.html +24 -0
  35. package/pyatv/docs/CNAME +1 -0
  36. package/pyatv/docs/Gemfile +31 -0
  37. package/pyatv/docs/_config.yml +121 -0
  38. package/pyatv/docs/_includes/api +10 -0
  39. package/pyatv/docs/_includes/atvremote_scan +32 -0
  40. package/pyatv/docs/_includes/code +6 -0
  41. package/pyatv/docs/_includes/issue +14 -0
  42. package/pyatv/docs/_includes/pypi +5 -0
  43. package/pyatv/docs/_layouts/template.html +109 -0
  44. package/pyatv/docs/api/pyatv.conf.html +312 -0
  45. package/pyatv/docs/api/pyatv.const.html +974 -0
  46. package/pyatv/docs/api/pyatv.convert.html +106 -0
  47. package/pyatv/docs/api/pyatv.exceptions.html +489 -0
  48. package/pyatv/docs/api/pyatv.helpers.html +102 -0
  49. package/pyatv/docs/api/pyatv.html +120 -0
  50. package/pyatv/docs/api/pyatv.interface.html +2369 -0
  51. package/pyatv/docs/api/pyatv.settings.html +484 -0
  52. package/pyatv/docs/api/pyatv.storage.file_storage.html +102 -0
  53. package/pyatv/docs/api/pyatv.storage.html +186 -0
  54. package/pyatv/docs/api/pyatv.storage.memory_storage.html +83 -0
  55. package/pyatv/docs/assets/css/custom.css +19 -0
  56. package/pyatv/docs/assets/css/hljs.css +1 -0
  57. package/pyatv/docs/assets/css/normalize.css +349 -0
  58. package/pyatv/docs/assets/css/pdoc.css +287 -0
  59. package/pyatv/docs/assets/css/sanitize.css +566 -0
  60. package/pyatv/docs/assets/css/style.scss +9 -0
  61. package/pyatv/docs/assets/img/logo.svg +63 -0
  62. package/pyatv/docs/assets/js/highlight.9.12.0.min.js +3 -0
  63. package/pyatv/docs/assets/js/mermaid.8.9.2.min.js +32 -0
  64. package/pyatv/docs/assets/js/mermaid.min.js.map +1 -0
  65. package/pyatv/docs/development/apps.md +81 -0
  66. package/pyatv/docs/development/audio.md +42 -0
  67. package/pyatv/docs/development/control.md +56 -0
  68. package/pyatv/docs/development/development.md +15 -0
  69. package/pyatv/docs/development/device_info.md +36 -0
  70. package/pyatv/docs/development/examples.md +44 -0
  71. package/pyatv/docs/development/features.md +70 -0
  72. package/pyatv/docs/development/keyboard.md +51 -0
  73. package/pyatv/docs/development/listeners.md +144 -0
  74. package/pyatv/docs/development/logging.md +55 -0
  75. package/pyatv/docs/development/metadata.md +115 -0
  76. package/pyatv/docs/development/power_management.md +53 -0
  77. package/pyatv/docs/development/scan_pair_and_connect.md +331 -0
  78. package/pyatv/docs/development/services.md +9 -0
  79. package/pyatv/docs/development/storage.md +259 -0
  80. package/pyatv/docs/development/stream.md +241 -0
  81. package/pyatv/docs/development/testing.md +9 -0
  82. package/pyatv/docs/documentation/atvlog.md +64 -0
  83. package/pyatv/docs/documentation/atvproxy.md +244 -0
  84. package/pyatv/docs/documentation/atvremote.md +639 -0
  85. package/pyatv/docs/documentation/atvscript.md +275 -0
  86. package/pyatv/docs/documentation/concepts.md +168 -0
  87. package/pyatv/docs/documentation/documentation.md +130 -0
  88. package/pyatv/docs/documentation/getting_started.md +248 -0
  89. package/pyatv/docs/documentation/protocols.md +1959 -0
  90. package/pyatv/docs/documentation/supported_features.md +246 -0
  91. package/pyatv/docs/documentation/tutorial.md +1062 -0
  92. package/pyatv/docs/documentation/workspace.code-workspace +7 -0
  93. package/pyatv/docs/favicon.ico +0 -0
  94. package/pyatv/docs/index.md +109 -0
  95. package/pyatv/docs/internals/design.md +354 -0
  96. package/pyatv/docs/internals/documentation.md +84 -0
  97. package/pyatv/docs/internals/interfaces.md +95 -0
  98. package/pyatv/docs/internals/internals.md +157 -0
  99. package/pyatv/docs/internals/submit_pr.md +56 -0
  100. package/pyatv/docs/internals/testing.md +176 -0
  101. package/pyatv/docs/internals/tools.md +574 -0
  102. package/pyatv/docs/pdoc_templates/config.mako +46 -0
  103. package/pyatv/docs/pdoc_templates/html.mako +454 -0
  104. package/pyatv/docs/support/acknowledgements.md +87 -0
  105. package/pyatv/docs/support/faq.md +214 -0
  106. package/pyatv/docs/support/migration.md +138 -0
  107. package/pyatv/docs/support/scanning_issues.md +110 -0
  108. package/pyatv/docs/support/support.md +18 -0
  109. package/pyatv/docs/support/troubleshooting.md +83 -0
  110. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeMessage.proto +13 -0
  111. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeMessage_pb2.pyi +37 -0
  112. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeResponseMessage.proto +11 -0
  113. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeResponseMessage_pb2.pyi +32 -0
  114. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFormatSettingsMessage.proto +5 -0
  115. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFormatSettingsMessage_pb2.pyi +27 -0
  116. package/pyatv/pyatv/protocols/mrp/protobuf/ClientUpdatesConfigMessage.proto +16 -0
  117. package/pyatv/pyatv/protocols/mrp/protobuf/ClientUpdatesConfigMessage_pb2.pyi +44 -0
  118. package/pyatv/pyatv/protocols/mrp/protobuf/CommandInfo.proto +117 -0
  119. package/pyatv/pyatv/protocols/mrp/protobuf/CommandInfo_pb2.pyi +325 -0
  120. package/pyatv/pyatv/protocols/mrp/protobuf/CommandOptions.proto +36 -0
  121. package/pyatv/pyatv/protocols/mrp/protobuf/CommandOptions_pb2.pyi +115 -0
  122. package/pyatv/pyatv/protocols/mrp/protobuf/Common.proto +79 -0
  123. package/pyatv/pyatv/protocols/mrp/protobuf/Common_pb2.pyi +228 -0
  124. package/pyatv/pyatv/protocols/mrp/protobuf/ConfigureConnectionMessage.proto +11 -0
  125. package/pyatv/pyatv/protocols/mrp/protobuf/ConfigureConnectionMessage_pb2.pyi +32 -0
  126. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItem.proto +27 -0
  127. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItemMetadata.proto +213 -0
  128. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItemMetadata_pb2.pyi +630 -0
  129. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItem_pb2.pyi +94 -0
  130. package/pyatv/pyatv/protocols/mrp/protobuf/CryptoPairingMessage.proto +15 -0
  131. package/pyatv/pyatv/protocols/mrp/protobuf/CryptoPairingMessage_pb2.pyi +46 -0
  132. package/pyatv/pyatv/protocols/mrp/protobuf/DeviceInfoMessage.proto +69 -0
  133. package/pyatv/pyatv/protocols/mrp/protobuf/DeviceInfoMessage_pb2.pyi +226 -0
  134. package/pyatv/pyatv/protocols/mrp/protobuf/GenericMessage.proto +12 -0
  135. package/pyatv/pyatv/protocols/mrp/protobuf/GenericMessage_pb2.pyi +35 -0
  136. package/pyatv/pyatv/protocols/mrp/protobuf/GetKeyboardSessionMessage.proto +11 -0
  137. package/pyatv/pyatv/protocols/mrp/protobuf/GetKeyboardSessionMessage_pb2.pyi +26 -0
  138. package/pyatv/pyatv/protocols/mrp/protobuf/GetRemoteTextInputSessionMessage.proto +10 -0
  139. package/pyatv/pyatv/protocols/mrp/protobuf/GetRemoteTextInputSessionMessage_pb2.pyi +26 -0
  140. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeMessage.proto +11 -0
  141. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeMessage_pb2.pyi +32 -0
  142. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeResultMessage.proto +11 -0
  143. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeResultMessage_pb2.pyi +32 -0
  144. package/pyatv/pyatv/protocols/mrp/protobuf/KeyboardMessage.proto +88 -0
  145. package/pyatv/pyatv/protocols/mrp/protobuf/KeyboardMessage_pb2.pyi +261 -0
  146. package/pyatv/pyatv/protocols/mrp/protobuf/LanguageOption.proto +9 -0
  147. package/pyatv/pyatv/protocols/mrp/protobuf/LanguageOption_pb2.pyi +42 -0
  148. package/pyatv/pyatv/protocols/mrp/protobuf/ModifyOutputContextRequestMessage.proto +23 -0
  149. package/pyatv/pyatv/protocols/mrp/protobuf/ModifyOutputContextRequestMessage_pb2.pyi +86 -0
  150. package/pyatv/pyatv/protocols/mrp/protobuf/NotificationMessage.proto +12 -0
  151. package/pyatv/pyatv/protocols/mrp/protobuf/NotificationMessage_pb2.pyi +38 -0
  152. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingClient.proto +12 -0
  153. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingClient_pb2.pyi +49 -0
  154. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingInfo.proto +24 -0
  155. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingInfo_pb2.pyi +79 -0
  156. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingPlayer.proto +11 -0
  157. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingPlayer_pb2.pyi +45 -0
  158. package/pyatv/pyatv/protocols/mrp/protobuf/Origin.proto +17 -0
  159. package/pyatv/pyatv/protocols/mrp/protobuf/OriginClientPropertiesMessage.proto +11 -0
  160. package/pyatv/pyatv/protocols/mrp/protobuf/OriginClientPropertiesMessage_pb2.pyi +32 -0
  161. package/pyatv/pyatv/protocols/mrp/protobuf/Origin_pb2.pyi +63 -0
  162. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueue.proto +15 -0
  163. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueCapabilities.proto +7 -0
  164. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueCapabilities_pb2.pyi +33 -0
  165. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueContext.proto +5 -0
  166. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueContext_pb2.pyi +27 -0
  167. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueRequestMessage.proto +29 -0
  168. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueRequestMessage_pb2.pyi +87 -0
  169. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueue_pb2.pyi +53 -0
  170. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerClientPropertiesMessage.proto +13 -0
  171. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerClientPropertiesMessage_pb2.pyi +37 -0
  172. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerPath.proto +11 -0
  173. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerPath_pb2.pyi +39 -0
  174. package/pyatv/pyatv/protocols/mrp/protobuf/ProtocolMessage.proto +171 -0
  175. package/pyatv/pyatv/protocols/mrp/protobuf/ProtocolMessage_pb2.pyi +377 -0
  176. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterForGameControllerEventsMessage.proto +18 -0
  177. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterForGameControllerEventsMessage_pb2.pyi +54 -0
  178. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceMessage.proto +12 -0
  179. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceMessage_pb2.pyi +34 -0
  180. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceResultMessage.proto +12 -0
  181. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceResultMessage_pb2.pyi +35 -0
  182. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceMessage.proto +12 -0
  183. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceMessage_pb2.pyi +34 -0
  184. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceResponseMessage.proto +12 -0
  185. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceResponseMessage_pb2.pyi +35 -0
  186. package/pyatv/pyatv/protocols/mrp/protobuf/RemoteTextInputMessage.proto +13 -0
  187. package/pyatv/pyatv/protocols/mrp/protobuf/RemoteTextInputMessage_pb2.pyi +38 -0
  188. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveClientMessage.proto +12 -0
  189. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveClientMessage_pb2.pyi +34 -0
  190. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveEndpointsMessage.proto +11 -0
  191. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveEndpointsMessage_pb2.pyi +34 -0
  192. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveOutputDevicesMessage.proto +12 -0
  193. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveOutputDevicesMessage_pb2.pyi +38 -0
  194. package/pyatv/pyatv/protocols/mrp/protobuf/RemovePlayerMessage.proto +12 -0
  195. package/pyatv/pyatv/protocols/mrp/protobuf/RemovePlayerMessage_pb2.pyi +34 -0
  196. package/pyatv/pyatv/protocols/mrp/protobuf/SendButtonEventMessage.proto +13 -0
  197. package/pyatv/pyatv/protocols/mrp/protobuf/SendButtonEventMessage_pb2.pyi +38 -0
  198. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandMessage.proto +16 -0
  199. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandMessage_pb2.pyi +43 -0
  200. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandResultMessage.proto +100 -0
  201. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandResultMessage_pb2.pyi +286 -0
  202. package/pyatv/pyatv/protocols/mrp/protobuf/SendHIDEventMessage.proto +41 -0
  203. package/pyatv/pyatv/protocols/mrp/protobuf/SendHIDEventMessage_pb2.pyi +63 -0
  204. package/pyatv/pyatv/protocols/mrp/protobuf/SendPackedVirtualTouchEventMessage.proto +24 -0
  205. package/pyatv/pyatv/protocols/mrp/protobuf/SendPackedVirtualTouchEventMessage_pb2.pyi +64 -0
  206. package/pyatv/pyatv/protocols/mrp/protobuf/SendVoiceInputMessage.proto +38 -0
  207. package/pyatv/pyatv/protocols/mrp/protobuf/SendVoiceInputMessage_pb2.pyi +134 -0
  208. package/pyatv/pyatv/protocols/mrp/protobuf/SetArtworkMessage.proto +11 -0
  209. package/pyatv/pyatv/protocols/mrp/protobuf/SetArtworkMessage_pb2.pyi +32 -0
  210. package/pyatv/pyatv/protocols/mrp/protobuf/SetConnectionStateMessage.proto +18 -0
  211. package/pyatv/pyatv/protocols/mrp/protobuf/SetConnectionStateMessage_pb2.pyi +54 -0
  212. package/pyatv/pyatv/protocols/mrp/protobuf/SetDefaultSupportedCommandsMessage.proto +28 -0
  213. package/pyatv/pyatv/protocols/mrp/protobuf/SetDefaultSupportedCommandsMessage_pb2.pyi +74 -0
  214. package/pyatv/pyatv/protocols/mrp/protobuf/SetDiscoveryModeMessage.proto +12 -0
  215. package/pyatv/pyatv/protocols/mrp/protobuf/SetDiscoveryModeMessage_pb2.pyi +35 -0
  216. package/pyatv/pyatv/protocols/mrp/protobuf/SetHiliteModeMessage.proto +11 -0
  217. package/pyatv/pyatv/protocols/mrp/protobuf/SetHiliteModeMessage_pb2.pyi +32 -0
  218. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingClientMessage.proto +12 -0
  219. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingClientMessage_pb2.pyi +34 -0
  220. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingPlayerMessage.proto +12 -0
  221. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingPlayerMessage_pb2.pyi +34 -0
  222. package/pyatv/pyatv/protocols/mrp/protobuf/SetRecordingStateMessage.proto +17 -0
  223. package/pyatv/pyatv/protocols/mrp/protobuf/SetRecordingStateMessage_pb2.pyi +54 -0
  224. package/pyatv/pyatv/protocols/mrp/protobuf/SetStateMessage.proto +27 -0
  225. package/pyatv/pyatv/protocols/mrp/protobuf/SetStateMessage_pb2.pyi +72 -0
  226. package/pyatv/pyatv/protocols/mrp/protobuf/SetVolumeMessage.proto +12 -0
  227. package/pyatv/pyatv/protocols/mrp/protobuf/SetVolumeMessage_pb2.pyi +35 -0
  228. package/pyatv/pyatv/protocols/mrp/protobuf/SupportedCommands.proto +7 -0
  229. package/pyatv/pyatv/protocols/mrp/protobuf/SupportedCommands_pb2.pyi +30 -0
  230. package/pyatv/pyatv/protocols/mrp/protobuf/TextInputMessage.proto +23 -0
  231. package/pyatv/pyatv/protocols/mrp/protobuf/TextInputMessage_pb2.pyi +76 -0
  232. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionKey.proto +6 -0
  233. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionKey_pb2.pyi +30 -0
  234. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionMessage.proto +15 -0
  235. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionMessage_pb2.pyi +42 -0
  236. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPacket.proto +11 -0
  237. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPacket_pb2.pyi +41 -0
  238. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPackets.proto +7 -0
  239. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPackets_pb2.pyi +30 -0
  240. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateClientMessage.proto +12 -0
  241. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateClientMessage_pb2.pyi +34 -0
  242. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemArtworkMessage.proto +14 -0
  243. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemArtworkMessage_pb2.pyi +41 -0
  244. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemMessage.proto +14 -0
  245. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemMessage_pb2.pyi +41 -0
  246. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateEndPointsMessage.proto +25 -0
  247. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateEndPointsMessage_pb2.pyi +74 -0
  248. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateOutputDeviceMessage.proto +88 -0
  249. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateOutputDeviceMessage_pb2.pyi +277 -0
  250. package/pyatv/pyatv/protocols/mrp/protobuf/UpdatePlayerPath.proto +12 -0
  251. package/pyatv/pyatv/protocols/mrp/protobuf/UpdatePlayerPath_pb2.pyi +34 -0
  252. package/pyatv/pyatv/protocols/mrp/protobuf/VirtualTouchDeviceDescriptorMessage.proto +8 -0
  253. package/pyatv/pyatv/protocols/mrp/protobuf/VirtualTouchDeviceDescriptorMessage_pb2.pyi +36 -0
  254. package/pyatv/pyatv/protocols/mrp/protobuf/VoiceInputDeviceDescriptorMessage.proto +8 -0
  255. package/pyatv/pyatv/protocols/mrp/protobuf/VoiceInputDeviceDescriptorMessage_pb2.pyi +35 -0
  256. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlAvailabilityMessage.proto +23 -0
  257. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlAvailabilityMessage_pb2.pyi +71 -0
  258. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlCapabilitiesDidChangeMessage.proto +14 -0
  259. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlCapabilitiesDidChangeMessage_pb2.pyi +40 -0
  260. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeDidChangeMessage.proto +13 -0
  261. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeDidChangeMessage_pb2.pyi +38 -0
  262. package/pyatv/pyatv/protocols/mrp/protobuf/WakeDeviceMessage.proto +11 -0
  263. package/pyatv/pyatv/protocols/mrp/protobuf/WakeDeviceMessage_pb2.pyi +26 -0
  264. package/pyatv/pyatv/py.typed +0 -0
  265. package/pyatv/pylintrc +49 -0
  266. package/pyatv/pyproject.toml +74 -0
  267. package/pyatv/requirements/requirements.txt +14 -0
  268. package/pyatv/requirements/requirements_docs.txt +2 -0
  269. package/pyatv/requirements/requirements_test.txt +20 -0
  270. package/pyatv/scripts/build_docs.sh +17 -0
  271. package/pyatv/scripts/setup_dev_env.sh +83 -0
  272. package/pyatv/setup.cfg +14 -0
  273. package/pyatv/tests/data/README +23 -0
  274. package/pyatv/tests/data/audio_10_frames.wav +0 -0
  275. package/pyatv/tests/data/audio_1_packet_metadata.wav +0 -0
  276. package/pyatv/tests/data/audio_3_packets.wav +0 -0
  277. package/pyatv/tests/data/only_metadata.wav +0 -0
  278. package/pyatv/tests/data/only_title.wav +0 -0
  279. package/pyatv/tests/data/static_3sec.ogg +0 -0
  280. package/pyatv/tests/data/testfile.txt +1 -0
  281. package/pyatv/tests/support/pyatv.code-workspace +14 -0
  282. package/src/index.ts +122 -8
  283. package/src/mdns.ts +64 -11
@@ -0,0 +1,27 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.message
9
+ import typing
10
+
11
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
12
+
13
+ @typing.final
14
+ class AudioFormatSettings(google.protobuf.message.Message):
15
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
16
+
17
+ FORMATSETTINGSPLISTDATA_FIELD_NUMBER: builtins.int
18
+ formatSettingsPlistData: builtins.bytes
19
+ def __init__(
20
+ self,
21
+ *,
22
+ formatSettingsPlistData: builtins.bytes | None = ...,
23
+ ) -> None: ...
24
+ def HasField(self, field_name: typing.Literal["formatSettingsPlistData", b"formatSettingsPlistData"]) -> builtins.bool: ...
25
+ def ClearField(self, field_name: typing.Literal["formatSettingsPlistData", b"formatSettingsPlistData"]) -> None: ...
26
+
27
+ global___AudioFormatSettings = AudioFormatSettings
@@ -0,0 +1,16 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+
5
+ extend ProtocolMessage {
6
+ optional ClientUpdatesConfigMessage clientUpdatesConfigMessage = 21;
7
+ }
8
+
9
+ message ClientUpdatesConfigMessage {
10
+ optional bool artworkUpdates = 1;
11
+ optional bool nowPlayingUpdates = 2;
12
+ optional bool volumeUpdates = 3;
13
+ optional bool keyboardUpdates = 4;
14
+ optional bool outputDeviceUpdates = 5;
15
+ }
16
+
@@ -0,0 +1,44 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.internal.extension_dict
9
+ import google.protobuf.message
10
+ import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
11
+ import typing
12
+
13
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
14
+
15
+ @typing.final
16
+ class ClientUpdatesConfigMessage(google.protobuf.message.Message):
17
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
18
+
19
+ ARTWORKUPDATES_FIELD_NUMBER: builtins.int
20
+ NOWPLAYINGUPDATES_FIELD_NUMBER: builtins.int
21
+ VOLUMEUPDATES_FIELD_NUMBER: builtins.int
22
+ KEYBOARDUPDATES_FIELD_NUMBER: builtins.int
23
+ OUTPUTDEVICEUPDATES_FIELD_NUMBER: builtins.int
24
+ artworkUpdates: builtins.bool
25
+ nowPlayingUpdates: builtins.bool
26
+ volumeUpdates: builtins.bool
27
+ keyboardUpdates: builtins.bool
28
+ outputDeviceUpdates: builtins.bool
29
+ def __init__(
30
+ self,
31
+ *,
32
+ artworkUpdates: builtins.bool | None = ...,
33
+ nowPlayingUpdates: builtins.bool | None = ...,
34
+ volumeUpdates: builtins.bool | None = ...,
35
+ keyboardUpdates: builtins.bool | None = ...,
36
+ outputDeviceUpdates: builtins.bool | None = ...,
37
+ ) -> None: ...
38
+ def HasField(self, field_name: typing.Literal["artworkUpdates", b"artworkUpdates", "keyboardUpdates", b"keyboardUpdates", "nowPlayingUpdates", b"nowPlayingUpdates", "outputDeviceUpdates", b"outputDeviceUpdates", "volumeUpdates", b"volumeUpdates"]) -> builtins.bool: ...
39
+ def ClearField(self, field_name: typing.Literal["artworkUpdates", b"artworkUpdates", "keyboardUpdates", b"keyboardUpdates", "nowPlayingUpdates", b"nowPlayingUpdates", "outputDeviceUpdates", b"outputDeviceUpdates", "volumeUpdates", b"volumeUpdates"]) -> None: ...
40
+
41
+ global___ClientUpdatesConfigMessage = ClientUpdatesConfigMessage
42
+
43
+ CLIENTUPDATESCONFIGMESSAGE_FIELD_NUMBER: builtins.int
44
+ clientUpdatesConfigMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___ClientUpdatesConfigMessage]
@@ -0,0 +1,117 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/Common.proto";
4
+
5
+ enum Command {
6
+ Unknown = 0;
7
+ Play = 1;
8
+ Pause = 2;
9
+ TogglePlayPause = 3;
10
+ Stop = 4;
11
+ NextTrack = 5;
12
+ PreviousTrack = 6;
13
+ AdvanceShuffleMode = 7;
14
+ AdvanceRepeatMode = 8;
15
+ BeginFastForward = 9;
16
+ EndFastForward = 10;
17
+ BeginRewind = 11;
18
+ EndRewind = 12;
19
+ Rewind15Seconds = 13;
20
+ FastForward15Seconds = 14;
21
+ Rewind30Seconds = 15;
22
+ FastForward30Seconds = 16;
23
+ SkipForward = 18;
24
+ SkipBackward = 19;
25
+ ChangePlaybackRate = 20;
26
+ RateTrack = 21;
27
+ LikeTrack = 22;
28
+ DislikeTrack = 23;
29
+ BookmarkTrack = 24;
30
+ SeekToPlaybackPosition = 45;
31
+ ChangeRepeatMode = 46;
32
+ ChangeShuffleMode = 47;
33
+ EnableLanguageOption = 53;
34
+ DisableLanguageOption = 54;
35
+ NextChapter = 25;
36
+ PreviousChapter = 26;
37
+ NextAlbum = 27;
38
+ PreviousAlbum = 28;
39
+ NextPlaylist = 29;
40
+ PreviousPlaylist = 30;
41
+ BanTrack = 31;
42
+ AddTrackToWishList = 32;
43
+ RemoveTrackFromWishList = 33;
44
+ NextInContext = 34;
45
+ PreviousInContext = 35;
46
+ ResetPlaybackTimeout = 41;
47
+ SetPlaybackQueue = 48;
48
+ AddNowPlayingItemToLibrary = 49;
49
+ CreateRadioStation = 50;
50
+ AddItemToLibrary = 51;
51
+ InsertIntoPlaybackQueue = 52;
52
+ ReorderPlaybackQueue = 55;
53
+ RemoveFromPlaybackQueue = 56;
54
+ PlayItemInPlaybackQueue = 57;
55
+ PrepareForSetQueue = 58;
56
+ SetPlaybackSession = 59;
57
+ PreloadedPlaybackSession = 60;
58
+ SetPriorityForPlaybackSession = 61;
59
+ DiscardPlaybackSession = 62;
60
+ Reshuffle = 63;
61
+ ChangeQueueEndAction = 135;
62
+ }
63
+
64
+ message QueueEndAction {
65
+ enum Enum {
66
+ ClearAction = 0;
67
+ None = 1;
68
+ Reset = 2;
69
+ AutoPlay = 3;
70
+ }
71
+ }
72
+
73
+ message DisableReason {
74
+ enum Enum {
75
+ Unknown = 0;
76
+ AdPlayback = 1;
77
+ SkipLimitReached = 2;
78
+ }
79
+ }
80
+
81
+ message PreloadedPlaybackSessionInfo {
82
+ optional string playbackSessionIdentifier = 1;
83
+ optional string playbackSessionRevision = 2;
84
+ optional int32 playbackSessionPriority = 3;
85
+ }
86
+
87
+ message CommandInfo {
88
+ optional Command command = 1;
89
+ optional bool enabled = 2;
90
+ optional bool active = 3;
91
+ repeated double preferredIntervals = 4;
92
+ optional string localizedTitle = 5;
93
+ optional float minimumRating = 6;
94
+ optional float maximumRating = 7;
95
+ repeated float supportedRates = 8;
96
+ optional string localizedShortTitle = 9;
97
+ optional RepeatMode.Enum repeatMode = 10;
98
+ optional ShuffleMode.Enum shuffleMode = 11;
99
+ optional int32 presentationStyle = 12;
100
+ optional int32 skipInterval = 13;
101
+ optional int32 numAvailableSkips = 14;
102
+ optional int32 skipFrequency = 15;
103
+ optional int32 canScrub = 16;
104
+ repeated int32 supportedPlaybackQueueTypes = 17;
105
+ repeated string supportedCustomQueueIdentifiers = 18;
106
+ repeated int32 supportedInsertionPositions = 19;
107
+ optional bool supportsSharedQueue = 20;
108
+ optional int32 upNextItemCount = 21;
109
+ optional float preferredPlaybackRate = 22;
110
+ repeated string supportedPlaybackSessionTypes = 23;
111
+ repeated string currentPlaybackSessionTypes = 24;
112
+ optional string playbackSessionIdentifier = 25;
113
+ optional QueueEndAction.Enum currentQueueEndAction = 26;
114
+ repeated QueueEndAction.Enum supportedEndQueueActions = 27;
115
+ optional DisableReason.Enum disableReason = 28;
116
+ repeated PreloadedPlaybackSessionInfo supportedPlaybackSessionIdentifiers = 29;
117
+ }
@@ -0,0 +1,325 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import collections.abc
8
+ import google.protobuf.descriptor
9
+ import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
11
+ import google.protobuf.message
12
+ import pyatv.protocols.mrp.protobuf.Common_pb2
13
+ import sys
14
+ import typing
15
+
16
+ if sys.version_info >= (3, 10):
17
+ import typing as typing_extensions
18
+ else:
19
+ import typing_extensions
20
+
21
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
22
+
23
+ class _Command:
24
+ ValueType = typing.NewType("ValueType", builtins.int)
25
+ V: typing_extensions.TypeAlias = ValueType
26
+
27
+ class _CommandEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Command.ValueType], builtins.type):
28
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
29
+ Unknown: _Command.ValueType # 0
30
+ Play: _Command.ValueType # 1
31
+ Pause: _Command.ValueType # 2
32
+ TogglePlayPause: _Command.ValueType # 3
33
+ Stop: _Command.ValueType # 4
34
+ NextTrack: _Command.ValueType # 5
35
+ PreviousTrack: _Command.ValueType # 6
36
+ AdvanceShuffleMode: _Command.ValueType # 7
37
+ AdvanceRepeatMode: _Command.ValueType # 8
38
+ BeginFastForward: _Command.ValueType # 9
39
+ EndFastForward: _Command.ValueType # 10
40
+ BeginRewind: _Command.ValueType # 11
41
+ EndRewind: _Command.ValueType # 12
42
+ Rewind15Seconds: _Command.ValueType # 13
43
+ FastForward15Seconds: _Command.ValueType # 14
44
+ Rewind30Seconds: _Command.ValueType # 15
45
+ FastForward30Seconds: _Command.ValueType # 16
46
+ SkipForward: _Command.ValueType # 18
47
+ SkipBackward: _Command.ValueType # 19
48
+ ChangePlaybackRate: _Command.ValueType # 20
49
+ RateTrack: _Command.ValueType # 21
50
+ LikeTrack: _Command.ValueType # 22
51
+ DislikeTrack: _Command.ValueType # 23
52
+ BookmarkTrack: _Command.ValueType # 24
53
+ SeekToPlaybackPosition: _Command.ValueType # 45
54
+ ChangeRepeatMode: _Command.ValueType # 46
55
+ ChangeShuffleMode: _Command.ValueType # 47
56
+ EnableLanguageOption: _Command.ValueType # 53
57
+ DisableLanguageOption: _Command.ValueType # 54
58
+ NextChapter: _Command.ValueType # 25
59
+ PreviousChapter: _Command.ValueType # 26
60
+ NextAlbum: _Command.ValueType # 27
61
+ PreviousAlbum: _Command.ValueType # 28
62
+ NextPlaylist: _Command.ValueType # 29
63
+ PreviousPlaylist: _Command.ValueType # 30
64
+ BanTrack: _Command.ValueType # 31
65
+ AddTrackToWishList: _Command.ValueType # 32
66
+ RemoveTrackFromWishList: _Command.ValueType # 33
67
+ NextInContext: _Command.ValueType # 34
68
+ PreviousInContext: _Command.ValueType # 35
69
+ ResetPlaybackTimeout: _Command.ValueType # 41
70
+ SetPlaybackQueue: _Command.ValueType # 48
71
+ AddNowPlayingItemToLibrary: _Command.ValueType # 49
72
+ CreateRadioStation: _Command.ValueType # 50
73
+ AddItemToLibrary: _Command.ValueType # 51
74
+ InsertIntoPlaybackQueue: _Command.ValueType # 52
75
+ ReorderPlaybackQueue: _Command.ValueType # 55
76
+ RemoveFromPlaybackQueue: _Command.ValueType # 56
77
+ PlayItemInPlaybackQueue: _Command.ValueType # 57
78
+ PrepareForSetQueue: _Command.ValueType # 58
79
+ SetPlaybackSession: _Command.ValueType # 59
80
+ PreloadedPlaybackSession: _Command.ValueType # 60
81
+ SetPriorityForPlaybackSession: _Command.ValueType # 61
82
+ DiscardPlaybackSession: _Command.ValueType # 62
83
+ Reshuffle: _Command.ValueType # 63
84
+ ChangeQueueEndAction: _Command.ValueType # 135
85
+
86
+ class Command(_Command, metaclass=_CommandEnumTypeWrapper): ...
87
+
88
+ Unknown: Command.ValueType # 0
89
+ Play: Command.ValueType # 1
90
+ Pause: Command.ValueType # 2
91
+ TogglePlayPause: Command.ValueType # 3
92
+ Stop: Command.ValueType # 4
93
+ NextTrack: Command.ValueType # 5
94
+ PreviousTrack: Command.ValueType # 6
95
+ AdvanceShuffleMode: Command.ValueType # 7
96
+ AdvanceRepeatMode: Command.ValueType # 8
97
+ BeginFastForward: Command.ValueType # 9
98
+ EndFastForward: Command.ValueType # 10
99
+ BeginRewind: Command.ValueType # 11
100
+ EndRewind: Command.ValueType # 12
101
+ Rewind15Seconds: Command.ValueType # 13
102
+ FastForward15Seconds: Command.ValueType # 14
103
+ Rewind30Seconds: Command.ValueType # 15
104
+ FastForward30Seconds: Command.ValueType # 16
105
+ SkipForward: Command.ValueType # 18
106
+ SkipBackward: Command.ValueType # 19
107
+ ChangePlaybackRate: Command.ValueType # 20
108
+ RateTrack: Command.ValueType # 21
109
+ LikeTrack: Command.ValueType # 22
110
+ DislikeTrack: Command.ValueType # 23
111
+ BookmarkTrack: Command.ValueType # 24
112
+ SeekToPlaybackPosition: Command.ValueType # 45
113
+ ChangeRepeatMode: Command.ValueType # 46
114
+ ChangeShuffleMode: Command.ValueType # 47
115
+ EnableLanguageOption: Command.ValueType # 53
116
+ DisableLanguageOption: Command.ValueType # 54
117
+ NextChapter: Command.ValueType # 25
118
+ PreviousChapter: Command.ValueType # 26
119
+ NextAlbum: Command.ValueType # 27
120
+ PreviousAlbum: Command.ValueType # 28
121
+ NextPlaylist: Command.ValueType # 29
122
+ PreviousPlaylist: Command.ValueType # 30
123
+ BanTrack: Command.ValueType # 31
124
+ AddTrackToWishList: Command.ValueType # 32
125
+ RemoveTrackFromWishList: Command.ValueType # 33
126
+ NextInContext: Command.ValueType # 34
127
+ PreviousInContext: Command.ValueType # 35
128
+ ResetPlaybackTimeout: Command.ValueType # 41
129
+ SetPlaybackQueue: Command.ValueType # 48
130
+ AddNowPlayingItemToLibrary: Command.ValueType # 49
131
+ CreateRadioStation: Command.ValueType # 50
132
+ AddItemToLibrary: Command.ValueType # 51
133
+ InsertIntoPlaybackQueue: Command.ValueType # 52
134
+ ReorderPlaybackQueue: Command.ValueType # 55
135
+ RemoveFromPlaybackQueue: Command.ValueType # 56
136
+ PlayItemInPlaybackQueue: Command.ValueType # 57
137
+ PrepareForSetQueue: Command.ValueType # 58
138
+ SetPlaybackSession: Command.ValueType # 59
139
+ PreloadedPlaybackSession: Command.ValueType # 60
140
+ SetPriorityForPlaybackSession: Command.ValueType # 61
141
+ DiscardPlaybackSession: Command.ValueType # 62
142
+ Reshuffle: Command.ValueType # 63
143
+ ChangeQueueEndAction: Command.ValueType # 135
144
+ global___Command = Command
145
+
146
+ @typing.final
147
+ class QueueEndAction(google.protobuf.message.Message):
148
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
149
+
150
+ class _Enum:
151
+ ValueType = typing.NewType("ValueType", builtins.int)
152
+ V: typing_extensions.TypeAlias = ValueType
153
+
154
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[QueueEndAction._Enum.ValueType], builtins.type):
155
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
156
+ ClearAction: QueueEndAction._Enum.ValueType # 0
157
+ Reset: QueueEndAction._Enum.ValueType # 2
158
+ AutoPlay: QueueEndAction._Enum.ValueType # 3
159
+
160
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
161
+ ClearAction: QueueEndAction.Enum.ValueType # 0
162
+ Reset: QueueEndAction.Enum.ValueType # 2
163
+ AutoPlay: QueueEndAction.Enum.ValueType # 3
164
+
165
+ def __init__(
166
+ self,
167
+ ) -> None: ...
168
+
169
+ global___QueueEndAction = QueueEndAction
170
+
171
+ @typing.final
172
+ class DisableReason(google.protobuf.message.Message):
173
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
174
+
175
+ class _Enum:
176
+ ValueType = typing.NewType("ValueType", builtins.int)
177
+ V: typing_extensions.TypeAlias = ValueType
178
+
179
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DisableReason._Enum.ValueType], builtins.type):
180
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
181
+ Unknown: DisableReason._Enum.ValueType # 0
182
+ AdPlayback: DisableReason._Enum.ValueType # 1
183
+ SkipLimitReached: DisableReason._Enum.ValueType # 2
184
+
185
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
186
+ Unknown: DisableReason.Enum.ValueType # 0
187
+ AdPlayback: DisableReason.Enum.ValueType # 1
188
+ SkipLimitReached: DisableReason.Enum.ValueType # 2
189
+
190
+ def __init__(
191
+ self,
192
+ ) -> None: ...
193
+
194
+ global___DisableReason = DisableReason
195
+
196
+ @typing.final
197
+ class PreloadedPlaybackSessionInfo(google.protobuf.message.Message):
198
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
199
+
200
+ PLAYBACKSESSIONIDENTIFIER_FIELD_NUMBER: builtins.int
201
+ PLAYBACKSESSIONREVISION_FIELD_NUMBER: builtins.int
202
+ PLAYBACKSESSIONPRIORITY_FIELD_NUMBER: builtins.int
203
+ playbackSessionIdentifier: builtins.str
204
+ playbackSessionRevision: builtins.str
205
+ playbackSessionPriority: builtins.int
206
+ def __init__(
207
+ self,
208
+ *,
209
+ playbackSessionIdentifier: builtins.str | None = ...,
210
+ playbackSessionRevision: builtins.str | None = ...,
211
+ playbackSessionPriority: builtins.int | None = ...,
212
+ ) -> None: ...
213
+ def HasField(self, field_name: typing.Literal["playbackSessionIdentifier", b"playbackSessionIdentifier", "playbackSessionPriority", b"playbackSessionPriority", "playbackSessionRevision", b"playbackSessionRevision"]) -> builtins.bool: ...
214
+ def ClearField(self, field_name: typing.Literal["playbackSessionIdentifier", b"playbackSessionIdentifier", "playbackSessionPriority", b"playbackSessionPriority", "playbackSessionRevision", b"playbackSessionRevision"]) -> None: ...
215
+
216
+ global___PreloadedPlaybackSessionInfo = PreloadedPlaybackSessionInfo
217
+
218
+ @typing.final
219
+ class CommandInfo(google.protobuf.message.Message):
220
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
221
+
222
+ COMMAND_FIELD_NUMBER: builtins.int
223
+ ENABLED_FIELD_NUMBER: builtins.int
224
+ ACTIVE_FIELD_NUMBER: builtins.int
225
+ PREFERREDINTERVALS_FIELD_NUMBER: builtins.int
226
+ LOCALIZEDTITLE_FIELD_NUMBER: builtins.int
227
+ MINIMUMRATING_FIELD_NUMBER: builtins.int
228
+ MAXIMUMRATING_FIELD_NUMBER: builtins.int
229
+ SUPPORTEDRATES_FIELD_NUMBER: builtins.int
230
+ LOCALIZEDSHORTTITLE_FIELD_NUMBER: builtins.int
231
+ REPEATMODE_FIELD_NUMBER: builtins.int
232
+ SHUFFLEMODE_FIELD_NUMBER: builtins.int
233
+ PRESENTATIONSTYLE_FIELD_NUMBER: builtins.int
234
+ SKIPINTERVAL_FIELD_NUMBER: builtins.int
235
+ NUMAVAILABLESKIPS_FIELD_NUMBER: builtins.int
236
+ SKIPFREQUENCY_FIELD_NUMBER: builtins.int
237
+ CANSCRUB_FIELD_NUMBER: builtins.int
238
+ SUPPORTEDPLAYBACKQUEUETYPES_FIELD_NUMBER: builtins.int
239
+ SUPPORTEDCUSTOMQUEUEIDENTIFIERS_FIELD_NUMBER: builtins.int
240
+ SUPPORTEDINSERTIONPOSITIONS_FIELD_NUMBER: builtins.int
241
+ SUPPORTSSHAREDQUEUE_FIELD_NUMBER: builtins.int
242
+ UPNEXTITEMCOUNT_FIELD_NUMBER: builtins.int
243
+ PREFERREDPLAYBACKRATE_FIELD_NUMBER: builtins.int
244
+ SUPPORTEDPLAYBACKSESSIONTYPES_FIELD_NUMBER: builtins.int
245
+ CURRENTPLAYBACKSESSIONTYPES_FIELD_NUMBER: builtins.int
246
+ PLAYBACKSESSIONIDENTIFIER_FIELD_NUMBER: builtins.int
247
+ CURRENTQUEUEENDACTION_FIELD_NUMBER: builtins.int
248
+ SUPPORTEDENDQUEUEACTIONS_FIELD_NUMBER: builtins.int
249
+ DISABLEREASON_FIELD_NUMBER: builtins.int
250
+ SUPPORTEDPLAYBACKSESSIONIDENTIFIERS_FIELD_NUMBER: builtins.int
251
+ command: global___Command.ValueType
252
+ enabled: builtins.bool
253
+ active: builtins.bool
254
+ localizedTitle: builtins.str
255
+ minimumRating: builtins.float
256
+ maximumRating: builtins.float
257
+ localizedShortTitle: builtins.str
258
+ repeatMode: pyatv.protocols.mrp.protobuf.Common_pb2.RepeatMode.Enum.ValueType
259
+ shuffleMode: pyatv.protocols.mrp.protobuf.Common_pb2.ShuffleMode.Enum.ValueType
260
+ presentationStyle: builtins.int
261
+ skipInterval: builtins.int
262
+ numAvailableSkips: builtins.int
263
+ skipFrequency: builtins.int
264
+ canScrub: builtins.int
265
+ supportsSharedQueue: builtins.bool
266
+ upNextItemCount: builtins.int
267
+ preferredPlaybackRate: builtins.float
268
+ playbackSessionIdentifier: builtins.str
269
+ currentQueueEndAction: global___QueueEndAction.Enum.ValueType
270
+ disableReason: global___DisableReason.Enum.ValueType
271
+ @property
272
+ def preferredIntervals(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
273
+ @property
274
+ def supportedRates(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
275
+ @property
276
+ def supportedPlaybackQueueTypes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
277
+ @property
278
+ def supportedCustomQueueIdentifiers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
279
+ @property
280
+ def supportedInsertionPositions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
281
+ @property
282
+ def supportedPlaybackSessionTypes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
283
+ @property
284
+ def currentPlaybackSessionTypes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
285
+ @property
286
+ def supportedEndQueueActions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___QueueEndAction.Enum.ValueType]: ...
287
+ @property
288
+ def supportedPlaybackSessionIdentifiers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PreloadedPlaybackSessionInfo]: ...
289
+ def __init__(
290
+ self,
291
+ *,
292
+ command: global___Command.ValueType | None = ...,
293
+ enabled: builtins.bool | None = ...,
294
+ active: builtins.bool | None = ...,
295
+ preferredIntervals: collections.abc.Iterable[builtins.float] | None = ...,
296
+ localizedTitle: builtins.str | None = ...,
297
+ minimumRating: builtins.float | None = ...,
298
+ maximumRating: builtins.float | None = ...,
299
+ supportedRates: collections.abc.Iterable[builtins.float] | None = ...,
300
+ localizedShortTitle: builtins.str | None = ...,
301
+ repeatMode: pyatv.protocols.mrp.protobuf.Common_pb2.RepeatMode.Enum.ValueType | None = ...,
302
+ shuffleMode: pyatv.protocols.mrp.protobuf.Common_pb2.ShuffleMode.Enum.ValueType | None = ...,
303
+ presentationStyle: builtins.int | None = ...,
304
+ skipInterval: builtins.int | None = ...,
305
+ numAvailableSkips: builtins.int | None = ...,
306
+ skipFrequency: builtins.int | None = ...,
307
+ canScrub: builtins.int | None = ...,
308
+ supportedPlaybackQueueTypes: collections.abc.Iterable[builtins.int] | None = ...,
309
+ supportedCustomQueueIdentifiers: collections.abc.Iterable[builtins.str] | None = ...,
310
+ supportedInsertionPositions: collections.abc.Iterable[builtins.int] | None = ...,
311
+ supportsSharedQueue: builtins.bool | None = ...,
312
+ upNextItemCount: builtins.int | None = ...,
313
+ preferredPlaybackRate: builtins.float | None = ...,
314
+ supportedPlaybackSessionTypes: collections.abc.Iterable[builtins.str] | None = ...,
315
+ currentPlaybackSessionTypes: collections.abc.Iterable[builtins.str] | None = ...,
316
+ playbackSessionIdentifier: builtins.str | None = ...,
317
+ currentQueueEndAction: global___QueueEndAction.Enum.ValueType | None = ...,
318
+ supportedEndQueueActions: collections.abc.Iterable[global___QueueEndAction.Enum.ValueType] | None = ...,
319
+ disableReason: global___DisableReason.Enum.ValueType | None = ...,
320
+ supportedPlaybackSessionIdentifiers: collections.abc.Iterable[global___PreloadedPlaybackSessionInfo] | None = ...,
321
+ ) -> None: ...
322
+ def HasField(self, field_name: typing.Literal["active", b"active", "canScrub", b"canScrub", "command", b"command", "currentQueueEndAction", b"currentQueueEndAction", "disableReason", b"disableReason", "enabled", b"enabled", "localizedShortTitle", b"localizedShortTitle", "localizedTitle", b"localizedTitle", "maximumRating", b"maximumRating", "minimumRating", b"minimumRating", "numAvailableSkips", b"numAvailableSkips", "playbackSessionIdentifier", b"playbackSessionIdentifier", "preferredPlaybackRate", b"preferredPlaybackRate", "presentationStyle", b"presentationStyle", "repeatMode", b"repeatMode", "shuffleMode", b"shuffleMode", "skipFrequency", b"skipFrequency", "skipInterval", b"skipInterval", "supportsSharedQueue", b"supportsSharedQueue", "upNextItemCount", b"upNextItemCount"]) -> builtins.bool: ...
323
+ def ClearField(self, field_name: typing.Literal["active", b"active", "canScrub", b"canScrub", "command", b"command", "currentPlaybackSessionTypes", b"currentPlaybackSessionTypes", "currentQueueEndAction", b"currentQueueEndAction", "disableReason", b"disableReason", "enabled", b"enabled", "localizedShortTitle", b"localizedShortTitle", "localizedTitle", b"localizedTitle", "maximumRating", b"maximumRating", "minimumRating", b"minimumRating", "numAvailableSkips", b"numAvailableSkips", "playbackSessionIdentifier", b"playbackSessionIdentifier", "preferredIntervals", b"preferredIntervals", "preferredPlaybackRate", b"preferredPlaybackRate", "presentationStyle", b"presentationStyle", "repeatMode", b"repeatMode", "shuffleMode", b"shuffleMode", "skipFrequency", b"skipFrequency", "skipInterval", b"skipInterval", "supportedCustomQueueIdentifiers", b"supportedCustomQueueIdentifiers", "supportedEndQueueActions", b"supportedEndQueueActions", "supportedInsertionPositions", b"supportedInsertionPositions", "supportedPlaybackQueueTypes", b"supportedPlaybackQueueTypes", "supportedPlaybackSessionIdentifiers", b"supportedPlaybackSessionIdentifiers", "supportedPlaybackSessionTypes", b"supportedPlaybackSessionTypes", "supportedRates", b"supportedRates", "supportsSharedQueue", b"supportsSharedQueue", "upNextItemCount", b"upNextItemCount"]) -> None: ...
324
+
325
+ global___CommandInfo = CommandInfo
@@ -0,0 +1,36 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/Common.proto";
4
+
5
+ message CommandOptions {
6
+ optional string sourceId = 2;
7
+ optional string mediaType = 3;
8
+ optional bool externalPlayerCommand = 4;
9
+ optional float skipInterval = 5;
10
+ optional float playbackRate = 6;
11
+ optional float rating = 7;
12
+ optional bool negative = 8;
13
+ optional double playbackPosition = 9;
14
+ optional RepeatMode.Enum repeatMode = 10;
15
+ optional ShuffleMode.Enum shuffleMode = 11;
16
+ optional uint64 trackID = 12;
17
+ optional int64 radioStationID = 13;
18
+ optional string radioStationHash = 14;
19
+ optional bytes systemAppPlaybackQueueData = 15;
20
+ optional string destinationAppDisplayID = 16;
21
+ optional uint32 sendOptions = 17;
22
+ optional bool requestDefermentToPlaybackQueuePosition = 18;
23
+ optional string contextID = 19;
24
+ optional bool shouldOverrideManuallyCuratedQueue = 20;
25
+ optional string stationURL = 21;
26
+ optional bool shouldBeginRadioPlayback = 22;
27
+ optional int32 playbackQueueInsertionPosition = 23;
28
+ optional string contentItemID = 24;
29
+ optional int32 playbackQueueOffset = 25;
30
+ optional int32 playbackQueueDestinationOffset = 26;
31
+ optional bytes languageOption = 27;
32
+ optional bytes playbackQueueContext = 28;
33
+ optional string insertAfterContentItemID = 29;
34
+ optional string nowPlayingContentItemID = 30;
35
+ optional int32 replaceIntent = 31;
36
+ }