@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,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 SetArtworkMessage(google.protobuf.message.Message):
17
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
18
+
19
+ JPEGDATA_FIELD_NUMBER: builtins.int
20
+ jpegData: builtins.bytes
21
+ def __init__(
22
+ self,
23
+ *,
24
+ jpegData: builtins.bytes | None = ...,
25
+ ) -> None: ...
26
+ def HasField(self, field_name: typing.Literal["jpegData", b"jpegData"]) -> builtins.bool: ...
27
+ def ClearField(self, field_name: typing.Literal["jpegData", b"jpegData"]) -> None: ...
28
+
29
+ global___SetArtworkMessage = SetArtworkMessage
30
+
31
+ SETARTWORKMESSAGE_FIELD_NUMBER: builtins.int
32
+ setArtworkMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetArtworkMessage]
@@ -0,0 +1,18 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+
5
+ extend ProtocolMessage {
6
+ optional SetConnectionStateMessage setConnectionStateMessage = 42;
7
+ }
8
+
9
+ message SetConnectionStateMessage {
10
+ enum ConnectionState {
11
+ None = 0;
12
+ Connecting = 1;
13
+ Connected = 2;
14
+ Disconnected = 3;
15
+ }
16
+
17
+ optional ConnectionState state = 1;
18
+ }
@@ -0,0 +1,54 @@
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.internal.extension_dict
10
+ import google.protobuf.message
11
+ import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
12
+ import sys
13
+ import typing
14
+
15
+ if sys.version_info >= (3, 10):
16
+ import typing as typing_extensions
17
+ else:
18
+ import typing_extensions
19
+
20
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
21
+
22
+ @typing.final
23
+ class SetConnectionStateMessage(google.protobuf.message.Message):
24
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
25
+
26
+ class _ConnectionState:
27
+ ValueType = typing.NewType("ValueType", builtins.int)
28
+ V: typing_extensions.TypeAlias = ValueType
29
+
30
+ class _ConnectionStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SetConnectionStateMessage._ConnectionState.ValueType], builtins.type):
31
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
32
+ Connecting: SetConnectionStateMessage._ConnectionState.ValueType # 1
33
+ Connected: SetConnectionStateMessage._ConnectionState.ValueType # 2
34
+ Disconnected: SetConnectionStateMessage._ConnectionState.ValueType # 3
35
+
36
+ class ConnectionState(_ConnectionState, metaclass=_ConnectionStateEnumTypeWrapper): ...
37
+ Connecting: SetConnectionStateMessage.ConnectionState.ValueType # 1
38
+ Connected: SetConnectionStateMessage.ConnectionState.ValueType # 2
39
+ Disconnected: SetConnectionStateMessage.ConnectionState.ValueType # 3
40
+
41
+ STATE_FIELD_NUMBER: builtins.int
42
+ state: global___SetConnectionStateMessage.ConnectionState.ValueType
43
+ def __init__(
44
+ self,
45
+ *,
46
+ state: global___SetConnectionStateMessage.ConnectionState.ValueType | None = ...,
47
+ ) -> None: ...
48
+ def HasField(self, field_name: typing.Literal["state", b"state"]) -> builtins.bool: ...
49
+ def ClearField(self, field_name: typing.Literal["state", b"state"]) -> None: ...
50
+
51
+ global___SetConnectionStateMessage = SetConnectionStateMessage
52
+
53
+ SETCONNECTIONSTATEMESSAGE_FIELD_NUMBER: builtins.int
54
+ setConnectionStateMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetConnectionStateMessage]
@@ -0,0 +1,28 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+ import "pyatv/protocols/mrp/protobuf/NowPlayingInfo.proto";
5
+ import "pyatv/protocols/mrp/protobuf/PlaybackQueue.proto";
6
+ import "pyatv/protocols/mrp/protobuf/SupportedCommands.proto";
7
+ import "pyatv/protocols/mrp/protobuf/PlaybackQueueCapabilities.proto";
8
+ import "pyatv/protocols/mrp/protobuf/PlayerPath.proto";
9
+ import "pyatv/protocols/mrp/protobuf/PlaybackQueueRequestMessage.proto";
10
+ import "pyatv/protocols/mrp/protobuf/Common.proto";
11
+
12
+ extend ProtocolMessage {
13
+ optional SetDefaultSupportedCommandsMessage setDefaultSupportedCommandsMessage = 75;
14
+ }
15
+
16
+ // Seems to be the same as SetStateMessage
17
+ message SetDefaultSupportedCommandsMessage {
18
+ optional NowPlayingInfo nowPlayingInfo = 1;
19
+ optional SupportedCommands supportedCommands = 2;
20
+ optional PlaybackQueue playbackQueue = 3;
21
+ optional string displayID = 4;
22
+ optional string displayName = 5;
23
+ optional PlaybackState.Enum playbackState = 6;
24
+ optional PlaybackQueueCapabilities playbackQueueCapabilities = 8;
25
+ optional PlayerPath playerPath = 9;
26
+ optional PlaybackQueueRequestMessage request = 10;
27
+ optional double playbackStateTimestamp = 11;
28
+ }
@@ -0,0 +1,74 @@
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.Common_pb2
11
+ import pyatv.protocols.mrp.protobuf.NowPlayingInfo_pb2
12
+ import pyatv.protocols.mrp.protobuf.PlaybackQueueCapabilities_pb2
13
+ import pyatv.protocols.mrp.protobuf.PlaybackQueueRequestMessage_pb2
14
+ import pyatv.protocols.mrp.protobuf.PlaybackQueue_pb2
15
+ import pyatv.protocols.mrp.protobuf.PlayerPath_pb2
16
+ import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
17
+ import pyatv.protocols.mrp.protobuf.SupportedCommands_pb2
18
+ import typing
19
+
20
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
21
+
22
+ @typing.final
23
+ class SetDefaultSupportedCommandsMessage(google.protobuf.message.Message):
24
+ """Seems to be the same as SetStateMessage"""
25
+
26
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
27
+
28
+ NOWPLAYINGINFO_FIELD_NUMBER: builtins.int
29
+ SUPPORTEDCOMMANDS_FIELD_NUMBER: builtins.int
30
+ PLAYBACKQUEUE_FIELD_NUMBER: builtins.int
31
+ DISPLAYID_FIELD_NUMBER: builtins.int
32
+ DISPLAYNAME_FIELD_NUMBER: builtins.int
33
+ PLAYBACKSTATE_FIELD_NUMBER: builtins.int
34
+ PLAYBACKQUEUECAPABILITIES_FIELD_NUMBER: builtins.int
35
+ PLAYERPATH_FIELD_NUMBER: builtins.int
36
+ REQUEST_FIELD_NUMBER: builtins.int
37
+ PLAYBACKSTATETIMESTAMP_FIELD_NUMBER: builtins.int
38
+ displayID: builtins.str
39
+ displayName: builtins.str
40
+ playbackState: pyatv.protocols.mrp.protobuf.Common_pb2.PlaybackState.Enum.ValueType
41
+ playbackStateTimestamp: builtins.float
42
+ @property
43
+ def nowPlayingInfo(self) -> pyatv.protocols.mrp.protobuf.NowPlayingInfo_pb2.NowPlayingInfo: ...
44
+ @property
45
+ def supportedCommands(self) -> pyatv.protocols.mrp.protobuf.SupportedCommands_pb2.SupportedCommands: ...
46
+ @property
47
+ def playbackQueue(self) -> pyatv.protocols.mrp.protobuf.PlaybackQueue_pb2.PlaybackQueue: ...
48
+ @property
49
+ def playbackQueueCapabilities(self) -> pyatv.protocols.mrp.protobuf.PlaybackQueueCapabilities_pb2.PlaybackQueueCapabilities: ...
50
+ @property
51
+ def playerPath(self) -> pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath: ...
52
+ @property
53
+ def request(self) -> pyatv.protocols.mrp.protobuf.PlaybackQueueRequestMessage_pb2.PlaybackQueueRequestMessage: ...
54
+ def __init__(
55
+ self,
56
+ *,
57
+ nowPlayingInfo: pyatv.protocols.mrp.protobuf.NowPlayingInfo_pb2.NowPlayingInfo | None = ...,
58
+ supportedCommands: pyatv.protocols.mrp.protobuf.SupportedCommands_pb2.SupportedCommands | None = ...,
59
+ playbackQueue: pyatv.protocols.mrp.protobuf.PlaybackQueue_pb2.PlaybackQueue | None = ...,
60
+ displayID: builtins.str | None = ...,
61
+ displayName: builtins.str | None = ...,
62
+ playbackState: pyatv.protocols.mrp.protobuf.Common_pb2.PlaybackState.Enum.ValueType | None = ...,
63
+ playbackQueueCapabilities: pyatv.protocols.mrp.protobuf.PlaybackQueueCapabilities_pb2.PlaybackQueueCapabilities | None = ...,
64
+ playerPath: pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath | None = ...,
65
+ request: pyatv.protocols.mrp.protobuf.PlaybackQueueRequestMessage_pb2.PlaybackQueueRequestMessage | None = ...,
66
+ playbackStateTimestamp: builtins.float | None = ...,
67
+ ) -> None: ...
68
+ def HasField(self, field_name: typing.Literal["displayID", b"displayID", "displayName", b"displayName", "nowPlayingInfo", b"nowPlayingInfo", "playbackQueue", b"playbackQueue", "playbackQueueCapabilities", b"playbackQueueCapabilities", "playbackState", b"playbackState", "playbackStateTimestamp", b"playbackStateTimestamp", "playerPath", b"playerPath", "request", b"request", "supportedCommands", b"supportedCommands"]) -> builtins.bool: ...
69
+ def ClearField(self, field_name: typing.Literal["displayID", b"displayID", "displayName", b"displayName", "nowPlayingInfo", b"nowPlayingInfo", "playbackQueue", b"playbackQueue", "playbackQueueCapabilities", b"playbackQueueCapabilities", "playbackState", b"playbackState", "playbackStateTimestamp", b"playbackStateTimestamp", "playerPath", b"playerPath", "request", b"request", "supportedCommands", b"supportedCommands"]) -> None: ...
70
+
71
+ global___SetDefaultSupportedCommandsMessage = SetDefaultSupportedCommandsMessage
72
+
73
+ SETDEFAULTSUPPORTEDCOMMANDSMESSAGE_FIELD_NUMBER: builtins.int
74
+ setDefaultSupportedCommandsMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetDefaultSupportedCommandsMessage]
@@ -0,0 +1,12 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+
5
+ extend ProtocolMessage {
6
+ optional SetDiscoveryModeMessage setDiscoveryModeMessage = 82;
7
+ }
8
+
9
+ message SetDiscoveryModeMessage {
10
+ optional int32 mode = 1;
11
+ optional int32 features = 2;
12
+ }
@@ -0,0 +1,35 @@
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 SetDiscoveryModeMessage(google.protobuf.message.Message):
17
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
18
+
19
+ MODE_FIELD_NUMBER: builtins.int
20
+ FEATURES_FIELD_NUMBER: builtins.int
21
+ mode: builtins.int
22
+ features: builtins.int
23
+ def __init__(
24
+ self,
25
+ *,
26
+ mode: builtins.int | None = ...,
27
+ features: builtins.int | None = ...,
28
+ ) -> None: ...
29
+ def HasField(self, field_name: typing.Literal["features", b"features", "mode", b"mode"]) -> builtins.bool: ...
30
+ def ClearField(self, field_name: typing.Literal["features", b"features", "mode", b"mode"]) -> None: ...
31
+
32
+ global___SetDiscoveryModeMessage = SetDiscoveryModeMessage
33
+
34
+ SETDISCOVERYMODEMESSAGE_FIELD_NUMBER: builtins.int
35
+ setDiscoveryModeMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetDiscoveryModeMessage]
@@ -0,0 +1,11 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+
5
+ extend ProtocolMessage {
6
+ optional SetHiliteModeMessage setHiliteModeMessage = 44;
7
+ }
8
+
9
+ message SetHiliteModeMessage {
10
+ optional int32 hiliteMode = 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 SetHiliteModeMessage(google.protobuf.message.Message):
17
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
18
+
19
+ HILITEMODE_FIELD_NUMBER: builtins.int
20
+ hiliteMode: builtins.int
21
+ def __init__(
22
+ self,
23
+ *,
24
+ hiliteMode: builtins.int | None = ...,
25
+ ) -> None: ...
26
+ def HasField(self, field_name: typing.Literal["hiliteMode", b"hiliteMode"]) -> builtins.bool: ...
27
+ def ClearField(self, field_name: typing.Literal["hiliteMode", b"hiliteMode"]) -> None: ...
28
+
29
+ global___SetHiliteModeMessage = SetHiliteModeMessage
30
+
31
+ SETHILITEMODEMESSAGE_FIELD_NUMBER: builtins.int
32
+ setHiliteModeMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetHiliteModeMessage]
@@ -0,0 +1,12 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+ import "pyatv/protocols/mrp/protobuf/NowPlayingClient.proto";
5
+
6
+ extend ProtocolMessage {
7
+ optional SetNowPlayingClientMessage setNowPlayingClientMessage = 50;
8
+ }
9
+
10
+ message SetNowPlayingClientMessage {
11
+ optional NowPlayingClient client = 1;
12
+ }
@@ -0,0 +1,34 @@
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.NowPlayingClient_pb2
11
+ import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
12
+ import typing
13
+
14
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
15
+
16
+ @typing.final
17
+ class SetNowPlayingClientMessage(google.protobuf.message.Message):
18
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
19
+
20
+ CLIENT_FIELD_NUMBER: builtins.int
21
+ @property
22
+ def client(self) -> pyatv.protocols.mrp.protobuf.NowPlayingClient_pb2.NowPlayingClient: ...
23
+ def __init__(
24
+ self,
25
+ *,
26
+ client: pyatv.protocols.mrp.protobuf.NowPlayingClient_pb2.NowPlayingClient | None = ...,
27
+ ) -> None: ...
28
+ def HasField(self, field_name: typing.Literal["client", b"client"]) -> builtins.bool: ...
29
+ def ClearField(self, field_name: typing.Literal["client", b"client"]) -> None: ...
30
+
31
+ global___SetNowPlayingClientMessage = SetNowPlayingClientMessage
32
+
33
+ SETNOWPLAYINGCLIENTMESSAGE_FIELD_NUMBER: builtins.int
34
+ setNowPlayingClientMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetNowPlayingClientMessage]
@@ -0,0 +1,12 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+ import "pyatv/protocols/mrp/protobuf/PlayerPath.proto";
5
+
6
+ extend ProtocolMessage {
7
+ optional SetNowPlayingPlayerMessage setNowPlayingPlayerMessage = 51;
8
+ }
9
+
10
+ message SetNowPlayingPlayerMessage {
11
+ optional PlayerPath playerPath = 1;
12
+ }
@@ -0,0 +1,34 @@
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.PlayerPath_pb2
11
+ import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
12
+ import typing
13
+
14
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
15
+
16
+ @typing.final
17
+ class SetNowPlayingPlayerMessage(google.protobuf.message.Message):
18
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
19
+
20
+ PLAYERPATH_FIELD_NUMBER: builtins.int
21
+ @property
22
+ def playerPath(self) -> pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath: ...
23
+ def __init__(
24
+ self,
25
+ *,
26
+ playerPath: pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath | None = ...,
27
+ ) -> None: ...
28
+ def HasField(self, field_name: typing.Literal["playerPath", b"playerPath"]) -> builtins.bool: ...
29
+ def ClearField(self, field_name: typing.Literal["playerPath", b"playerPath"]) -> None: ...
30
+
31
+ global___SetNowPlayingPlayerMessage = SetNowPlayingPlayerMessage
32
+
33
+ SETNOWPLAYINGPLAYERMESSAGE_FIELD_NUMBER: builtins.int
34
+ setNowPlayingPlayerMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetNowPlayingPlayerMessage]
@@ -0,0 +1,17 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+
5
+ extend ProtocolMessage {
6
+ optional SetRecordingStateMessage setRecordingStateMessage = 35;
7
+ }
8
+
9
+ message SetRecordingStateMessage {
10
+ enum RecordingState {
11
+ Unknown = 0;
12
+ Recording = 1;
13
+ NotRecording = 2;
14
+ }
15
+
16
+ optional RecordingState state = 1;
17
+ }
@@ -0,0 +1,54 @@
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.internal.extension_dict
10
+ import google.protobuf.message
11
+ import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
12
+ import sys
13
+ import typing
14
+
15
+ if sys.version_info >= (3, 10):
16
+ import typing as typing_extensions
17
+ else:
18
+ import typing_extensions
19
+
20
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
21
+
22
+ @typing.final
23
+ class SetRecordingStateMessage(google.protobuf.message.Message):
24
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
25
+
26
+ class _RecordingState:
27
+ ValueType = typing.NewType("ValueType", builtins.int)
28
+ V: typing_extensions.TypeAlias = ValueType
29
+
30
+ class _RecordingStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SetRecordingStateMessage._RecordingState.ValueType], builtins.type):
31
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
32
+ Unknown: SetRecordingStateMessage._RecordingState.ValueType # 0
33
+ Recording: SetRecordingStateMessage._RecordingState.ValueType # 1
34
+ NotRecording: SetRecordingStateMessage._RecordingState.ValueType # 2
35
+
36
+ class RecordingState(_RecordingState, metaclass=_RecordingStateEnumTypeWrapper): ...
37
+ Unknown: SetRecordingStateMessage.RecordingState.ValueType # 0
38
+ Recording: SetRecordingStateMessage.RecordingState.ValueType # 1
39
+ NotRecording: SetRecordingStateMessage.RecordingState.ValueType # 2
40
+
41
+ STATE_FIELD_NUMBER: builtins.int
42
+ state: global___SetRecordingStateMessage.RecordingState.ValueType
43
+ def __init__(
44
+ self,
45
+ *,
46
+ state: global___SetRecordingStateMessage.RecordingState.ValueType | None = ...,
47
+ ) -> None: ...
48
+ def HasField(self, field_name: typing.Literal["state", b"state"]) -> builtins.bool: ...
49
+ def ClearField(self, field_name: typing.Literal["state", b"state"]) -> None: ...
50
+
51
+ global___SetRecordingStateMessage = SetRecordingStateMessage
52
+
53
+ SETRECORDINGSTATEMESSAGE_FIELD_NUMBER: builtins.int
54
+ setRecordingStateMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetRecordingStateMessage]
@@ -0,0 +1,27 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+ import "pyatv/protocols/mrp/protobuf/NowPlayingInfo.proto";
5
+ import "pyatv/protocols/mrp/protobuf/PlaybackQueue.proto";
6
+ import "pyatv/protocols/mrp/protobuf/SupportedCommands.proto";
7
+ import "pyatv/protocols/mrp/protobuf/PlaybackQueueCapabilities.proto";
8
+ import "pyatv/protocols/mrp/protobuf/PlayerPath.proto";
9
+ import "pyatv/protocols/mrp/protobuf/PlaybackQueueRequestMessage.proto";
10
+ import "pyatv/protocols/mrp/protobuf/Common.proto";
11
+
12
+ extend ProtocolMessage {
13
+ optional SetStateMessage setStateMessage = 9;
14
+ }
15
+
16
+ message SetStateMessage {
17
+ optional NowPlayingInfo nowPlayingInfo = 1;
18
+ optional SupportedCommands supportedCommands = 2;
19
+ optional PlaybackQueue playbackQueue = 3;
20
+ optional string displayID = 4;
21
+ optional string displayName = 5;
22
+ optional PlaybackState.Enum playbackState = 6;
23
+ optional PlaybackQueueCapabilities playbackQueueCapabilities = 8;
24
+ optional PlayerPath playerPath = 9;
25
+ optional PlaybackQueueRequestMessage request = 10;
26
+ optional double playbackStateTimestamp = 11;
27
+ }
@@ -0,0 +1,72 @@
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.Common_pb2
11
+ import pyatv.protocols.mrp.protobuf.NowPlayingInfo_pb2
12
+ import pyatv.protocols.mrp.protobuf.PlaybackQueueCapabilities_pb2
13
+ import pyatv.protocols.mrp.protobuf.PlaybackQueueRequestMessage_pb2
14
+ import pyatv.protocols.mrp.protobuf.PlaybackQueue_pb2
15
+ import pyatv.protocols.mrp.protobuf.PlayerPath_pb2
16
+ import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
17
+ import pyatv.protocols.mrp.protobuf.SupportedCommands_pb2
18
+ import typing
19
+
20
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
21
+
22
+ @typing.final
23
+ class SetStateMessage(google.protobuf.message.Message):
24
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
25
+
26
+ NOWPLAYINGINFO_FIELD_NUMBER: builtins.int
27
+ SUPPORTEDCOMMANDS_FIELD_NUMBER: builtins.int
28
+ PLAYBACKQUEUE_FIELD_NUMBER: builtins.int
29
+ DISPLAYID_FIELD_NUMBER: builtins.int
30
+ DISPLAYNAME_FIELD_NUMBER: builtins.int
31
+ PLAYBACKSTATE_FIELD_NUMBER: builtins.int
32
+ PLAYBACKQUEUECAPABILITIES_FIELD_NUMBER: builtins.int
33
+ PLAYERPATH_FIELD_NUMBER: builtins.int
34
+ REQUEST_FIELD_NUMBER: builtins.int
35
+ PLAYBACKSTATETIMESTAMP_FIELD_NUMBER: builtins.int
36
+ displayID: builtins.str
37
+ displayName: builtins.str
38
+ playbackState: pyatv.protocols.mrp.protobuf.Common_pb2.PlaybackState.Enum.ValueType
39
+ playbackStateTimestamp: builtins.float
40
+ @property
41
+ def nowPlayingInfo(self) -> pyatv.protocols.mrp.protobuf.NowPlayingInfo_pb2.NowPlayingInfo: ...
42
+ @property
43
+ def supportedCommands(self) -> pyatv.protocols.mrp.protobuf.SupportedCommands_pb2.SupportedCommands: ...
44
+ @property
45
+ def playbackQueue(self) -> pyatv.protocols.mrp.protobuf.PlaybackQueue_pb2.PlaybackQueue: ...
46
+ @property
47
+ def playbackQueueCapabilities(self) -> pyatv.protocols.mrp.protobuf.PlaybackQueueCapabilities_pb2.PlaybackQueueCapabilities: ...
48
+ @property
49
+ def playerPath(self) -> pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath: ...
50
+ @property
51
+ def request(self) -> pyatv.protocols.mrp.protobuf.PlaybackQueueRequestMessage_pb2.PlaybackQueueRequestMessage: ...
52
+ def __init__(
53
+ self,
54
+ *,
55
+ nowPlayingInfo: pyatv.protocols.mrp.protobuf.NowPlayingInfo_pb2.NowPlayingInfo | None = ...,
56
+ supportedCommands: pyatv.protocols.mrp.protobuf.SupportedCommands_pb2.SupportedCommands | None = ...,
57
+ playbackQueue: pyatv.protocols.mrp.protobuf.PlaybackQueue_pb2.PlaybackQueue | None = ...,
58
+ displayID: builtins.str | None = ...,
59
+ displayName: builtins.str | None = ...,
60
+ playbackState: pyatv.protocols.mrp.protobuf.Common_pb2.PlaybackState.Enum.ValueType | None = ...,
61
+ playbackQueueCapabilities: pyatv.protocols.mrp.protobuf.PlaybackQueueCapabilities_pb2.PlaybackQueueCapabilities | None = ...,
62
+ playerPath: pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath | None = ...,
63
+ request: pyatv.protocols.mrp.protobuf.PlaybackQueueRequestMessage_pb2.PlaybackQueueRequestMessage | None = ...,
64
+ playbackStateTimestamp: builtins.float | None = ...,
65
+ ) -> None: ...
66
+ def HasField(self, field_name: typing.Literal["displayID", b"displayID", "displayName", b"displayName", "nowPlayingInfo", b"nowPlayingInfo", "playbackQueue", b"playbackQueue", "playbackQueueCapabilities", b"playbackQueueCapabilities", "playbackState", b"playbackState", "playbackStateTimestamp", b"playbackStateTimestamp", "playerPath", b"playerPath", "request", b"request", "supportedCommands", b"supportedCommands"]) -> builtins.bool: ...
67
+ def ClearField(self, field_name: typing.Literal["displayID", b"displayID", "displayName", b"displayName", "nowPlayingInfo", b"nowPlayingInfo", "playbackQueue", b"playbackQueue", "playbackQueueCapabilities", b"playbackQueueCapabilities", "playbackState", b"playbackState", "playbackStateTimestamp", b"playbackStateTimestamp", "playerPath", b"playerPath", "request", b"request", "supportedCommands", b"supportedCommands"]) -> None: ...
68
+
69
+ global___SetStateMessage = SetStateMessage
70
+
71
+ SETSTATEMESSAGE_FIELD_NUMBER: builtins.int
72
+ setStateMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetStateMessage]
@@ -0,0 +1,12 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/ProtocolMessage.proto";
4
+
5
+ extend ProtocolMessage {
6
+ optional SetVolumeMessage setVolumeMessage = 55;
7
+ }
8
+
9
+ message SetVolumeMessage {
10
+ optional float volume = 1;
11
+ optional string outputDeviceUID = 2;
12
+ }
@@ -0,0 +1,35 @@
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 SetVolumeMessage(google.protobuf.message.Message):
17
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
18
+
19
+ VOLUME_FIELD_NUMBER: builtins.int
20
+ OUTPUTDEVICEUID_FIELD_NUMBER: builtins.int
21
+ volume: builtins.float
22
+ outputDeviceUID: builtins.str
23
+ def __init__(
24
+ self,
25
+ *,
26
+ volume: builtins.float | None = ...,
27
+ outputDeviceUID: builtins.str | None = ...,
28
+ ) -> None: ...
29
+ def HasField(self, field_name: typing.Literal["outputDeviceUID", b"outputDeviceUID", "volume", b"volume"]) -> builtins.bool: ...
30
+ def ClearField(self, field_name: typing.Literal["outputDeviceUID", b"outputDeviceUID", "volume", b"volume"]) -> None: ...
31
+
32
+ global___SetVolumeMessage = SetVolumeMessage
33
+
34
+ SETVOLUMEMESSAGE_FIELD_NUMBER: builtins.int
35
+ setVolumeMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___SetVolumeMessage]
@@ -0,0 +1,7 @@
1
+ syntax = "proto2";
2
+
3
+ import "pyatv/protocols/mrp/protobuf/CommandInfo.proto";
4
+
5
+ message SupportedCommands {
6
+ repeated CommandInfo supportedCommands = 1;
7
+ }