@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,630 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import collections.abc
8
+ import google.protobuf.descriptor
9
+ import google.protobuf.internal.containers
10
+ import google.protobuf.internal.enum_type_wrapper
11
+ import google.protobuf.message
12
+ import 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 AudioRouteType(google.protobuf.message.Message):
24
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
25
+
26
+ class _Enum:
27
+ ValueType = typing.NewType("ValueType", builtins.int)
28
+ V: typing_extensions.TypeAlias = ValueType
29
+
30
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AudioRouteType._Enum.ValueType], builtins.type):
31
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
32
+ Unknown: AudioRouteType._Enum.ValueType # 0
33
+ DevicesSpeaker: AudioRouteType._Enum.ValueType # 1
34
+ LineOut: AudioRouteType._Enum.ValueType # 2
35
+ Headphones: AudioRouteType._Enum.ValueType # 3
36
+ BluetoothHeadphones: AudioRouteType._Enum.ValueType # 4
37
+ BluetoothSpeaker: AudioRouteType._Enum.ValueType # 5
38
+ USBAudio: AudioRouteType._Enum.ValueType # 6
39
+ CarAudio: AudioRouteType._Enum.ValueType # 7
40
+ HDMI: AudioRouteType._Enum.ValueType # 8
41
+ AirPlay: AudioRouteType._Enum.ValueType # 9
42
+
43
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
44
+ Unknown: AudioRouteType.Enum.ValueType # 0
45
+ DevicesSpeaker: AudioRouteType.Enum.ValueType # 1
46
+ LineOut: AudioRouteType.Enum.ValueType # 2
47
+ Headphones: AudioRouteType.Enum.ValueType # 3
48
+ BluetoothHeadphones: AudioRouteType.Enum.ValueType # 4
49
+ BluetoothSpeaker: AudioRouteType.Enum.ValueType # 5
50
+ USBAudio: AudioRouteType.Enum.ValueType # 6
51
+ CarAudio: AudioRouteType.Enum.ValueType # 7
52
+ HDMI: AudioRouteType.Enum.ValueType # 8
53
+ AirPlay: AudioRouteType.Enum.ValueType # 9
54
+
55
+ def __init__(
56
+ self,
57
+ ) -> None: ...
58
+
59
+ global___AudioRouteType = AudioRouteType
60
+
61
+ @typing.final
62
+ class AudioRoute(google.protobuf.message.Message):
63
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
64
+
65
+ TYPE_FIELD_NUMBER: builtins.int
66
+ NAME_FIELD_NUMBER: builtins.int
67
+ SUPPORTSSPATIALIZATION_FIELD_NUMBER: builtins.int
68
+ name: builtins.str
69
+ supportsSpatialization: builtins.bool
70
+ @property
71
+ def type(self) -> global___AudioRouteType: ...
72
+ def __init__(
73
+ self,
74
+ *,
75
+ type: global___AudioRouteType | None = ...,
76
+ name: builtins.str | None = ...,
77
+ supportsSpatialization: builtins.bool | None = ...,
78
+ ) -> None: ...
79
+ def HasField(self, field_name: typing.Literal["name", b"name", "supportsSpatialization", b"supportsSpatialization", "type", b"type"]) -> builtins.bool: ...
80
+ def ClearField(self, field_name: typing.Literal["name", b"name", "supportsSpatialization", b"supportsSpatialization", "type", b"type"]) -> None: ...
81
+
82
+ global___AudioRoute = AudioRoute
83
+
84
+ @typing.final
85
+ class AudioTier(google.protobuf.message.Message):
86
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
87
+
88
+ class _Enum:
89
+ ValueType = typing.NewType("ValueType", builtins.int)
90
+ V: typing_extensions.TypeAlias = ValueType
91
+
92
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AudioTier._Enum.ValueType], builtins.type):
93
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
94
+ LowBandwidthStereo: AudioTier._Enum.ValueType # 1
95
+ HighQualityStereo: AudioTier._Enum.ValueType # 2
96
+ Lossless: AudioTier._Enum.ValueType # 3
97
+ HighResolutionLossless: AudioTier._Enum.ValueType # 4
98
+ Spatial: AudioTier._Enum.ValueType # 5
99
+
100
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
101
+ LowBandwidthStereo: AudioTier.Enum.ValueType # 1
102
+ HighQualityStereo: AudioTier.Enum.ValueType # 2
103
+ Lossless: AudioTier.Enum.ValueType # 3
104
+ HighResolutionLossless: AudioTier.Enum.ValueType # 4
105
+ Spatial: AudioTier.Enum.ValueType # 5
106
+
107
+ def __init__(
108
+ self,
109
+ ) -> None: ...
110
+
111
+ global___AudioTier = AudioTier
112
+
113
+ @typing.final
114
+ class SongTraits(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[SongTraits._Enum.ValueType], builtins.type):
122
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
123
+ AppleDigitialMaster: SongTraits._Enum.ValueType # 1
124
+ Lossless: SongTraits._Enum.ValueType # 2
125
+ HighResolutionLossless: SongTraits._Enum.ValueType # 4
126
+ Spatial: SongTraits._Enum.ValueType # 8
127
+ Atmos: SongTraits._Enum.ValueType # 16
128
+ Surround: SongTraits._Enum.ValueType # 32
129
+
130
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
131
+ AppleDigitialMaster: SongTraits.Enum.ValueType # 1
132
+ Lossless: SongTraits.Enum.ValueType # 2
133
+ HighResolutionLossless: SongTraits.Enum.ValueType # 4
134
+ Spatial: SongTraits.Enum.ValueType # 8
135
+ Atmos: SongTraits.Enum.ValueType # 16
136
+ Surround: SongTraits.Enum.ValueType # 32
137
+
138
+ def __init__(
139
+ self,
140
+ ) -> None: ...
141
+
142
+ global___SongTraits = SongTraits
143
+
144
+ @typing.final
145
+ class AlbumTraits(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[AlbumTraits._Enum.ValueType], builtins.type):
153
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
154
+ AppleDigitialMaster: AlbumTraits._Enum.ValueType # 1
155
+ Lossless: AlbumTraits._Enum.ValueType # 2
156
+ HighResolutionLossless: AlbumTraits._Enum.ValueType # 4
157
+ Spatial: AlbumTraits._Enum.ValueType # 8
158
+ Atmos: AlbumTraits._Enum.ValueType # 16
159
+ Surround: AlbumTraits._Enum.ValueType # 32
160
+
161
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
162
+ AppleDigitialMaster: AlbumTraits.Enum.ValueType # 1
163
+ Lossless: AlbumTraits.Enum.ValueType # 2
164
+ HighResolutionLossless: AlbumTraits.Enum.ValueType # 4
165
+ Spatial: AlbumTraits.Enum.ValueType # 8
166
+ Atmos: AlbumTraits.Enum.ValueType # 16
167
+ Surround: AlbumTraits.Enum.ValueType # 32
168
+
169
+ def __init__(
170
+ self,
171
+ ) -> None: ...
172
+
173
+ global___AlbumTraits = AlbumTraits
174
+
175
+ @typing.final
176
+ class PlaylistTraits(google.protobuf.message.Message):
177
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
178
+
179
+ class _Enum:
180
+ ValueType = typing.NewType("ValueType", builtins.int)
181
+ V: typing_extensions.TypeAlias = ValueType
182
+
183
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PlaylistTraits._Enum.ValueType], builtins.type):
184
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
185
+ Spatial: PlaylistTraits._Enum.ValueType # 8
186
+ Atmos: PlaylistTraits._Enum.ValueType # 16
187
+ Surround: PlaylistTraits._Enum.ValueType # 32
188
+
189
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
190
+ Spatial: PlaylistTraits.Enum.ValueType # 8
191
+ Atmos: PlaylistTraits.Enum.ValueType # 16
192
+ Surround: PlaylistTraits.Enum.ValueType # 32
193
+
194
+ def __init__(
195
+ self,
196
+ ) -> None: ...
197
+
198
+ global___PlaylistTraits = PlaylistTraits
199
+
200
+ @typing.final
201
+ class ActiveFormatJustification(google.protobuf.message.Message):
202
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
203
+
204
+ class _Enum:
205
+ ValueType = typing.NewType("ValueType", builtins.int)
206
+ V: typing_extensions.TypeAlias = ValueType
207
+
208
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ActiveFormatJustification._Enum.ValueType], builtins.type):
209
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
210
+ Unknown: ActiveFormatJustification._Enum.ValueType # 0
211
+ Unavailable: ActiveFormatJustification._Enum.ValueType # 1
212
+ UserPreference: ActiveFormatJustification._Enum.ValueType # 100
213
+ UserDownload: ActiveFormatJustification._Enum.ValueType # 101
214
+ RouteIncompatible: ActiveFormatJustification._Enum.ValueType # 500
215
+ RouteUnknownCompatibility: ActiveFormatJustification._Enum.ValueType # 501
216
+ BandwidthInsufficient: ActiveFormatJustification._Enum.ValueType # 1000
217
+
218
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
219
+ Unknown: ActiveFormatJustification.Enum.ValueType # 0
220
+ Unavailable: ActiveFormatJustification.Enum.ValueType # 1
221
+ UserPreference: ActiveFormatJustification.Enum.ValueType # 100
222
+ UserDownload: ActiveFormatJustification.Enum.ValueType # 101
223
+ RouteIncompatible: ActiveFormatJustification.Enum.ValueType # 500
224
+ RouteUnknownCompatibility: ActiveFormatJustification.Enum.ValueType # 501
225
+ BandwidthInsufficient: ActiveFormatJustification.Enum.ValueType # 1000
226
+
227
+ def __init__(
228
+ self,
229
+ ) -> None: ...
230
+
231
+ global___ActiveFormatJustification = ActiveFormatJustification
232
+
233
+ @typing.final
234
+ class FormatTier(google.protobuf.message.Message):
235
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
236
+
237
+ class _Enum:
238
+ ValueType = typing.NewType("ValueType", builtins.int)
239
+ V: typing_extensions.TypeAlias = ValueType
240
+
241
+ class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FormatTier._Enum.ValueType], builtins.type):
242
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
243
+ LowBandwidthStereo: FormatTier._Enum.ValueType # 1
244
+ HighQualityStereo: FormatTier._Enum.ValueType # 2
245
+ Lossless: FormatTier._Enum.ValueType # 4
246
+ HighResolutionLossless: FormatTier._Enum.ValueType # 8
247
+ Spatial: FormatTier._Enum.ValueType # 16
248
+
249
+ class Enum(_Enum, metaclass=_EnumEnumTypeWrapper): ...
250
+ LowBandwidthStereo: FormatTier.Enum.ValueType # 1
251
+ HighQualityStereo: FormatTier.Enum.ValueType # 2
252
+ Lossless: FormatTier.Enum.ValueType # 4
253
+ HighResolutionLossless: FormatTier.Enum.ValueType # 8
254
+ Spatial: FormatTier.Enum.ValueType # 16
255
+
256
+ def __init__(
257
+ self,
258
+ ) -> None: ...
259
+
260
+ global___FormatTier = FormatTier
261
+
262
+ @typing.final
263
+ class AudioFormat(google.protobuf.message.Message):
264
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
265
+
266
+ TIER_FIELD_NUMBER: builtins.int
267
+ BITRATE_FIELD_NUMBER: builtins.int
268
+ SAMPLERATE_FIELD_NUMBER: builtins.int
269
+ BITDEPTH_FIELD_NUMBER: builtins.int
270
+ CODEC_FIELD_NUMBER: builtins.int
271
+ SPATIALIZED_FIELD_NUMBER: builtins.int
272
+ MULTICHANNEL_FIELD_NUMBER: builtins.int
273
+ CHANNELLAYOUT_FIELD_NUMBER: builtins.int
274
+ AUDIOCHANNELLAYOUTDESCRIPTION_FIELD_NUMBER: builtins.int
275
+ GROUPID_FIELD_NUMBER: builtins.int
276
+ STABLEVARIANTID_FIELD_NUMBER: builtins.int
277
+ tier: global___AudioTier.Enum.ValueType
278
+ bitrate: builtins.int
279
+ sampleRate: builtins.int
280
+ bitDepth: builtins.int
281
+ codec: builtins.int
282
+ spatialized: builtins.bool
283
+ multiChannel: builtins.bool
284
+ channelLayout: builtins.int
285
+ audioChannelLayoutDescription: builtins.str
286
+ groupID: builtins.str
287
+ stableVariantID: builtins.str
288
+ def __init__(
289
+ self,
290
+ *,
291
+ tier: global___AudioTier.Enum.ValueType | None = ...,
292
+ bitrate: builtins.int | None = ...,
293
+ sampleRate: builtins.int | None = ...,
294
+ bitDepth: builtins.int | None = ...,
295
+ codec: builtins.int | None = ...,
296
+ spatialized: builtins.bool | None = ...,
297
+ multiChannel: builtins.bool | None = ...,
298
+ channelLayout: builtins.int | None = ...,
299
+ audioChannelLayoutDescription: builtins.str | None = ...,
300
+ groupID: builtins.str | None = ...,
301
+ stableVariantID: builtins.str | None = ...,
302
+ ) -> None: ...
303
+ def HasField(self, field_name: typing.Literal["audioChannelLayoutDescription", b"audioChannelLayoutDescription", "bitDepth", b"bitDepth", "bitrate", b"bitrate", "channelLayout", b"channelLayout", "codec", b"codec", "groupID", b"groupID", "multiChannel", b"multiChannel", "sampleRate", b"sampleRate", "spatialized", b"spatialized", "stableVariantID", b"stableVariantID", "tier", b"tier"]) -> builtins.bool: ...
304
+ def ClearField(self, field_name: typing.Literal["audioChannelLayoutDescription", b"audioChannelLayoutDescription", "bitDepth", b"bitDepth", "bitrate", b"bitrate", "channelLayout", b"channelLayout", "codec", b"codec", "groupID", b"groupID", "multiChannel", b"multiChannel", "sampleRate", b"sampleRate", "spatialized", b"spatialized", "stableVariantID", b"stableVariantID", "tier", b"tier"]) -> None: ...
305
+
306
+ global___AudioFormat = AudioFormat
307
+
308
+ @typing.final
309
+ class ContentItemMetadata(google.protobuf.message.Message):
310
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
311
+
312
+ class _MediaType:
313
+ ValueType = typing.NewType("ValueType", builtins.int)
314
+ V: typing_extensions.TypeAlias = ValueType
315
+
316
+ class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContentItemMetadata._MediaType.ValueType], builtins.type):
317
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
318
+ UnknownMediaType: ContentItemMetadata._MediaType.ValueType # 0
319
+ Audio: ContentItemMetadata._MediaType.ValueType # 1
320
+ Video: ContentItemMetadata._MediaType.ValueType # 2
321
+
322
+ class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ...
323
+ UnknownMediaType: ContentItemMetadata.MediaType.ValueType # 0
324
+ Audio: ContentItemMetadata.MediaType.ValueType # 1
325
+ Video: ContentItemMetadata.MediaType.ValueType # 2
326
+
327
+ class _MediaSubType:
328
+ ValueType = typing.NewType("ValueType", builtins.int)
329
+ V: typing_extensions.TypeAlias = ValueType
330
+
331
+ class _MediaSubTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContentItemMetadata._MediaSubType.ValueType], builtins.type):
332
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
333
+ UnknownMediaSubType: ContentItemMetadata._MediaSubType.ValueType # 0
334
+ Music: ContentItemMetadata._MediaSubType.ValueType # 1
335
+ Podcast: ContentItemMetadata._MediaSubType.ValueType # 4
336
+ AudioBook: ContentItemMetadata._MediaSubType.ValueType # 5
337
+ ITunesU: ContentItemMetadata._MediaSubType.ValueType # 6
338
+
339
+ class MediaSubType(_MediaSubType, metaclass=_MediaSubTypeEnumTypeWrapper): ...
340
+ UnknownMediaSubType: ContentItemMetadata.MediaSubType.ValueType # 0
341
+ Music: ContentItemMetadata.MediaSubType.ValueType # 1
342
+ Podcast: ContentItemMetadata.MediaSubType.ValueType # 4
343
+ AudioBook: ContentItemMetadata.MediaSubType.ValueType # 5
344
+ ITunesU: ContentItemMetadata.MediaSubType.ValueType # 6
345
+
346
+ TITLE_FIELD_NUMBER: builtins.int
347
+ SUBTITLE_FIELD_NUMBER: builtins.int
348
+ ISCONTAINER_FIELD_NUMBER: builtins.int
349
+ ISPLAYABLE_FIELD_NUMBER: builtins.int
350
+ PLAYBACKPROGRESS_FIELD_NUMBER: builtins.int
351
+ ALBUMNAME_FIELD_NUMBER: builtins.int
352
+ TRACKARTISTNAME_FIELD_NUMBER: builtins.int
353
+ ALBUMARTISTNAME_FIELD_NUMBER: builtins.int
354
+ DIRECTORNAME_FIELD_NUMBER: builtins.int
355
+ SEASONNUMBER_FIELD_NUMBER: builtins.int
356
+ EPISODENUMBER_FIELD_NUMBER: builtins.int
357
+ RELEASEDATE_FIELD_NUMBER: builtins.int
358
+ PLAYCOUNT_FIELD_NUMBER: builtins.int
359
+ DURATION_FIELD_NUMBER: builtins.int
360
+ LOCALIZEDCONTENTRATING_FIELD_NUMBER: builtins.int
361
+ ISEXPLICITITEM_FIELD_NUMBER: builtins.int
362
+ PLAYLISTTYPE_FIELD_NUMBER: builtins.int
363
+ RADIOSTATIONTYPE_FIELD_NUMBER: builtins.int
364
+ ARTWORKAVAILABLE_FIELD_NUMBER: builtins.int
365
+ INFOAVAILABLE_FIELD_NUMBER: builtins.int
366
+ LANGUAGEOPTIONSAVAILABLE_FIELD_NUMBER: builtins.int
367
+ NUMBEROFSECTIONS_FIELD_NUMBER: builtins.int
368
+ LYRICSAVAILABLE_FIELD_NUMBER: builtins.int
369
+ EDITINGSTYLEFLAGS_FIELD_NUMBER: builtins.int
370
+ ISSTREAMINGCONTENT_FIELD_NUMBER: builtins.int
371
+ ISCURRENTLYPLAYING_FIELD_NUMBER: builtins.int
372
+ COLLECTIONIDENTIFIER_FIELD_NUMBER: builtins.int
373
+ PROFILEIDENTIFIER_FIELD_NUMBER: builtins.int
374
+ STARTTIME_FIELD_NUMBER: builtins.int
375
+ ARTWORKMIMETYPE_FIELD_NUMBER: builtins.int
376
+ ASSETURLSTRING_FIELD_NUMBER: builtins.int
377
+ COMPOSER_FIELD_NUMBER: builtins.int
378
+ DISCNUMBER_FIELD_NUMBER: builtins.int
379
+ ELAPSEDTIME_FIELD_NUMBER: builtins.int
380
+ GENRE_FIELD_NUMBER: builtins.int
381
+ ISALWAYSLIVE_FIELD_NUMBER: builtins.int
382
+ PLAYBACKRATE_FIELD_NUMBER: builtins.int
383
+ CHAPTERCOUNT_FIELD_NUMBER: builtins.int
384
+ TOTALDISCCOUNT_FIELD_NUMBER: builtins.int
385
+ TOTALTRACKCOUNT_FIELD_NUMBER: builtins.int
386
+ TRACKNUMBER_FIELD_NUMBER: builtins.int
387
+ CONTENTIDENTIFIER_FIELD_NUMBER: builtins.int
388
+ ISSHARABLE_FIELD_NUMBER: builtins.int
389
+ ISLIKED_FIELD_NUMBER: builtins.int
390
+ ISINWISHLIST_FIELD_NUMBER: builtins.int
391
+ RADIOSTATIONIDENTIFIER_FIELD_NUMBER: builtins.int
392
+ RADIOSTATIONNAME_FIELD_NUMBER: builtins.int
393
+ RADIOSTATIONSTRING_FIELD_NUMBER: builtins.int
394
+ ITUNESSTOREIDENTIFIER_FIELD_NUMBER: builtins.int
395
+ ITUNESSTORESUBSCRIPTIONIDENTIFIER_FIELD_NUMBER: builtins.int
396
+ ITUNESSTOREARTISTIDENTIFIER_FIELD_NUMBER: builtins.int
397
+ ITUNESSTOREALBUMIDENTIFIER_FIELD_NUMBER: builtins.int
398
+ PURCHASEINFODATA_FIELD_NUMBER: builtins.int
399
+ DEFAULTPLAYBACKRATE_FIELD_NUMBER: builtins.int
400
+ DOWNLOADSTATE_FIELD_NUMBER: builtins.int
401
+ DOWNLOADPROGRESS_FIELD_NUMBER: builtins.int
402
+ APPMETRICSDATA_FIELD_NUMBER: builtins.int
403
+ SERIESNAME_FIELD_NUMBER: builtins.int
404
+ MEDIATYPE_FIELD_NUMBER: builtins.int
405
+ MEDIASUBTYPE_FIELD_NUMBER: builtins.int
406
+ NOWPLAYINGINFODATA_FIELD_NUMBER: builtins.int
407
+ USERINFODATA_FIELD_NUMBER: builtins.int
408
+ ISSTEERABLE_FIELD_NUMBER: builtins.int
409
+ ARTWORKURL_FIELD_NUMBER: builtins.int
410
+ LYRICSURL_FIELD_NUMBER: builtins.int
411
+ DEVICESPECIFICUSERINFODATA_FIELD_NUMBER: builtins.int
412
+ COLLECTIONINFODATA_FIELD_NUMBER: builtins.int
413
+ ELAPSEDTIMETIMESTAMP_FIELD_NUMBER: builtins.int
414
+ INFERREDTIMESTAMP_FIELD_NUMBER: builtins.int
415
+ SERVICEIDENTIFIER_FIELD_NUMBER: builtins.int
416
+ ARTWORKDATAWIDTH_FIELD_NUMBER: builtins.int
417
+ ARTWORKDATAHEIGHT_FIELD_NUMBER: builtins.int
418
+ CURRENTPLAYBACKDATEDATA_FIELD_NUMBER: builtins.int
419
+ ARTWORKIDENTIFIER_FIELD_NUMBER: builtins.int
420
+ ISLOADING_FIELD_NUMBER: builtins.int
421
+ ARTWORKURLTEMPLATESDATA_FIELD_NUMBER: builtins.int
422
+ LEGACYUNIQUEIDENTIFIER_FIELD_NUMBER: builtins.int
423
+ EPISODETYPE_FIELD_NUMBER: builtins.int
424
+ ARTWORKFILEURL_FIELD_NUMBER: builtins.int
425
+ BRANDIDENTIFIER_FIELD_NUMBER: builtins.int
426
+ LOCALIZEDDURATIONSTRING_FIELD_NUMBER: builtins.int
427
+ ALBUMYEAR_FIELD_NUMBER: builtins.int
428
+ SONGTRAITS_FIELD_NUMBER: builtins.int
429
+ ALBUMTRAITS_FIELD_NUMBER: builtins.int
430
+ PLAYLISTTRAITS_FIELD_NUMBER: builtins.int
431
+ PREFERREDFORMAT_FIELD_NUMBER: builtins.int
432
+ ACTIVEFORMAT_FIELD_NUMBER: builtins.int
433
+ ACTIVEFORMATJUSTIFICATION_FIELD_NUMBER: builtins.int
434
+ FORMATTIERPREFERENCE_FIELD_NUMBER: builtins.int
435
+ AUDIOROUTE_FIELD_NUMBER: builtins.int
436
+ ALTERNATIVEFORMATS_FIELD_NUMBER: builtins.int
437
+ title: builtins.str
438
+ subtitle: builtins.str
439
+ isContainer: builtins.bool
440
+ isPlayable: builtins.bool
441
+ playbackProgress: builtins.float
442
+ albumName: builtins.str
443
+ trackArtistName: builtins.str
444
+ albumArtistName: builtins.str
445
+ directorName: builtins.str
446
+ seasonNumber: builtins.int
447
+ episodeNumber: builtins.int
448
+ releaseDate: builtins.float
449
+ playCount: builtins.int
450
+ duration: builtins.float
451
+ localizedContentRating: builtins.str
452
+ isExplicitItem: builtins.bool
453
+ playlistType: builtins.int
454
+ radioStationType: builtins.int
455
+ artworkAvailable: builtins.bool
456
+ infoAvailable: builtins.bool
457
+ languageOptionsAvailable: builtins.bool
458
+ numberOfSections: builtins.int
459
+ lyricsAvailable: builtins.bool
460
+ editingStyleFlags: builtins.int
461
+ isStreamingContent: builtins.bool
462
+ isCurrentlyPlaying: builtins.bool
463
+ collectionIdentifier: builtins.str
464
+ profileIdentifier: builtins.str
465
+ startTime: builtins.float
466
+ artworkMIMEType: builtins.str
467
+ assetURLString: builtins.str
468
+ composer: builtins.str
469
+ discNumber: builtins.int
470
+ elapsedTime: builtins.float
471
+ genre: builtins.str
472
+ isAlwaysLive: builtins.bool
473
+ playbackRate: builtins.float
474
+ chapterCount: builtins.int
475
+ totalDiscCount: builtins.int
476
+ totalTrackCount: builtins.int
477
+ trackNumber: builtins.int
478
+ contentIdentifier: builtins.str
479
+ isSharable: builtins.bool
480
+ isLiked: builtins.bool
481
+ isInWishList: builtins.bool
482
+ radioStationIdentifier: builtins.int
483
+ radioStationName: builtins.str
484
+ radioStationString: builtins.str
485
+ iTunesStoreIdentifier: builtins.int
486
+ iTunesStoreSubscriptionIdentifier: builtins.int
487
+ iTunesStoreArtistIdentifier: builtins.int
488
+ iTunesStoreAlbumIdentifier: builtins.int
489
+ purchaseInfoData: builtins.bytes
490
+ defaultPlaybackRate: builtins.float
491
+ downloadState: builtins.int
492
+ downloadProgress: builtins.float
493
+ appMetricsData: builtins.bytes
494
+ seriesName: builtins.str
495
+ mediaType: global___ContentItemMetadata.MediaType.ValueType
496
+ mediaSubType: global___ContentItemMetadata.MediaSubType.ValueType
497
+ nowPlayingInfoData: builtins.bytes
498
+ userInfoData: builtins.bytes
499
+ isSteerable: builtins.bool
500
+ artworkURL: builtins.str
501
+ lyricsURL: builtins.str
502
+ deviceSpecificUserInfoData: builtins.bytes
503
+ collectionInfoData: builtins.bytes
504
+ elapsedTimeTimestamp: builtins.float
505
+ inferredTimestamp: builtins.float
506
+ serviceIdentifier: builtins.str
507
+ artworkDataWidth: builtins.int
508
+ artworkDataHeight: builtins.int
509
+ currentPlaybackDateData: builtins.bytes
510
+ artworkIdentifier: builtins.str
511
+ isLoading: builtins.bool
512
+ artworkURLTemplatesData: builtins.bytes
513
+ legacyUniqueIdentifier: builtins.int
514
+ episodeType: builtins.int
515
+ artworkFileURL: builtins.str
516
+ brandIdentifier: builtins.str
517
+ localizedDurationString: builtins.str
518
+ albumYear: builtins.str
519
+ songTraits: global___SongTraits.Enum.ValueType
520
+ albumTraits: global___AlbumTraits.Enum.ValueType
521
+ playlistTraits: global___PlaylistTraits.Enum.ValueType
522
+ activeFormatJustification: global___ActiveFormatJustification.Enum.ValueType
523
+ formatTierPreference: global___FormatTier.Enum.ValueType
524
+ @property
525
+ def preferredFormat(self) -> global___AudioFormat: ...
526
+ @property
527
+ def activeFormat(self) -> global___AudioFormat: ...
528
+ @property
529
+ def audioRoute(self) -> global___AudioRoute: ...
530
+ @property
531
+ def alternativeFormats(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AudioFormat]: ...
532
+ def __init__(
533
+ self,
534
+ *,
535
+ title: builtins.str | None = ...,
536
+ subtitle: builtins.str | None = ...,
537
+ isContainer: builtins.bool | None = ...,
538
+ isPlayable: builtins.bool | None = ...,
539
+ playbackProgress: builtins.float | None = ...,
540
+ albumName: builtins.str | None = ...,
541
+ trackArtistName: builtins.str | None = ...,
542
+ albumArtistName: builtins.str | None = ...,
543
+ directorName: builtins.str | None = ...,
544
+ seasonNumber: builtins.int | None = ...,
545
+ episodeNumber: builtins.int | None = ...,
546
+ releaseDate: builtins.float | None = ...,
547
+ playCount: builtins.int | None = ...,
548
+ duration: builtins.float | None = ...,
549
+ localizedContentRating: builtins.str | None = ...,
550
+ isExplicitItem: builtins.bool | None = ...,
551
+ playlistType: builtins.int | None = ...,
552
+ radioStationType: builtins.int | None = ...,
553
+ artworkAvailable: builtins.bool | None = ...,
554
+ infoAvailable: builtins.bool | None = ...,
555
+ languageOptionsAvailable: builtins.bool | None = ...,
556
+ numberOfSections: builtins.int | None = ...,
557
+ lyricsAvailable: builtins.bool | None = ...,
558
+ editingStyleFlags: builtins.int | None = ...,
559
+ isStreamingContent: builtins.bool | None = ...,
560
+ isCurrentlyPlaying: builtins.bool | None = ...,
561
+ collectionIdentifier: builtins.str | None = ...,
562
+ profileIdentifier: builtins.str | None = ...,
563
+ startTime: builtins.float | None = ...,
564
+ artworkMIMEType: builtins.str | None = ...,
565
+ assetURLString: builtins.str | None = ...,
566
+ composer: builtins.str | None = ...,
567
+ discNumber: builtins.int | None = ...,
568
+ elapsedTime: builtins.float | None = ...,
569
+ genre: builtins.str | None = ...,
570
+ isAlwaysLive: builtins.bool | None = ...,
571
+ playbackRate: builtins.float | None = ...,
572
+ chapterCount: builtins.int | None = ...,
573
+ totalDiscCount: builtins.int | None = ...,
574
+ totalTrackCount: builtins.int | None = ...,
575
+ trackNumber: builtins.int | None = ...,
576
+ contentIdentifier: builtins.str | None = ...,
577
+ isSharable: builtins.bool | None = ...,
578
+ isLiked: builtins.bool | None = ...,
579
+ isInWishList: builtins.bool | None = ...,
580
+ radioStationIdentifier: builtins.int | None = ...,
581
+ radioStationName: builtins.str | None = ...,
582
+ radioStationString: builtins.str | None = ...,
583
+ iTunesStoreIdentifier: builtins.int | None = ...,
584
+ iTunesStoreSubscriptionIdentifier: builtins.int | None = ...,
585
+ iTunesStoreArtistIdentifier: builtins.int | None = ...,
586
+ iTunesStoreAlbumIdentifier: builtins.int | None = ...,
587
+ purchaseInfoData: builtins.bytes | None = ...,
588
+ defaultPlaybackRate: builtins.float | None = ...,
589
+ downloadState: builtins.int | None = ...,
590
+ downloadProgress: builtins.float | None = ...,
591
+ appMetricsData: builtins.bytes | None = ...,
592
+ seriesName: builtins.str | None = ...,
593
+ mediaType: global___ContentItemMetadata.MediaType.ValueType | None = ...,
594
+ mediaSubType: global___ContentItemMetadata.MediaSubType.ValueType | None = ...,
595
+ nowPlayingInfoData: builtins.bytes | None = ...,
596
+ userInfoData: builtins.bytes | None = ...,
597
+ isSteerable: builtins.bool | None = ...,
598
+ artworkURL: builtins.str | None = ...,
599
+ lyricsURL: builtins.str | None = ...,
600
+ deviceSpecificUserInfoData: builtins.bytes | None = ...,
601
+ collectionInfoData: builtins.bytes | None = ...,
602
+ elapsedTimeTimestamp: builtins.float | None = ...,
603
+ inferredTimestamp: builtins.float | None = ...,
604
+ serviceIdentifier: builtins.str | None = ...,
605
+ artworkDataWidth: builtins.int | None = ...,
606
+ artworkDataHeight: builtins.int | None = ...,
607
+ currentPlaybackDateData: builtins.bytes | None = ...,
608
+ artworkIdentifier: builtins.str | None = ...,
609
+ isLoading: builtins.bool | None = ...,
610
+ artworkURLTemplatesData: builtins.bytes | None = ...,
611
+ legacyUniqueIdentifier: builtins.int | None = ...,
612
+ episodeType: builtins.int | None = ...,
613
+ artworkFileURL: builtins.str | None = ...,
614
+ brandIdentifier: builtins.str | None = ...,
615
+ localizedDurationString: builtins.str | None = ...,
616
+ albumYear: builtins.str | None = ...,
617
+ songTraits: global___SongTraits.Enum.ValueType | None = ...,
618
+ albumTraits: global___AlbumTraits.Enum.ValueType | None = ...,
619
+ playlistTraits: global___PlaylistTraits.Enum.ValueType | None = ...,
620
+ preferredFormat: global___AudioFormat | None = ...,
621
+ activeFormat: global___AudioFormat | None = ...,
622
+ activeFormatJustification: global___ActiveFormatJustification.Enum.ValueType | None = ...,
623
+ formatTierPreference: global___FormatTier.Enum.ValueType | None = ...,
624
+ audioRoute: global___AudioRoute | None = ...,
625
+ alternativeFormats: collections.abc.Iterable[global___AudioFormat] | None = ...,
626
+ ) -> None: ...
627
+ def HasField(self, field_name: typing.Literal["activeFormat", b"activeFormat", "activeFormatJustification", b"activeFormatJustification", "albumArtistName", b"albumArtistName", "albumName", b"albumName", "albumTraits", b"albumTraits", "albumYear", b"albumYear", "appMetricsData", b"appMetricsData", "artworkAvailable", b"artworkAvailable", "artworkDataHeight", b"artworkDataHeight", "artworkDataWidth", b"artworkDataWidth", "artworkFileURL", b"artworkFileURL", "artworkIdentifier", b"artworkIdentifier", "artworkMIMEType", b"artworkMIMEType", "artworkURL", b"artworkURL", "artworkURLTemplatesData", b"artworkURLTemplatesData", "assetURLString", b"assetURLString", "audioRoute", b"audioRoute", "brandIdentifier", b"brandIdentifier", "chapterCount", b"chapterCount", "collectionIdentifier", b"collectionIdentifier", "collectionInfoData", b"collectionInfoData", "composer", b"composer", "contentIdentifier", b"contentIdentifier", "currentPlaybackDateData", b"currentPlaybackDateData", "defaultPlaybackRate", b"defaultPlaybackRate", "deviceSpecificUserInfoData", b"deviceSpecificUserInfoData", "directorName", b"directorName", "discNumber", b"discNumber", "downloadProgress", b"downloadProgress", "downloadState", b"downloadState", "duration", b"duration", "editingStyleFlags", b"editingStyleFlags", "elapsedTime", b"elapsedTime", "elapsedTimeTimestamp", b"elapsedTimeTimestamp", "episodeNumber", b"episodeNumber", "episodeType", b"episodeType", "formatTierPreference", b"formatTierPreference", "genre", b"genre", "iTunesStoreAlbumIdentifier", b"iTunesStoreAlbumIdentifier", "iTunesStoreArtistIdentifier", b"iTunesStoreArtistIdentifier", "iTunesStoreIdentifier", b"iTunesStoreIdentifier", "iTunesStoreSubscriptionIdentifier", b"iTunesStoreSubscriptionIdentifier", "inferredTimestamp", b"inferredTimestamp", "infoAvailable", b"infoAvailable", "isAlwaysLive", b"isAlwaysLive", "isContainer", b"isContainer", "isCurrentlyPlaying", b"isCurrentlyPlaying", "isExplicitItem", b"isExplicitItem", "isInWishList", b"isInWishList", "isLiked", b"isLiked", "isLoading", b"isLoading", "isPlayable", b"isPlayable", "isSharable", b"isSharable", "isSteerable", b"isSteerable", "isStreamingContent", b"isStreamingContent", "languageOptionsAvailable", b"languageOptionsAvailable", "legacyUniqueIdentifier", b"legacyUniqueIdentifier", "localizedContentRating", b"localizedContentRating", "localizedDurationString", b"localizedDurationString", "lyricsAvailable", b"lyricsAvailable", "lyricsURL", b"lyricsURL", "mediaSubType", b"mediaSubType", "mediaType", b"mediaType", "nowPlayingInfoData", b"nowPlayingInfoData", "numberOfSections", b"numberOfSections", "playCount", b"playCount", "playbackProgress", b"playbackProgress", "playbackRate", b"playbackRate", "playlistTraits", b"playlistTraits", "playlistType", b"playlistType", "preferredFormat", b"preferredFormat", "profileIdentifier", b"profileIdentifier", "purchaseInfoData", b"purchaseInfoData", "radioStationIdentifier", b"radioStationIdentifier", "radioStationName", b"radioStationName", "radioStationString", b"radioStationString", "radioStationType", b"radioStationType", "releaseDate", b"releaseDate", "seasonNumber", b"seasonNumber", "seriesName", b"seriesName", "serviceIdentifier", b"serviceIdentifier", "songTraits", b"songTraits", "startTime", b"startTime", "subtitle", b"subtitle", "title", b"title", "totalDiscCount", b"totalDiscCount", "totalTrackCount", b"totalTrackCount", "trackArtistName", b"trackArtistName", "trackNumber", b"trackNumber", "userInfoData", b"userInfoData"]) -> builtins.bool: ...
628
+ def ClearField(self, field_name: typing.Literal["activeFormat", b"activeFormat", "activeFormatJustification", b"activeFormatJustification", "albumArtistName", b"albumArtistName", "albumName", b"albumName", "albumTraits", b"albumTraits", "albumYear", b"albumYear", "alternativeFormats", b"alternativeFormats", "appMetricsData", b"appMetricsData", "artworkAvailable", b"artworkAvailable", "artworkDataHeight", b"artworkDataHeight", "artworkDataWidth", b"artworkDataWidth", "artworkFileURL", b"artworkFileURL", "artworkIdentifier", b"artworkIdentifier", "artworkMIMEType", b"artworkMIMEType", "artworkURL", b"artworkURL", "artworkURLTemplatesData", b"artworkURLTemplatesData", "assetURLString", b"assetURLString", "audioRoute", b"audioRoute", "brandIdentifier", b"brandIdentifier", "chapterCount", b"chapterCount", "collectionIdentifier", b"collectionIdentifier", "collectionInfoData", b"collectionInfoData", "composer", b"composer", "contentIdentifier", b"contentIdentifier", "currentPlaybackDateData", b"currentPlaybackDateData", "defaultPlaybackRate", b"defaultPlaybackRate", "deviceSpecificUserInfoData", b"deviceSpecificUserInfoData", "directorName", b"directorName", "discNumber", b"discNumber", "downloadProgress", b"downloadProgress", "downloadState", b"downloadState", "duration", b"duration", "editingStyleFlags", b"editingStyleFlags", "elapsedTime", b"elapsedTime", "elapsedTimeTimestamp", b"elapsedTimeTimestamp", "episodeNumber", b"episodeNumber", "episodeType", b"episodeType", "formatTierPreference", b"formatTierPreference", "genre", b"genre", "iTunesStoreAlbumIdentifier", b"iTunesStoreAlbumIdentifier", "iTunesStoreArtistIdentifier", b"iTunesStoreArtistIdentifier", "iTunesStoreIdentifier", b"iTunesStoreIdentifier", "iTunesStoreSubscriptionIdentifier", b"iTunesStoreSubscriptionIdentifier", "inferredTimestamp", b"inferredTimestamp", "infoAvailable", b"infoAvailable", "isAlwaysLive", b"isAlwaysLive", "isContainer", b"isContainer", "isCurrentlyPlaying", b"isCurrentlyPlaying", "isExplicitItem", b"isExplicitItem", "isInWishList", b"isInWishList", "isLiked", b"isLiked", "isLoading", b"isLoading", "isPlayable", b"isPlayable", "isSharable", b"isSharable", "isSteerable", b"isSteerable", "isStreamingContent", b"isStreamingContent", "languageOptionsAvailable", b"languageOptionsAvailable", "legacyUniqueIdentifier", b"legacyUniqueIdentifier", "localizedContentRating", b"localizedContentRating", "localizedDurationString", b"localizedDurationString", "lyricsAvailable", b"lyricsAvailable", "lyricsURL", b"lyricsURL", "mediaSubType", b"mediaSubType", "mediaType", b"mediaType", "nowPlayingInfoData", b"nowPlayingInfoData", "numberOfSections", b"numberOfSections", "playCount", b"playCount", "playbackProgress", b"playbackProgress", "playbackRate", b"playbackRate", "playlistTraits", b"playlistTraits", "playlistType", b"playlistType", "preferredFormat", b"preferredFormat", "profileIdentifier", b"profileIdentifier", "purchaseInfoData", b"purchaseInfoData", "radioStationIdentifier", b"radioStationIdentifier", "radioStationName", b"radioStationName", "radioStationString", b"radioStationString", "radioStationType", b"radioStationType", "releaseDate", b"releaseDate", "seasonNumber", b"seasonNumber", "seriesName", b"seriesName", "serviceIdentifier", b"serviceIdentifier", "songTraits", b"songTraits", "startTime", b"startTime", "subtitle", b"subtitle", "title", b"title", "totalDiscCount", b"totalDiscCount", "totalTrackCount", b"totalTrackCount", "trackArtistName", b"trackArtistName", "trackNumber", b"trackNumber", "userInfoData", b"userInfoData"]) -> None: ...
629
+
630
+ global___ContentItemMetadata = ContentItemMetadata