@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,566 @@
1
+ /* Document
2
+ * ========================================================================== */
3
+
4
+ /**
5
+ * Add border box sizing in all browsers (opinionated).
6
+ */
7
+
8
+ *,
9
+ ::before,
10
+ ::after {
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ /**
15
+ * 1. Add text decoration inheritance in all browsers (opinionated).
16
+ * 2. Add vertical alignment inheritance in all browsers (opinionated).
17
+ */
18
+
19
+ ::before,
20
+ ::after {
21
+ text-decoration: inherit; /* 1 */
22
+ vertical-align: inherit; /* 2 */
23
+ }
24
+
25
+ /**
26
+ * 1. Use the default cursor in all browsers (opinionated).
27
+ * 2. Change the line height in all browsers (opinionated).
28
+ * 3. Use a 4-space tab width in all browsers (opinionated).
29
+ * 4. Remove the grey highlight on links in iOS (opinionated).
30
+ * 5. Prevent adjustments of font size after orientation changes in
31
+ * IE on Windows Phone and in iOS.
32
+ * 6. Breaks words to prevent overflow in all browsers (opinionated).
33
+ */
34
+
35
+ html {
36
+ cursor: default; /* 1 */
37
+ line-height: 1.5; /* 2 */
38
+ -moz-tab-size: 4; /* 3 */
39
+ tab-size: 4; /* 3 */
40
+ -webkit-tap-highlight-color: transparent /* 4 */;
41
+ -ms-text-size-adjust: 100%; /* 5 */
42
+ -webkit-text-size-adjust: 100%; /* 5 */
43
+ word-break: break-word; /* 6 */
44
+ }
45
+
46
+ /* Sections
47
+ * ========================================================================== */
48
+
49
+ /**
50
+ * Remove the margin in all browsers (opinionated).
51
+ */
52
+
53
+ body {
54
+ margin: 0;
55
+ }
56
+
57
+ /**
58
+ * Correct the font size and margin on `h1` elements within `section` and
59
+ * `article` contexts in Chrome, Edge, Firefox, and Safari.
60
+ */
61
+
62
+ h1 {
63
+ font-size: 2em;
64
+ margin: 0.67em 0;
65
+ }
66
+
67
+ /* Grouping content
68
+ * ========================================================================== */
69
+
70
+ /**
71
+ * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
72
+ */
73
+
74
+ dl dl,
75
+ dl ol,
76
+ dl ul,
77
+ ol dl,
78
+ ul dl {
79
+ margin: 0;
80
+ }
81
+
82
+ /**
83
+ * Remove the margin on nested lists in Edge 18- and IE.
84
+ */
85
+
86
+ ol ol,
87
+ ol ul,
88
+ ul ol,
89
+ ul ul {
90
+ margin: 0;
91
+ }
92
+
93
+ /**
94
+ * 1. Add the correct sizing in Firefox.
95
+ * 2. Show the overflow in Edge 18- and IE.
96
+ */
97
+
98
+ hr {
99
+ height: 0; /* 1 */
100
+ overflow: visible; /* 2 */
101
+ }
102
+
103
+ /**
104
+ * Add the correct display in IE.
105
+ */
106
+
107
+ main {
108
+ display: block;
109
+ }
110
+
111
+ /**
112
+ * Remove the list style on navigation lists in all browsers (opinionated).
113
+ */
114
+
115
+ nav ol,
116
+ nav ul {
117
+ list-style: none;
118
+ padding: 0;
119
+ }
120
+
121
+ /**
122
+ * 1. Correct the inheritance and scaling of font size in all browsers.
123
+ * 2. Correct the odd `em` font sizing in all browsers.
124
+ */
125
+
126
+ pre {
127
+ font-family: monospace, monospace; /* 1 */
128
+ font-size: 1em; /* 2 */
129
+ }
130
+
131
+ /* Text-level semantics
132
+ * ========================================================================== */
133
+
134
+ /**
135
+ * Remove the gray background on active links in IE 10.
136
+ */
137
+
138
+ a {
139
+ background-color: transparent;
140
+ }
141
+
142
+ /**
143
+ * Add the correct text decoration in Edge 18-, IE, and Safari.
144
+ */
145
+
146
+ abbr[title] {
147
+ text-decoration: underline;
148
+ text-decoration: underline dotted;
149
+ }
150
+
151
+ /**
152
+ * Add the correct font weight in Chrome, Edge, and Safari.
153
+ */
154
+
155
+ b,
156
+ strong {
157
+ font-weight: bolder;
158
+ }
159
+
160
+ /**
161
+ * 1. Correct the inheritance and scaling of font size in all browsers.
162
+ * 2. Correct the odd `em` font sizing in all browsers.
163
+ */
164
+
165
+ code,
166
+ kbd,
167
+ samp {
168
+ font-family: monospace, monospace; /* 1 */
169
+ font-size: 1em; /* 2 */
170
+ }
171
+
172
+ /**
173
+ * Add the correct font size in all browsers.
174
+ */
175
+
176
+ small {
177
+ font-size: 80%;
178
+ }
179
+
180
+ /* Embedded content
181
+ * ========================================================================== */
182
+
183
+ /*
184
+ * Change the alignment on media elements in all browsers (opinionated).
185
+ */
186
+
187
+ audio,
188
+ canvas,
189
+ iframe,
190
+ img,
191
+ svg,
192
+ video {
193
+ vertical-align: middle;
194
+ }
195
+
196
+ /**
197
+ * Add the correct display in IE 9-.
198
+ */
199
+
200
+ audio,
201
+ video {
202
+ display: inline-block;
203
+ }
204
+
205
+ /**
206
+ * Add the correct display in iOS 4-7.
207
+ */
208
+
209
+ audio:not([controls]) {
210
+ display: none;
211
+ height: 0;
212
+ }
213
+
214
+ /**
215
+ * Remove the border on iframes in all browsers (opinionated).
216
+ */
217
+
218
+ iframe {
219
+ border-style: none;
220
+ }
221
+
222
+ /**
223
+ * Remove the border on images within links in IE 10-.
224
+ */
225
+
226
+ img {
227
+ border-style: none;
228
+ }
229
+
230
+ /**
231
+ * Change the fill color to match the text color in all browsers (opinionated).
232
+ */
233
+
234
+ svg:not([fill]) {
235
+ fill: currentColor;
236
+ }
237
+
238
+ /**
239
+ * Hide the overflow in IE.
240
+ */
241
+
242
+ svg:not(:root) {
243
+ overflow: hidden;
244
+ }
245
+
246
+ /* Tabular data
247
+ * ========================================================================== */
248
+
249
+ /**
250
+ * Collapse border spacing in all browsers (opinionated).
251
+ */
252
+
253
+ table {
254
+ border-collapse: collapse;
255
+ }
256
+
257
+ /* Forms
258
+ * ========================================================================== */
259
+
260
+ /**
261
+ * Remove the margin on controls in Safari.
262
+ */
263
+
264
+ button,
265
+ input,
266
+ select {
267
+ margin: 0;
268
+ }
269
+
270
+ /**
271
+ * 1. Show the overflow in IE.
272
+ * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
273
+ */
274
+
275
+ button {
276
+ overflow: visible; /* 1 */
277
+ text-transform: none; /* 2 */
278
+ }
279
+
280
+ /**
281
+ * Correct the inability to style buttons in iOS and Safari.
282
+ */
283
+
284
+ button,
285
+ [type="button"],
286
+ [type="reset"],
287
+ [type="submit"] {
288
+ -webkit-appearance: button;
289
+ }
290
+
291
+ /**
292
+ * 1. Change the inconsistent appearance in all browsers (opinionated).
293
+ * 2. Correct the padding in Firefox.
294
+ */
295
+
296
+ fieldset {
297
+ border: 1px solid #a0a0a0; /* 1 */
298
+ padding: 0.35em 0.75em 0.625em; /* 2 */
299
+ }
300
+
301
+ /**
302
+ * Show the overflow in Edge 18- and IE.
303
+ */
304
+
305
+ input {
306
+ overflow: visible;
307
+ }
308
+
309
+ /**
310
+ * 1. Correct the text wrapping in Edge 18- and IE.
311
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
312
+ */
313
+
314
+ legend {
315
+ color: inherit; /* 2 */
316
+ display: table; /* 1 */
317
+ max-width: 100%; /* 1 */
318
+ white-space: normal; /* 1 */
319
+ }
320
+
321
+ /**
322
+ * 1. Add the correct display in Edge 18- and IE.
323
+ * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
324
+ */
325
+
326
+ progress {
327
+ display: inline-block; /* 1 */
328
+ vertical-align: baseline; /* 2 */
329
+ }
330
+
331
+ /**
332
+ * Remove the inheritance of text transform in Firefox.
333
+ */
334
+
335
+ select {
336
+ text-transform: none;
337
+ }
338
+
339
+ /**
340
+ * 1. Remove the margin in Firefox and Safari.
341
+ * 2. Remove the default vertical scrollbar in IE.
342
+ * 3. Change the resize direction in all browsers (opinionated).
343
+ */
344
+
345
+ textarea {
346
+ margin: 0; /* 1 */
347
+ overflow: auto; /* 2 */
348
+ resize: vertical; /* 3 */
349
+ }
350
+
351
+ /**
352
+ * Remove the padding in IE 10-.
353
+ */
354
+
355
+ [type="checkbox"],
356
+ [type="radio"] {
357
+ padding: 0;
358
+ }
359
+
360
+ /**
361
+ * 1. Correct the odd appearance in Chrome, Edge, and Safari.
362
+ * 2. Correct the outline style in Safari.
363
+ */
364
+
365
+ [type="search"] {
366
+ -webkit-appearance: textfield; /* 1 */
367
+ outline-offset: -2px; /* 2 */
368
+ }
369
+
370
+ /**
371
+ * Correct the cursor style of increment and decrement buttons in Safari.
372
+ */
373
+
374
+ ::-webkit-inner-spin-button,
375
+ ::-webkit-outer-spin-button {
376
+ height: auto;
377
+ }
378
+
379
+ /**
380
+ * Correct the text style of placeholders in Chrome, Edge, and Safari.
381
+ */
382
+
383
+ ::-webkit-input-placeholder {
384
+ color: inherit;
385
+ opacity: 0.54;
386
+ }
387
+
388
+ /**
389
+ * Remove the inner padding in Chrome, Edge, and Safari on macOS.
390
+ */
391
+
392
+ ::-webkit-search-decoration {
393
+ -webkit-appearance: none;
394
+ }
395
+
396
+ /**
397
+ * 1. Correct the inability to style upload buttons in iOS and Safari.
398
+ * 2. Change font properties to `inherit` in Safari.
399
+ */
400
+
401
+ ::-webkit-file-upload-button {
402
+ -webkit-appearance: button; /* 1 */
403
+ font: inherit; /* 2 */
404
+ }
405
+
406
+ /**
407
+ * Remove the inner border and padding of focus outlines in Firefox.
408
+ */
409
+
410
+ ::-moz-focus-inner {
411
+ border-style: none;
412
+ padding: 0;
413
+ }
414
+
415
+ /**
416
+ * Restore the focus outline styles unset by the previous rule in Firefox.
417
+ */
418
+
419
+ :-moz-focusring {
420
+ outline: 1px dotted ButtonText;
421
+ }
422
+
423
+ /**
424
+ * Remove the additional :invalid styles in Firefox.
425
+ */
426
+
427
+ :-moz-ui-invalid {
428
+ box-shadow: none;
429
+ }
430
+
431
+ /* Interactive
432
+ * ========================================================================== */
433
+
434
+ /*
435
+ * Add the correct display in Edge 18- and IE.
436
+ */
437
+
438
+ details {
439
+ display: block;
440
+ }
441
+
442
+ /*
443
+ * Add the correct styles in Edge 18-, IE, and Safari.
444
+ */
445
+
446
+ dialog {
447
+ background-color: white;
448
+ border: solid;
449
+ color: black;
450
+ display: block;
451
+ height: -moz-fit-content;
452
+ height: -webkit-fit-content;
453
+ height: fit-content;
454
+ left: 0;
455
+ margin: auto;
456
+ padding: 1em;
457
+ position: absolute;
458
+ right: 0;
459
+ width: -moz-fit-content;
460
+ width: -webkit-fit-content;
461
+ width: fit-content;
462
+ }
463
+
464
+ dialog:not([open]) {
465
+ display: none;
466
+ }
467
+
468
+ /*
469
+ * Add the correct display in all browsers.
470
+ */
471
+
472
+ summary {
473
+ display: list-item;
474
+ }
475
+
476
+ /* Scripting
477
+ * ========================================================================== */
478
+
479
+ /**
480
+ * Add the correct display in IE 9-.
481
+ */
482
+
483
+ canvas {
484
+ display: inline-block;
485
+ }
486
+
487
+ /**
488
+ * Add the correct display in IE.
489
+ */
490
+
491
+ template {
492
+ display: none;
493
+ }
494
+
495
+ /* User interaction
496
+ * ========================================================================== */
497
+
498
+ /*
499
+ * 1. Remove the tapping delay in IE 10.
500
+ * 2. Remove the tapping delay on clickable elements
501
+ in all browsers (opinionated).
502
+ */
503
+
504
+ a,
505
+ area,
506
+ button,
507
+ input,
508
+ label,
509
+ select,
510
+ summary,
511
+ textarea,
512
+ [tabindex] {
513
+ -ms-touch-action: manipulation; /* 1 */
514
+ touch-action: manipulation; /* 2 */
515
+ }
516
+
517
+ /**
518
+ * Add the correct display in IE 10-.
519
+ */
520
+
521
+ [hidden] {
522
+ display: none;
523
+ }
524
+
525
+ /* Accessibility
526
+ * ========================================================================== */
527
+
528
+ /**
529
+ * Change the cursor on busy elements in all browsers (opinionated).
530
+ */
531
+
532
+ [aria-busy="true"] {
533
+ cursor: progress;
534
+ }
535
+
536
+ /*
537
+ * Change the cursor on control elements in all browsers (opinionated).
538
+ */
539
+
540
+ [aria-controls] {
541
+ cursor: pointer;
542
+ }
543
+
544
+ /*
545
+ * Change the cursor on disabled, not-editable, or otherwise
546
+ * inoperable elements in all browsers (opinionated).
547
+ */
548
+
549
+ [aria-disabled="true"],
550
+ [disabled] {
551
+ cursor: not-allowed;
552
+ }
553
+
554
+ /*
555
+ * Change the display on visually hidden accessible elements
556
+ * in all browsers (opinionated).
557
+ */
558
+
559
+ [aria-hidden="false"][hidden] {
560
+ display: initial;
561
+ }
562
+
563
+ [aria-hidden="false"][hidden]:not(:focus) {
564
+ clip: rect(0, 0, 0, 0);
565
+ position: absolute;
566
+ }
@@ -0,0 +1,9 @@
1
+ ---
2
+ ---
3
+
4
+ @import "{{ site.theme }}";
5
+ @import "sanitize.css";
6
+ @import "normalize.css";
7
+ @import "hljs.css";
8
+ @import "pdoc.css";
9
+ @import "custom.css";
@@ -0,0 +1,63 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
5
+ <path style="fill:#455A64;" d="M496,223.85H16c-8.837,0-16,7.163-16,16v128c4.845,48.376,47.544,83.958,96,80h320
6
+ c48.456,3.958,91.155-31.624,96-80v-128C512,231.013,504.837,223.85,496,223.85z"/>
7
+ <path style="fill:#37474F;" d="M508.16,215.114c-0.192-0.576-0.416-1.152-0.64-1.696l-31.136-93.472
8
+ c0-0.448-0.256-0.896-0.416-1.376C465.01,85.919,434.441,63.9,400,63.85H112c-34.441,0.05-65.01,22.069-75.968,54.72l-0.288,0.992
9
+ L4.352,213.738c-0.184,0.439-0.344,0.888-0.48,1.344C1.376,223.104,0.071,231.449,0,239.85c0,44.183,35.817,80,80,80h352
10
+ c44.183,0,80-35.817,80-80C511.936,231.461,510.642,223.127,508.16,215.114z"/>
11
+ <path d="M432,319.85H80c-44.183,0-80-35.817-80-80c0.064-8.389,1.358-16.723,3.84-24.736c0.191-0.599,0.415-1.186,0.672-1.76
12
+ l31.104-93.376c0-0.48,0.256-0.928,0.416-1.408C46.99,85.919,77.559,63.9,112,63.85h288c34.441,0.05,65.01,22.069,75.968,54.72
13
+ c0,0.48,0.288,0.928,0.416,1.376l31.136,93.472c0.224,0.544,0.448,1.12,0.64,1.696c2.482,8.013,3.776,16.347,3.84,24.736
14
+ C512,284.033,476.183,319.85,432,319.85z M34.176,225.418c-1.389,4.687-2.121,9.544-2.176,14.432c0,26.51,21.49,48,48,48h352
15
+ c26.51,0,48-21.49,48-48c-0.057-4.898-0.789-9.766-2.176-14.464l-0.288-0.736l-32-96l-0.32-1.056
16
+ C438.291,108.578,420.237,95.903,400,95.85H112c-20.237,0.053-38.291,12.728-45.216,31.744l-0.32,1.056l-32,96L34.176,225.418z"/>
17
+ <path d="M416,447.85H96c-48.451,3.94-91.138-31.633-96-80c0-8.837,7.163-16,16-16s16,7.163,16,16c0,26.464,28.8,48,64,48h320
18
+ c35.2,0,64-21.536,64-48c0-8.837,7.163-16,16-16s16,7.163,16,16C507.138,416.217,464.451,451.79,416,447.85z"/>
19
+ <path d="M16,383.85c-8.837,0-16-7.163-16-16v-128c0-8.837,7.163-16,16-16s16,7.163,16,16v128C32,376.686,24.837,383.85,16,383.85z"
20
+ />
21
+ <path d="M496,383.85c-8.837,0-16-7.163-16-16v-128c0-8.837,7.163-16,16-16s16,7.163,16,16v128
22
+ C512,376.686,504.837,383.85,496,383.85z"/>
23
+ <g>
24
+ <path style="fill:#FAFAFA;" d="M225.984,191.85H160c-8.837,0-16-7.163-16-16s7.163-16,16-16h65.984c8.837,0,16,7.163,16,16
25
+ S234.821,191.85,225.984,191.85z"/>
26
+ <path style="fill:#FAFAFA;" d="M192,255.85c-8.837,0-16-7.163-16-16v-64c0-8.837,7.163-16,16-16s16,7.163,16,16v64
27
+ C208,248.686,200.837,255.85,192,255.85z"/>
28
+ <path style="fill:#FAFAFA;" d="M320,255.85c-6.055,0-11.591-3.419-14.304-8.832l-32-64c-4.02-7.869-0.899-17.507,6.97-21.527
29
+ s17.507-0.899,21.527,6.97c0.038,0.074,0.075,0.147,0.111,0.221L320,204.074l17.696-35.392c3.898-7.931,13.486-11.2,21.417-7.302
30
+ c7.931,3.898,11.2,13.486,7.302,21.417c-0.036,0.074-0.073,0.148-0.111,0.221l-32,64C331.591,252.431,326.055,255.85,320,255.85z"
31
+ />
32
+ </g>
33
+ <g>
34
+ </g>
35
+ <g>
36
+ </g>
37
+ <g>
38
+ </g>
39
+ <g>
40
+ </g>
41
+ <g>
42
+ </g>
43
+ <g>
44
+ </g>
45
+ <g>
46
+ </g>
47
+ <g>
48
+ </g>
49
+ <g>
50
+ </g>
51
+ <g>
52
+ </g>
53
+ <g>
54
+ </g>
55
+ <g>
56
+ </g>
57
+ <g>
58
+ </g>
59
+ <g>
60
+ </g>
61
+ <g>
62
+ </g>
63
+ </svg>