@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,115 @@
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 pyatv.protocols.mrp.protobuf.Common_pb2
10
+ import typing
11
+
12
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
13
+
14
+ @typing.final
15
+ class CommandOptions(google.protobuf.message.Message):
16
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
17
+
18
+ SOURCEID_FIELD_NUMBER: builtins.int
19
+ MEDIATYPE_FIELD_NUMBER: builtins.int
20
+ EXTERNALPLAYERCOMMAND_FIELD_NUMBER: builtins.int
21
+ SKIPINTERVAL_FIELD_NUMBER: builtins.int
22
+ PLAYBACKRATE_FIELD_NUMBER: builtins.int
23
+ RATING_FIELD_NUMBER: builtins.int
24
+ NEGATIVE_FIELD_NUMBER: builtins.int
25
+ PLAYBACKPOSITION_FIELD_NUMBER: builtins.int
26
+ REPEATMODE_FIELD_NUMBER: builtins.int
27
+ SHUFFLEMODE_FIELD_NUMBER: builtins.int
28
+ TRACKID_FIELD_NUMBER: builtins.int
29
+ RADIOSTATIONID_FIELD_NUMBER: builtins.int
30
+ RADIOSTATIONHASH_FIELD_NUMBER: builtins.int
31
+ SYSTEMAPPPLAYBACKQUEUEDATA_FIELD_NUMBER: builtins.int
32
+ DESTINATIONAPPDISPLAYID_FIELD_NUMBER: builtins.int
33
+ SENDOPTIONS_FIELD_NUMBER: builtins.int
34
+ REQUESTDEFERMENTTOPLAYBACKQUEUEPOSITION_FIELD_NUMBER: builtins.int
35
+ CONTEXTID_FIELD_NUMBER: builtins.int
36
+ SHOULDOVERRIDEMANUALLYCURATEDQUEUE_FIELD_NUMBER: builtins.int
37
+ STATIONURL_FIELD_NUMBER: builtins.int
38
+ SHOULDBEGINRADIOPLAYBACK_FIELD_NUMBER: builtins.int
39
+ PLAYBACKQUEUEINSERTIONPOSITION_FIELD_NUMBER: builtins.int
40
+ CONTENTITEMID_FIELD_NUMBER: builtins.int
41
+ PLAYBACKQUEUEOFFSET_FIELD_NUMBER: builtins.int
42
+ PLAYBACKQUEUEDESTINATIONOFFSET_FIELD_NUMBER: builtins.int
43
+ LANGUAGEOPTION_FIELD_NUMBER: builtins.int
44
+ PLAYBACKQUEUECONTEXT_FIELD_NUMBER: builtins.int
45
+ INSERTAFTERCONTENTITEMID_FIELD_NUMBER: builtins.int
46
+ NOWPLAYINGCONTENTITEMID_FIELD_NUMBER: builtins.int
47
+ REPLACEINTENT_FIELD_NUMBER: builtins.int
48
+ sourceId: builtins.str
49
+ mediaType: builtins.str
50
+ externalPlayerCommand: builtins.bool
51
+ skipInterval: builtins.float
52
+ playbackRate: builtins.float
53
+ rating: builtins.float
54
+ negative: builtins.bool
55
+ playbackPosition: builtins.float
56
+ repeatMode: pyatv.protocols.mrp.protobuf.Common_pb2.RepeatMode.Enum.ValueType
57
+ shuffleMode: pyatv.protocols.mrp.protobuf.Common_pb2.ShuffleMode.Enum.ValueType
58
+ trackID: builtins.int
59
+ radioStationID: builtins.int
60
+ radioStationHash: builtins.str
61
+ systemAppPlaybackQueueData: builtins.bytes
62
+ destinationAppDisplayID: builtins.str
63
+ sendOptions: builtins.int
64
+ requestDefermentToPlaybackQueuePosition: builtins.bool
65
+ contextID: builtins.str
66
+ shouldOverrideManuallyCuratedQueue: builtins.bool
67
+ stationURL: builtins.str
68
+ shouldBeginRadioPlayback: builtins.bool
69
+ playbackQueueInsertionPosition: builtins.int
70
+ contentItemID: builtins.str
71
+ playbackQueueOffset: builtins.int
72
+ playbackQueueDestinationOffset: builtins.int
73
+ languageOption: builtins.bytes
74
+ playbackQueueContext: builtins.bytes
75
+ insertAfterContentItemID: builtins.str
76
+ nowPlayingContentItemID: builtins.str
77
+ replaceIntent: builtins.int
78
+ def __init__(
79
+ self,
80
+ *,
81
+ sourceId: builtins.str | None = ...,
82
+ mediaType: builtins.str | None = ...,
83
+ externalPlayerCommand: builtins.bool | None = ...,
84
+ skipInterval: builtins.float | None = ...,
85
+ playbackRate: builtins.float | None = ...,
86
+ rating: builtins.float | None = ...,
87
+ negative: builtins.bool | None = ...,
88
+ playbackPosition: builtins.float | None = ...,
89
+ repeatMode: pyatv.protocols.mrp.protobuf.Common_pb2.RepeatMode.Enum.ValueType | None = ...,
90
+ shuffleMode: pyatv.protocols.mrp.protobuf.Common_pb2.ShuffleMode.Enum.ValueType | None = ...,
91
+ trackID: builtins.int | None = ...,
92
+ radioStationID: builtins.int | None = ...,
93
+ radioStationHash: builtins.str | None = ...,
94
+ systemAppPlaybackQueueData: builtins.bytes | None = ...,
95
+ destinationAppDisplayID: builtins.str | None = ...,
96
+ sendOptions: builtins.int | None = ...,
97
+ requestDefermentToPlaybackQueuePosition: builtins.bool | None = ...,
98
+ contextID: builtins.str | None = ...,
99
+ shouldOverrideManuallyCuratedQueue: builtins.bool | None = ...,
100
+ stationURL: builtins.str | None = ...,
101
+ shouldBeginRadioPlayback: builtins.bool | None = ...,
102
+ playbackQueueInsertionPosition: builtins.int | None = ...,
103
+ contentItemID: builtins.str | None = ...,
104
+ playbackQueueOffset: builtins.int | None = ...,
105
+ playbackQueueDestinationOffset: builtins.int | None = ...,
106
+ languageOption: builtins.bytes | None = ...,
107
+ playbackQueueContext: builtins.bytes | None = ...,
108
+ insertAfterContentItemID: builtins.str | None = ...,
109
+ nowPlayingContentItemID: builtins.str | None = ...,
110
+ replaceIntent: builtins.int | None = ...,
111
+ ) -> None: ...
112
+ def HasField(self, field_name: typing.Literal["contentItemID", b"contentItemID", "contextID", b"contextID", "destinationAppDisplayID", b"destinationAppDisplayID", "externalPlayerCommand", b"externalPlayerCommand", "insertAfterContentItemID", b"insertAfterContentItemID", "languageOption", b"languageOption", "mediaType", b"mediaType", "negative", b"negative", "nowPlayingContentItemID", b"nowPlayingContentItemID", "playbackPosition", b"playbackPosition", "playbackQueueContext", b"playbackQueueContext", "playbackQueueDestinationOffset", b"playbackQueueDestinationOffset", "playbackQueueInsertionPosition", b"playbackQueueInsertionPosition", "playbackQueueOffset", b"playbackQueueOffset", "playbackRate", b"playbackRate", "radioStationHash", b"radioStationHash", "radioStationID", b"radioStationID", "rating", b"rating", "repeatMode", b"repeatMode", "replaceIntent", b"replaceIntent", "requestDefermentToPlaybackQueuePosition", b"requestDefermentToPlaybackQueuePosition", "sendOptions", b"sendOptions", "shouldBeginRadioPlayback", b"shouldBeginRadioPlayback", "shouldOverrideManuallyCuratedQueue", b"shouldOverrideManuallyCuratedQueue", "shuffleMode", b"shuffleMode", "skipInterval", b"skipInterval", "sourceId", b"sourceId", "stationURL", b"stationURL", "systemAppPlaybackQueueData", b"systemAppPlaybackQueueData", "trackID", b"trackID"]) -> builtins.bool: ...
113
+ def ClearField(self, field_name: typing.Literal["contentItemID", b"contentItemID", "contextID", b"contextID", "destinationAppDisplayID", b"destinationAppDisplayID", "externalPlayerCommand", b"externalPlayerCommand", "insertAfterContentItemID", b"insertAfterContentItemID", "languageOption", b"languageOption", "mediaType", b"mediaType", "negative", b"negative", "nowPlayingContentItemID", b"nowPlayingContentItemID", "playbackPosition", b"playbackPosition", "playbackQueueContext", b"playbackQueueContext", "playbackQueueDestinationOffset", b"playbackQueueDestinationOffset", "playbackQueueInsertionPosition", b"playbackQueueInsertionPosition", "playbackQueueOffset", b"playbackQueueOffset", "playbackRate", b"playbackRate", "radioStationHash", b"radioStationHash", "radioStationID", b"radioStationID", "rating", b"rating", "repeatMode", b"repeatMode", "replaceIntent", b"replaceIntent", "requestDefermentToPlaybackQueuePosition", b"requestDefermentToPlaybackQueuePosition", "sendOptions", b"sendOptions", "shouldBeginRadioPlayback", b"shouldBeginRadioPlayback", "shouldOverrideManuallyCuratedQueue", b"shouldOverrideManuallyCuratedQueue", "shuffleMode", b"shuffleMode", "skipInterval", b"skipInterval", "sourceId", b"sourceId", "stationURL", b"stationURL", "systemAppPlaybackQueueData", b"systemAppPlaybackQueueData", "trackID", b"trackID"]) -> None: ...
114
+
115
+ global___CommandOptions = CommandOptions
@@ -0,0 +1,79 @@
1
+ syntax = "proto2";
2
+
3
+ message RepeatMode {
4
+ enum Enum {
5
+ Unknown = 0;
6
+ Off = 1;
7
+ One = 2;
8
+ All = 3;
9
+ }
10
+ }
11
+
12
+ message ShuffleMode {
13
+ enum Enum {
14
+ Unknown = 0;
15
+ Off = 1;
16
+ Albums = 2;
17
+ Songs = 3;
18
+ }
19
+ }
20
+
21
+ message DeviceClass {
22
+ enum Enum {
23
+ Invalid = 0;
24
+ iPhone = 1;
25
+ iPod = 2;
26
+ iPad = 3;
27
+ AppleTV = 4;
28
+ iFPGA = 5;
29
+ Watch = 6;
30
+ Accessory = 7;
31
+ Bridge = 8;
32
+ Mac = 9;
33
+ }
34
+ }
35
+
36
+ message DeviceType {
37
+ enum Enum {
38
+ Unknown = 0;
39
+ AirPlay = 1;
40
+ Bluetooth = 2;
41
+ CarPlay = 3;
42
+ BuiltIn = 4;
43
+ Wired = 5;
44
+ }
45
+ }
46
+
47
+ message DeviceSubType {
48
+ enum Enum {
49
+ Default = 0;
50
+ Speaker = 1;
51
+ Headphones = 2;
52
+ Headset = 3;
53
+ Receiver = 4;
54
+ LineOut = 5;
55
+ USB = 6;
56
+ DisplayPort = 7;
57
+ HDMI = 8;
58
+ LowEnergy = 9;
59
+ SPDIF = 10;
60
+ TV = 11;
61
+ HomePod = 12;
62
+ AppleTV = 13;
63
+ Vehicle = 14;
64
+ Cluster = 15;
65
+ SetTopBox = 16;
66
+ TVStick = 17;
67
+ }
68
+ }
69
+
70
+ message PlaybackState {
71
+ enum Enum {
72
+ Unknown = 0;
73
+ Playing = 1;
74
+ Paused = 2;
75
+ Stopped = 3;
76
+ Interrupted = 4;
77
+ Seeking = 5;
78
+ }
79
+ }
@@ -0,0 +1,228 @@
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.enum_type_wrapper
9
+ import google.protobuf.message
10
+ import sys
11
+ import typing
12
+
13
+ if sys.version_info >= (3, 10):
14
+ import typing as typing_extensions
15
+ else:
16
+ import typing_extensions
17
+
18
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
19
+
20
+ @typing.final
21
+ class RepeatMode(google.protobuf.message.Message):
22
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
23
+
24
+ class _Enum:
25
+ ValueType = typing.NewType("ValueType", builtins.int)
26
+ V: typing_extensions.TypeAlias = ValueType
27
+
28
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RepeatMode._Enum.ValueType], builtins.type):
29
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
30
+ Unknown: RepeatMode._Enum.ValueType # 0
31
+ Off: RepeatMode._Enum.ValueType # 1
32
+ One: RepeatMode._Enum.ValueType # 2
33
+ All: RepeatMode._Enum.ValueType # 3
34
+
35
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
36
+ Unknown: RepeatMode.Enum.ValueType # 0
37
+ Off: RepeatMode.Enum.ValueType # 1
38
+ One: RepeatMode.Enum.ValueType # 2
39
+ All: RepeatMode.Enum.ValueType # 3
40
+
41
+ def __init__(
42
+ self,
43
+ ) -> None: ...
44
+
45
+ global___RepeatMode = RepeatMode
46
+
47
+ @typing.final
48
+ class ShuffleMode(google.protobuf.message.Message):
49
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
50
+
51
+ class _Enum:
52
+ ValueType = typing.NewType("ValueType", builtins.int)
53
+ V: typing_extensions.TypeAlias = ValueType
54
+
55
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ShuffleMode._Enum.ValueType], builtins.type):
56
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
57
+ Unknown: ShuffleMode._Enum.ValueType # 0
58
+ Off: ShuffleMode._Enum.ValueType # 1
59
+ Albums: ShuffleMode._Enum.ValueType # 2
60
+ Songs: ShuffleMode._Enum.ValueType # 3
61
+
62
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
63
+ Unknown: ShuffleMode.Enum.ValueType # 0
64
+ Off: ShuffleMode.Enum.ValueType # 1
65
+ Albums: ShuffleMode.Enum.ValueType # 2
66
+ Songs: ShuffleMode.Enum.ValueType # 3
67
+
68
+ def __init__(
69
+ self,
70
+ ) -> None: ...
71
+
72
+ global___ShuffleMode = ShuffleMode
73
+
74
+ @typing.final
75
+ class DeviceClass(google.protobuf.message.Message):
76
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
77
+
78
+ class _Enum:
79
+ ValueType = typing.NewType("ValueType", builtins.int)
80
+ V: typing_extensions.TypeAlias = ValueType
81
+
82
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeviceClass._Enum.ValueType], builtins.type):
83
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
84
+ Invalid: DeviceClass._Enum.ValueType # 0
85
+ iPhone: DeviceClass._Enum.ValueType # 1
86
+ iPod: DeviceClass._Enum.ValueType # 2
87
+ iPad: DeviceClass._Enum.ValueType # 3
88
+ AppleTV: DeviceClass._Enum.ValueType # 4
89
+ iFPGA: DeviceClass._Enum.ValueType # 5
90
+ Watch: DeviceClass._Enum.ValueType # 6
91
+ Accessory: DeviceClass._Enum.ValueType # 7
92
+ Bridge: DeviceClass._Enum.ValueType # 8
93
+ Mac: DeviceClass._Enum.ValueType # 9
94
+
95
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
96
+ Invalid: DeviceClass.Enum.ValueType # 0
97
+ iPhone: DeviceClass.Enum.ValueType # 1
98
+ iPod: DeviceClass.Enum.ValueType # 2
99
+ iPad: DeviceClass.Enum.ValueType # 3
100
+ AppleTV: DeviceClass.Enum.ValueType # 4
101
+ iFPGA: DeviceClass.Enum.ValueType # 5
102
+ Watch: DeviceClass.Enum.ValueType # 6
103
+ Accessory: DeviceClass.Enum.ValueType # 7
104
+ Bridge: DeviceClass.Enum.ValueType # 8
105
+ Mac: DeviceClass.Enum.ValueType # 9
106
+
107
+ def __init__(
108
+ self,
109
+ ) -> None: ...
110
+
111
+ global___DeviceClass = DeviceClass
112
+
113
+ @typing.final
114
+ class DeviceType(google.protobuf.message.Message):
115
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
116
+
117
+ class _Enum:
118
+ ValueType = typing.NewType("ValueType", builtins.int)
119
+ V: typing_extensions.TypeAlias = ValueType
120
+
121
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeviceType._Enum.ValueType], builtins.type):
122
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
123
+ Unknown: DeviceType._Enum.ValueType # 0
124
+ AirPlay: DeviceType._Enum.ValueType # 1
125
+ Bluetooth: DeviceType._Enum.ValueType # 2
126
+ CarPlay: DeviceType._Enum.ValueType # 3
127
+ BuiltIn: DeviceType._Enum.ValueType # 4
128
+ Wired: DeviceType._Enum.ValueType # 5
129
+
130
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
131
+ Unknown: DeviceType.Enum.ValueType # 0
132
+ AirPlay: DeviceType.Enum.ValueType # 1
133
+ Bluetooth: DeviceType.Enum.ValueType # 2
134
+ CarPlay: DeviceType.Enum.ValueType # 3
135
+ BuiltIn: DeviceType.Enum.ValueType # 4
136
+ Wired: DeviceType.Enum.ValueType # 5
137
+
138
+ def __init__(
139
+ self,
140
+ ) -> None: ...
141
+
142
+ global___DeviceType = DeviceType
143
+
144
+ @typing.final
145
+ class DeviceSubType(google.protobuf.message.Message):
146
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
147
+
148
+ class _Enum:
149
+ ValueType = typing.NewType("ValueType", builtins.int)
150
+ V: typing_extensions.TypeAlias = ValueType
151
+
152
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeviceSubType._Enum.ValueType], builtins.type):
153
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
154
+ Default: DeviceSubType._Enum.ValueType # 0
155
+ Speaker: DeviceSubType._Enum.ValueType # 1
156
+ Headphones: DeviceSubType._Enum.ValueType # 2
157
+ Headset: DeviceSubType._Enum.ValueType # 3
158
+ Receiver: DeviceSubType._Enum.ValueType # 4
159
+ LineOut: DeviceSubType._Enum.ValueType # 5
160
+ USB: DeviceSubType._Enum.ValueType # 6
161
+ DisplayPort: DeviceSubType._Enum.ValueType # 7
162
+ HDMI: DeviceSubType._Enum.ValueType # 8
163
+ LowEnergy: DeviceSubType._Enum.ValueType # 9
164
+ SPDIF: DeviceSubType._Enum.ValueType # 10
165
+ TV: DeviceSubType._Enum.ValueType # 11
166
+ HomePod: DeviceSubType._Enum.ValueType # 12
167
+ AppleTV: DeviceSubType._Enum.ValueType # 13
168
+ Vehicle: DeviceSubType._Enum.ValueType # 14
169
+ Cluster: DeviceSubType._Enum.ValueType # 15
170
+ SetTopBox: DeviceSubType._Enum.ValueType # 16
171
+ TVStick: DeviceSubType._Enum.ValueType # 17
172
+
173
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
174
+ Default: DeviceSubType.Enum.ValueType # 0
175
+ Speaker: DeviceSubType.Enum.ValueType # 1
176
+ Headphones: DeviceSubType.Enum.ValueType # 2
177
+ Headset: DeviceSubType.Enum.ValueType # 3
178
+ Receiver: DeviceSubType.Enum.ValueType # 4
179
+ LineOut: DeviceSubType.Enum.ValueType # 5
180
+ USB: DeviceSubType.Enum.ValueType # 6
181
+ DisplayPort: DeviceSubType.Enum.ValueType # 7
182
+ HDMI: DeviceSubType.Enum.ValueType # 8
183
+ LowEnergy: DeviceSubType.Enum.ValueType # 9
184
+ SPDIF: DeviceSubType.Enum.ValueType # 10
185
+ TV: DeviceSubType.Enum.ValueType # 11
186
+ HomePod: DeviceSubType.Enum.ValueType # 12
187
+ AppleTV: DeviceSubType.Enum.ValueType # 13
188
+ Vehicle: DeviceSubType.Enum.ValueType # 14
189
+ Cluster: DeviceSubType.Enum.ValueType # 15
190
+ SetTopBox: DeviceSubType.Enum.ValueType # 16
191
+ TVStick: DeviceSubType.Enum.ValueType # 17
192
+
193
+ def __init__(
194
+ self,
195
+ ) -> None: ...
196
+
197
+ global___DeviceSubType = DeviceSubType
198
+
199
+ @typing.final
200
+ class PlaybackState(google.protobuf.message.Message):
201
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
202
+
203
+ class _Enum:
204
+ ValueType = typing.NewType("ValueType", builtins.int)
205
+ V: typing_extensions.TypeAlias = ValueType
206
+
207
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PlaybackState._Enum.ValueType], builtins.type):
208
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
209
+ Unknown: PlaybackState._Enum.ValueType # 0
210
+ Playing: PlaybackState._Enum.ValueType # 1
211
+ Paused: PlaybackState._Enum.ValueType # 2
212
+ Stopped: PlaybackState._Enum.ValueType # 3
213
+ Interrupted: PlaybackState._Enum.ValueType # 4
214
+ Seeking: PlaybackState._Enum.ValueType # 5
215
+
216
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
217
+ Unknown: PlaybackState.Enum.ValueType # 0
218
+ Playing: PlaybackState.Enum.ValueType # 1
219
+ Paused: PlaybackState.Enum.ValueType # 2
220
+ Stopped: PlaybackState.Enum.ValueType # 3
221
+ Interrupted: PlaybackState.Enum.ValueType # 4
222
+ Seeking: PlaybackState.Enum.ValueType # 5
223
+
224
+ def __init__(
225
+ self,
226
+ ) -> None: ...
227
+
228
+ global___PlaybackState = PlaybackState
@@ -0,0 +1,11 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+
5
+ extend ProtocolMessage {
6
+ optional ConfigureConnectionMessage configureConnectionMessage = 94;
7
+ }
8
+
9
+ message ConfigureConnectionMessage {
10
+ optional string groupID = 1;
11
+ }
@@ -0,0 +1,32 @@
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 ConfigureConnectionMessage(google.protobuf.message.Message):
17
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
18
+
19
+ GROUPID_FIELD_NUMBER: builtins.int
20
+ groupID: builtins.str
21
+ def __init__(
22
+ self,
23
+ *,
24
+ groupID: builtins.str | None = ...,
25
+ ) -> None: ...
26
+ def HasField(self, field_name: typing.Literal["groupID", b"groupID"]) -> builtins.bool: ...
27
+ def ClearField(self, field_name: typing.Literal["groupID", b"groupID"]) -> None: ...
28
+
29
+ global___ConfigureConnectionMessage = ConfigureConnectionMessage
30
+
31
+ CONFIGURECONNECTIONMESSAGE_FIELD_NUMBER: builtins.int
32
+ configureConnectionMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___ConfigureConnectionMessage]
@@ -0,0 +1,27 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ContentItemMetadata.proto";
4
+ import "pyatv/protocols/mrp/protobuf/LanguageOption.proto";
5
+
6
+ message LanguageOptionGroup {
7
+ optional bool allowEmptySelection = 1;
8
+ optional LanguageOption defaultLanguageOption = 2;
9
+ repeated LanguageOption languageOptions = 3;
10
+ }
11
+
12
+ message ContentItem {
13
+ optional string identifier = 1;
14
+ optional ContentItemMetadata metadata = 2;
15
+ optional bytes artworkData = 3;
16
+ optional string info = 4;
17
+ repeated LanguageOptionGroup availableLanguageOptions = 5;
18
+ repeated LanguageOption currentLanguageOptions = 6;
19
+ // optional Lyrics lyrics = 7;
20
+ // repeated Sections sections = 8;
21
+ optional string parentIdentifier = 9;
22
+ optional string ancestorIdentifier = 10;
23
+ optional string queueIdentifier = 11;
24
+ optional string requestIdentifier = 12;
25
+ optional int32 artworkDataWidth = 13;
26
+ optional int32 artworkDataHeight = 14;
27
+ }