spotifywebapiPython 1.0.151__py3-none-any.whl → 1.0.153__py3-none-any.whl

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.

Potentially problematic release.


This version of spotifywebapiPython might be problematic. Click here for more details.

Files changed (24) hide show
  1. {spotifywebapiPython-1.0.151.dist-info → spotifywebapiPython-1.0.153.dist-info}/METADATA +1 -1
  2. {spotifywebapiPython-1.0.151.dist-info → spotifywebapiPython-1.0.153.dist-info}/RECORD +24 -24
  3. spotifywebapipython/const.py +1 -1
  4. spotifywebapipython/docs/__init__.html +14 -2
  5. spotifywebapipython/docs/index.html +2 -2
  6. spotifywebapipython/docs/search.js +1 -1
  7. spotifywebapipython/docs/spotifywebapipython/const.html +3 -3
  8. spotifywebapipython/docs/spotifywebapipython/saappmessages.html +2 -2
  9. spotifywebapipython/docs/spotifywebapipython/sautils.html +2 -2
  10. spotifywebapipython/docs/spotifywebapipython/spotifyapierror.html +2 -2
  11. spotifywebapipython/docs/spotifywebapipython/spotifyapimessage.html +2 -2
  12. spotifywebapipython/docs/spotifywebapipython/spotifyauthtoken.html +2 -2
  13. spotifywebapipython/docs/spotifywebapipython/spotifyclient.html +401 -165
  14. spotifywebapipython/docs/spotifywebapipython/spotifydiscovery.html +2 -2
  15. spotifywebapipython/docs/spotifywebapipython/spotifywebapiauthenticationerror.html +2 -2
  16. spotifywebapipython/docs/spotifywebapipython/spotifywebapierror.html +2 -2
  17. spotifywebapipython/docs/spotifywebapipython/spotifywebplayertoken.html +2 -2
  18. spotifywebapipython/models/playerplaystate.py +42 -0
  19. spotifywebapipython/spotifyclient.py +813 -583
  20. spotifywebapipython/spotifyconnect/spotifyconnectdirectorytask.py +37 -16
  21. spotifywebapipython/spotifyconnect/spotifyconnectzeroconfexceptions.py +10 -0
  22. {spotifywebapiPython-1.0.151.dist-info → spotifywebapiPython-1.0.153.dist-info}/LICENSE +0 -0
  23. {spotifywebapiPython-1.0.151.dist-info → spotifywebapiPython-1.0.153.dist-info}/WHEEL +0 -0
  24. {spotifywebapiPython-1.0.151.dist-info → spotifywebapiPython-1.0.153.dist-info}/top_level.txt +0 -0
@@ -9,7 +9,7 @@
9
9
  </title>
10
10
  <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20role%3D%22img%22%20aria-label%3D%22pdoc%20logo%22%20width%3D%22300%22%20height%3D%22150%22%20viewBox%3D%22-1%200%2060%2030%22%3E%3Ctitle%3Epdoc%3C/title%3E%3Cpath%20d%3D%22M29.621%2021.293c-.011-.273-.214-.475-.511-.481a.5.5%200%200%200-.489.503l-.044%201.393c-.097.551-.695%201.215-1.566%201.704-.577.428-1.306.486-2.193.182-1.426-.617-2.467-1.654-3.304-2.487l-.173-.172a3.43%203.43%200%200%200-.365-.306.49.49%200%200%200-.286-.196c-1.718-1.06-4.931-1.47-7.353.191l-.219.15c-1.707%201.187-3.413%202.131-4.328%201.03-.02-.027-.49-.685-.141-1.763.233-.721.546-2.408.772-4.076.042-.09.067-.187.046-.288.166-1.347.277-2.625.241-3.351%201.378-1.008%202.271-2.586%202.271-4.362%200-.976-.272-1.935-.788-2.774-.057-.094-.122-.18-.184-.268.033-.167.052-.339.052-.516%200-1.477-1.202-2.679-2.679-2.679-.791%200-1.496.352-1.987.9a6.3%206.3%200%200%200-1.001.029c-.492-.564-1.207-.929-2.012-.929-1.477%200-2.679%201.202-2.679%202.679A2.65%202.65%200%200%200%20.97%206.554c-.383.747-.595%201.572-.595%202.41%200%202.311%201.507%204.29%203.635%205.107-.037.699-.147%202.27-.423%203.294l-.137.461c-.622%202.042-2.515%208.257%201.727%2010.643%201.614.908%203.06%201.248%204.317%201.248%202.665%200%204.492-1.524%205.322-2.401%201.476-1.559%202.886-1.854%206.491.82%201.877%201.393%203.514%201.753%204.861%201.068%202.223-1.713%202.811-3.867%203.399-6.374.077-.846.056-1.469.054-1.537zm-4.835%204.313c-.054.305-.156.586-.242.629-.034-.007-.131-.022-.307-.157-.145-.111-.314-.478-.456-.908.221.121.432.25.675.355.115.039.219.051.33.081zm-2.251-1.238c-.05.33-.158.648-.252.694-.022.001-.125-.018-.307-.157-.217-.166-.488-.906-.639-1.573.358.344.754.693%201.198%201.036zm-3.887-2.337c-.006-.116-.018-.231-.041-.342.635.145%201.189.368%201.599.625.097.231.166.481.174.642-.03.049-.055.101-.067.158-.046.013-.128.026-.298.004-.278-.037-.901-.57-1.367-1.087zm-1.127-.497c.116.306.176.625.12.71-.019.014-.117.045-.345.016-.206-.027-.604-.332-.986-.695.41-.051.816-.056%201.211-.031zm-4.535%201.535c.209.22.379.47.358.598-.006.041-.088.138-.351.234-.144.055-.539-.063-.979-.259a11.66%2011.66%200%200%200%20.972-.573zm.983-.664c.359-.237.738-.418%201.126-.554.25.237.479.548.457.694-.006.042-.087.138-.351.235-.174.064-.694-.105-1.232-.375zm-3.381%201.794c-.022.145-.061.29-.149.401-.133.166-.358.248-.69.251h-.002c-.133%200-.306-.26-.45-.621.417.091.854.07%201.291-.031zm-2.066-8.077a4.78%204.78%200%200%201-.775-.584c.172-.115.505-.254.88-.378l-.105.962zm-.331%202.302a10.32%2010.32%200%200%201-.828-.502c.202-.143.576-.328.984-.49l-.156.992zm-.45%202.157l-.701-.403c.214-.115.536-.249.891-.376a11.57%2011.57%200%200%201-.19.779zm-.181%201.716c.064.398.194.702.298.893-.194-.051-.435-.162-.736-.398.061-.119.224-.3.438-.495zM8.87%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zm-.735-.389a1.15%201.15%200%200%200-.314.783%201.16%201.16%200%200%200%201.162%201.162c.457%200%20.842-.27%201.032-.653.026.117.042.238.042.362a1.68%201.68%200%200%201-1.679%201.679%201.68%201.68%200%200%201-1.679-1.679c0-.843.626-1.535%201.436-1.654zM5.059%205.406A1.68%201.68%200%200%201%203.38%207.085a1.68%201.68%200%200%201-1.679-1.679c0-.037.009-.072.011-.109.21.3.541.508.935.508a1.16%201.16%200%200%200%201.162-1.162%201.14%201.14%200%200%200-.474-.912c.015%200%20.03-.005.045-.005.926.001%201.679.754%201.679%201.68zM3.198%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zM1.375%208.964c0-.52.103-1.035.288-1.52.466.394%201.06.64%201.717.64%201.144%200%202.116-.725%202.499-1.738.383%201.012%201.355%201.738%202.499%201.738.867%200%201.631-.421%202.121-1.062.307.605.478%201.267.478%201.942%200%202.486-2.153%204.51-4.801%204.51s-4.801-2.023-4.801-4.51zm24.342%2019.349c-.985.498-2.267.168-3.813-.979-3.073-2.281-5.453-3.199-7.813-.705-1.315%201.391-4.163%203.365-8.423.97-3.174-1.786-2.239-6.266-1.261-9.479l.146-.492c.276-1.02.395-2.457.444-3.268a6.11%206.11%200%200%200%201.18.115%206.01%206.01%200%200%200%202.536-.562l-.006.175c-.802.215-1.848.612-2.021%201.25-.079.295.021.601.274.837.219.203.415.364.598.501-.667.304-1.243.698-1.311%201.179-.02.144-.022.507.393.787.213.144.395.26.564.365-1.285.521-1.361.96-1.381%201.126-.018.142-.011.496.427.746l.854.489c-.473.389-.971.914-.999%201.429-.018.278.095.532.316.713.675.556%201.231.721%201.653.721.059%200%20.104-.014.158-.02.207.707.641%201.64%201.513%201.64h.013c.8-.008%201.236-.345%201.462-.626.173-.216.268-.457.325-.692.424.195.93.374%201.372.374.151%200%20.294-.021.423-.068.732-.27.944-.704.993-1.021.009-.061.003-.119.002-.179.266.086.538.147.789.147.15%200%20.294-.021.423-.069.542-.2.797-.489.914-.754.237.147.478.258.704.288.106.014.205.021.296.021.356%200%20.595-.101.767-.229.438.435%201.094.992%201.656%201.067.106.014.205.021.296.021a1.56%201.56%200%200%200%20.323-.035c.17.575.453%201.289.866%201.605.358.273.665.362.914.362a.99.99%200%200%200%20.421-.093%201.03%201.03%200%200%200%20.245-.164c.168.428.39.846.68%201.068.358.273.665.362.913.362a.99.99%200%200%200%20.421-.093c.317-.148.512-.448.639-.762.251.157.495.257.726.257.127%200%20.25-.024.37-.071.427-.17.706-.617.841-1.314.022-.015.047-.022.068-.038.067-.051.133-.104.196-.159-.443%201.486-1.107%202.761-2.086%203.257zM8.66%209.925a.5.5%200%201%200-1%200c0%20.653-.818%201.205-1.787%201.205s-1.787-.552-1.787-1.205a.5.5%200%201%200-1%200c0%201.216%201.25%202.205%202.787%202.205s2.787-.989%202.787-2.205zm4.4%2015.965l-.208.097c-2.661%201.258-4.708%201.436-6.086.527-1.542-1.017-1.88-3.19-1.844-4.198a.4.4%200%200%200-.385-.414c-.242-.029-.406.164-.414.385-.046%201.249.367%203.686%202.202%204.896.708.467%201.547.7%202.51.7%201.248%200%202.706-.392%204.362-1.174l.185-.086a.4.4%200%200%200%20.205-.527c-.089-.204-.326-.291-.527-.206zM9.547%202.292c.093.077.205.114.317.114a.5.5%200%200%200%20.318-.886L8.817.397a.5.5%200%200%200-.703.068.5.5%200%200%200%20.069.703l1.364%201.124zm-7.661-.065c.086%200%20.173-.022.253-.068l1.523-.893a.5.5%200%200%200-.506-.863l-1.523.892a.5.5%200%200%200-.179.685c.094.158.261.247.432.247z%22%20transform%3D%22matrix%28-1%200%200%201%2058%200%29%22%20fill%3D%22%233bb300%22/%3E%3Cpath%20d%3D%22M.3%2021.86V10.18q0-.46.02-.68.04-.22.18-.5.28-.54%201.34-.54%201.06%200%201.42.28.38.26.44.78.76-1.04%202.38-1.04%201.64%200%203.1%201.54%201.46%201.54%201.46%203.58%200%202.04-1.46%203.58-1.44%201.54-3.08%201.54-1.64%200-2.38-.92v4.04q0%20.46-.04.68-.02.22-.18.5-.14.3-.5.42-.36.12-.98.12-.62%200-1-.12-.36-.12-.52-.4-.14-.28-.18-.5-.02-.22-.02-.68zm3.96-9.42q-.46.54-.46%201.18%200%20.64.46%201.18.48.52%201.2.52.74%200%201.24-.52.52-.52.52-1.18%200-.66-.48-1.18-.48-.54-1.26-.54-.76%200-1.22.54zm14.741-8.36q.16-.3.54-.42.38-.12%201-.12.64%200%201.02.12.38.12.52.42.16.3.18.54.04.22.04.68v11.94q0%20.46-.04.7-.02.22-.18.5-.3.54-1.7.54-1.38%200-1.54-.98-.84.96-2.34.96-1.8%200-3.28-1.56-1.48-1.58-1.48-3.66%200-2.1%201.48-3.68%201.5-1.58%203.28-1.58%201.48%200%202.3%201v-4.2q0-.46.02-.68.04-.24.18-.52zm-3.24%2010.86q.52.54%201.26.54.74%200%201.22-.54.5-.54.5-1.18%200-.66-.48-1.22-.46-.56-1.26-.56-.8%200-1.28.56-.48.54-.48%201.2%200%20.66.52%201.2zm7.833-1.2q0-2.4%201.68-3.96%201.68-1.56%203.84-1.56%202.16%200%203.82%201.56%201.66%201.54%201.66%203.94%200%201.66-.86%202.96-.86%201.28-2.1%201.9-1.22.6-2.54.6-1.32%200-2.56-.64-1.24-.66-2.1-1.92-.84-1.28-.84-2.88zm4.18%201.44q.64.48%201.3.48.66%200%201.32-.5.66-.5.66-1.48%200-.98-.62-1.46-.62-.48-1.34-.48-.72%200-1.34.5-.62.5-.62%201.48%200%20.96.64%201.46zm11.412-1.44q0%20.84.56%201.32.56.46%201.18.46.64%200%201.18-.36.56-.38.9-.38.6%200%201.46%201.06.46.58.46%201.04%200%20.76-1.1%201.42-1.14.8-2.8.8-1.86%200-3.58-1.34-.82-.64-1.34-1.7-.52-1.08-.52-2.36%200-1.3.52-2.34.52-1.06%201.34-1.7%201.66-1.32%203.54-1.32.76%200%201.48.22.72.2%201.06.4l.32.2q.36.24.56.38.52.4.52.92%200%20.5-.42%201.14-.72%201.1-1.38%201.1-.38%200-1.08-.44-.36-.34-1.04-.34-.66%200-1.24.48-.58.48-.58%201.34z%22%20fill%3D%22green%22/%3E%3C/svg%3E"/>
11
11
  <!-- build env - Package Name = "spotifywebapiPython" -->
12
- <!-- build env - Package Version = "1.0.151" -->
12
+ <!-- build env - Package Version = "1.0.153" -->
13
13
  <!-- pdoc module.modulename = "spotifywebapipython.spotifyclient" -->
14
14
  <!-- pdoc module.is_package = "False" -->
15
15
  <!-- pdoc root_module_name = "None" -->
@@ -231,6 +231,9 @@
231
231
  <li>
232
232
  <a class="function" href="#SpotifyClient.GetCoverImageFile">GetCoverImageFile</a>
233
233
  </li>
234
+ <li>
235
+ <a class="function" href="#SpotifyClient.GetDevicePlaybackState">GetDevicePlaybackState</a>
236
+ </li>
234
237
  <li>
235
238
  <a class="function" href="#SpotifyClient.GetEpisode">GetEpisode</a>
236
239
  </li>
@@ -285,6 +288,9 @@
285
288
  <li>
286
289
  <a class="function" href="#SpotifyClient.GetPlayerPlaybackState">GetPlayerPlaybackState</a>
287
290
  </li>
291
+ <li>
292
+ <a class="function" href="#SpotifyClient.GetPlayerPlaybackStateSonos">GetPlayerPlaybackStateSonos</a>
293
+ </li>
288
294
  <li>
289
295
  <a class="function" href="#SpotifyClient.GetPlayerQueueInfo">GetPlayerQueueInfo</a>
290
296
  </li>
@@ -318,9 +324,6 @@
318
324
  <li>
319
325
  <a class="function" href="#SpotifyClient.GetShows">GetShows</a>
320
326
  </li>
321
- <li>
322
- <a class="function" href="#SpotifyClient.GetSonosPlayerPlaybackState">GetSonosPlayerPlaybackState</a>
323
- </li>
324
327
  <li>
325
328
  <a class="function" href="#SpotifyClient.GetSpotifyConnectDevice">GetSpotifyConnectDevice</a>
326
329
  </li>
@@ -497,7 +500,7 @@
497
500
 
498
501
  <footer class="footertext">
499
502
  spotifywebapiPython</br>
500
- Version 1.0.151</br>
503
+ Version 1.0.153</br>
501
504
  <a href="https://developer.spotify.com/documentation/web-api" target="_blank">
502
505
  <img src="../spotifywebapipython.ico" alt="brand icon" style="width:32px; height:32px; padding:4px;"/>
503
506
  A Spotify Web Api Client
@@ -1007,11 +1010,15 @@ It can also be specified as a comma-delimited string. <br />
1007
1010
  Example: <code>spotify:track:6zd8T1PBe9JFHmuVnurdRp,spotify:track:1kWUud3vY5ij5r62zxpTRy</code>. <br />
1008
1011
  An unlimited number of items can be added in one request, but the more items the longer it
1009
1012
  will take.</li>
1010
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
1011
- If not supplied, the user's currently active device is the target. <br />
1012
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
1013
- Example: <code>Web Player (Chrome)</code> </li>
1014
- <li><strong>verifyDeviceId (bool):</strong> True to verify a device id is active; otherwise, false to assume that a
1013
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
1014
+ This could be an id, name, a default device indicator (e.g. "*"), a
1015
+ SpotifyConnectDevice object, or null to utilize the active player device.
1016
+ A device is considered resolved if a SpotifyConnectDevice object is passed
1017
+ for this argument. An exception will be raised if the argument value could
1018
+ not be resolved or activated.
1019
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
1020
+ <li><strong>verifyDeviceId (bool):</strong> DEPRECATED - deviceId is automatically verified as of v1.0.149.
1021
+ True to verify a device id is active; otherwise, false to assume that a
1015
1022
  device id is already active. <br />
1016
1023
  Default is True. </li>
1017
1024
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the add request. This delay will give the
@@ -1060,11 +1067,16 @@ The Spotify Web API does not currently support adding more than 1 item to the qu
1060
1067
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
1061
1068
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
1062
1069
 
1070
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
1071
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
1072
+
1073
+ <span class="c1"># set device to control.</span>
1074
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
1075
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
1076
+ <span class="c1">#deviceId:str = None # use currently active device</span>
1077
+
1063
1078
  <span class="c1"># add an item to the end of the user&#39;s current playback queue.</span>
1064
1079
  <span class="n">trackUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:track:27JODWXo4VNa6s7HqDL9yQ&#39;</span>
1065
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
1066
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
1067
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
1068
1080
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Adding item to the users current playback queue:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">trackUri</span><span class="p">))</span>
1069
1081
  <span class="n">spotify</span><span class="o">.</span><span class="n">AddPlayerQueueItems</span><span class="p">(</span><span class="n">trackUri</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
1070
1082
 
@@ -1776,7 +1788,7 @@ Example: <code>3cEYpjA9oz9GiPac4AsH4n</code></li>
1776
1788
  <li><strong>userIds (str):</strong> A comma-separated list of Spotify User ID's to check. <br />
1777
1789
  Maximum: 5 ID's. <br />
1778
1790
  Example: <code>1kWUud3vY5ij5r62zxpTRy,2takcwOaAZWiXQijPHIx7B</code> <br />
1779
- Deprecated - A single item list containing current user's Spotify Username; Maximum of 1 id.</li>
1791
+ DEPRECATED - A single item list containing current user's Spotify Username; Maximum of 1 id.</li>
1780
1792
  </ul>
1781
1793
 
1782
1794
  <h6 id="returns">Returns:</h6>
@@ -4882,7 +4894,8 @@ the country parameter, may give odd results if not carefully matched. For exampl
4882
4894
  locale=<code>de_DE</code> will return a list of categories relevant to Sweden but as German language strings. <br />
4883
4895
  Example: <code>sv_SE</code> </li>
4884
4896
  <li><strong>refresh (bool):</strong> True to return real-time information from the spotify web api and
4885
- update the cache; otherwise, False to just return the cached value. </li>
4897
+ update the cache; otherwise, False to just return the cached value. <br />
4898
+ Default is True.</li>
4886
4899
  </ul>
4887
4900
 
4888
4901
  <h6 id="returns">Returns:</h6>
@@ -5404,6 +5417,117 @@ as that would violate the Spotify Web API Terms of Service.</p>
5404
5417
  </div>
5405
5418
 
5406
5419
 
5420
+ </div>
5421
+ <div id="SpotifyClient.GetDevicePlaybackState" class="classattr">
5422
+ <div class="attr function">
5423
+
5424
+ <span class="def">def</span>
5425
+ <span class="name">GetDevicePlaybackState</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">deviceId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">spotifywebapipython</span><span class="o">.</span><span class="n">models</span><span class="o">.</span><span class="n">spotifyconnectdevice</span><span class="o">.</span><span class="n">SpotifyConnectDevice</span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playerplaystate.html#PlayerPlayState">spotifywebapipython.models.playerplaystate.PlayerPlayState</a></span>:</span></span>
5426
+
5427
+
5428
+ </div>
5429
+ <a class="headerlink" href="#SpotifyClient.GetDevicePlaybackState"></a>
5430
+
5431
+ <div class="docstring"><p>Get information about the current playback state of the device, including track or episode,
5432
+ and progress. For Sonos devices, this will return the playstate of the device instead of the
5433
+ active Spotify Web API player playstate.</p>
5434
+
5435
+ <p>This method requires the <code>user-read-playback-state</code> scope.</p>
5436
+
5437
+ <p>This is not part of the Spotify Web API specification.</p>
5438
+
5439
+ <h6 id="arguments">Arguments:</h6>
5440
+
5441
+ <ul>
5442
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
5443
+ This could be an id, name, a default device indicator (e.g. "*"), a
5444
+ SpotifyConnectDevice object, or null to utilize the active player device.
5445
+ A device is considered resolved if a SpotifyConnectDevice object is passed
5446
+ for this argument. An exception will be raised if the argument value could
5447
+ not be resolved.
5448
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
5449
+ </ul>
5450
+
5451
+ <h6 id="returns">Returns:</h6>
5452
+
5453
+ <blockquote>
5454
+ <p>A <code>PlayerPlayState</code> object that contains player state details as well as
5455
+ currently playing content.</p>
5456
+ </blockquote>
5457
+
5458
+ <h6 id="raises">Raises:</h6>
5459
+
5460
+ <ul>
5461
+ <li><strong>SpotifyWebApiError:</strong> If the Spotify Web API request was for a non-authorization service
5462
+ and the response contains error information.</li>
5463
+ <li><strong>SpotifyApiError:</strong> If the method fails for any other reason.</li>
5464
+ </ul>
5465
+
5466
+ <p><details>
5467
+ <summary>Sample Code</summary></p>
5468
+
5469
+ <div class="pdoc-code codehilite">
5470
+ <pre><span></span><code><span class="kn">from</span><span class="w"> </span><span class="nn">spotifywebapipython</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
5471
+ <span class="kn">from</span><span class="w"> </span><span class="nn">spotifywebapipython.models</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
5472
+
5473
+ <span class="k">try</span><span class="p">:</span>
5474
+
5475
+ <span class="c1"># this sample requires an authorization token, as it requires security scope to accesses user data.</span>
5476
+
5477
+ <span class="n">CLIENT_ID</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;your_client_id&#39;</span>
5478
+ <span class="n">SPOTIFY_SCOPES</span><span class="p">:</span><span class="nb">list</span> <span class="o">=</span> \
5479
+ <span class="p">[</span>
5480
+ <span class="s1">&#39;user-read-playback-state&#39;</span><span class="p">,</span>
5481
+ <span class="s1">&#39;user-read-email&#39;</span><span class="p">,</span>
5482
+ <span class="p">]</span>
5483
+
5484
+ <span class="c1"># create new spotify client instance.</span>
5485
+ <span class="n">spotify</span><span class="p">:</span><span class="n">SpotifyClient</span> <span class="o">=</span> <span class="n">SpotifyClient</span><span class="p">()</span>
5486
+
5487
+ <span class="c1"># generate a spotify authorization code with PKCE access token (with scope, private and public data use).</span>
5488
+ <span class="n">spotify</span><span class="o">.</span><span class="n">SetAuthTokenAuthorizationCodePKCE</span><span class="p">(</span><span class="n">CLIENT_ID</span><span class="p">,</span> <span class="n">SPOTIFY_SCOPES</span><span class="p">)</span>
5489
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
5490
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
5491
+
5492
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
5493
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
5494
+
5495
+ <span class="c1"># set device to control.</span>
5496
+ <span class="c1">#deviceId:str = &quot;Bose-ST10-2&quot; # Bose SoundTouch device</span>
5497
+ <span class="c1">#deviceId:str = &quot;Nest Audio 01&quot; # Chromecast device</span>
5498
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;Office&quot;</span> <span class="c1"># Sonos device</span>
5499
+ <span class="c1">#deviceId:str = &quot;*&quot; # use DefaultDeviceId</span>
5500
+ <span class="c1">#deviceId:str = None # use currently playing device</span>
5501
+
5502
+ <span class="c1"># get Spotify Connect playback state.</span>
5503
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Getting Spotify Connect device playback state ...</span><span class="se">\n</span><span class="s1">- Device = </span><span class="se">\&quot;</span><span class="si">%s</span><span class="se">\&quot;</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">))</span>
5504
+ <span class="n">playerState</span><span class="p">:</span><span class="n">PlayerPlayState</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetDevicePlaybackState</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)</span>
5505
+
5506
+ <span class="k">if</span> <span class="n">playerState</span><span class="o">.</span><span class="n">IsEmpty</span><span class="p">:</span>
5507
+
5508
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Spotify Connect device playback State is unavailable at this time&#39;</span><span class="p">)</span>
5509
+
5510
+ <span class="k">else</span><span class="p">:</span>
5511
+
5512
+ <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playerState</span><span class="p">))</span>
5513
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
5514
+ <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playerState</span><span class="o">.</span><span class="n">Item</span><span class="p">))</span>
5515
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
5516
+ <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playerState</span><span class="o">.</span><span class="n">Device</span><span class="p">))</span>
5517
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
5518
+ <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playerState</span><span class="o">.</span><span class="n">Actions</span><span class="p">))</span>
5519
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
5520
+
5521
+ <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
5522
+
5523
+ <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;** Exception: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">ex</span><span class="p">))</span>
5524
+ </code></pre>
5525
+ </div>
5526
+
5527
+ <p></details></p>
5528
+ </div>
5529
+
5530
+
5407
5531
  </div>
5408
5532
  <div id="SpotifyClient.GetEpisode" class="classattr">
5409
5533
  <div class="attr function">
@@ -6749,7 +6873,7 @@ If nowplaying item is not of the specified <code>additionalType</code>.</li>
6749
6873
  <div class="attr function">
6750
6874
 
6751
6875
  <span class="def">def</span>
6752
- <span class="name">GetPlayerPlaybackState</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">additionalTypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playerplaystate.html#PlayerPlayState">spotifywebapipython.models.playerplaystate.PlayerPlayState</a></span>:</span></span>
6876
+ <span class="name">GetPlayerPlaybackState</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">market</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">additionalTypes</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">refresh</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playerplaystate.html#PlayerPlayState">spotifywebapipython.models.playerplaystate.PlayerPlayState</a></span>:</span></span>
6753
6877
 
6754
6878
 
6755
6879
  </div>
@@ -6776,6 +6900,9 @@ Specify <code>episode</code> to get podcast track information. <br />
6776
6900
  Note: This parameter was introduced to allow existing clients to maintain their current behaviour
6777
6901
  and might be deprecated in the future. In addition to providing this parameter, make sure that your client
6778
6902
  properly handles cases of new types in the future by checking against the type field of each object.</li>
6903
+ <li><strong>refresh (bool):</strong> True to return real-time information from the Spotify Web API and
6904
+ update the cache; otherwise, False to just return the cached value. <br />
6905
+ Default is True.</li>
6779
6906
  </ul>
6780
6907
 
6781
6908
  <h6 id="returns">Returns:</h6>
@@ -6823,15 +6950,15 @@ and the response contains error information.</li>
6823
6950
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Getting Spotify Connect playback state ...</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
6824
6951
  <span class="n">playerState</span><span class="p">:</span><span class="n">PlayerPlayState</span> <span class="o">=</span> <span class="n">spotify</span><span class="o">.</span><span class="n">GetPlayerPlaybackState</span><span class="p">()</span>
6825
6952
 
6826
- <span class="k">if</span> <span class="n">playerState</span><span class="o">.</span><span class="n">CurrentlyPlayingType</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
6953
+ <span class="k">if</span> <span class="n">playerState</span><span class="o">.</span><span class="n">IsEmpty</span><span class="p">:</span>
6827
6954
 
6828
- <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playerState</span><span class="p">))</span>
6829
- <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
6830
- <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playerState</span><span class="o">.</span><span class="n">Item</span><span class="p">))</span>
6955
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Spotify Connect playback State is unavailable at this time&#39;</span><span class="p">)</span>
6831
6956
 
6832
6957
  <span class="k">else</span><span class="p">:</span>
6833
6958
 
6834
- <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Spotify Connect playback State is unavailable at this time&#39;</span><span class="p">)</span>
6959
+ <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playerState</span><span class="p">))</span>
6960
+ <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
6961
+ <span class="nb">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">playerState</span><span class="o">.</span><span class="n">Item</span><span class="p">))</span>
6835
6962
 
6836
6963
  <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">ex</span><span class="p">:</span>
6837
6964
 
@@ -6843,6 +6970,43 @@ and the response contains error information.</li>
6843
6970
  </div>
6844
6971
 
6845
6972
 
6973
+ </div>
6974
+ <div id="SpotifyClient.GetPlayerPlaybackStateSonos" class="classattr">
6975
+ <div class="attr function">
6976
+
6977
+ <span class="def">def</span>
6978
+ <span class="name">GetPlayerPlaybackStateSonos</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">scDevice</span><span class="p">:</span> <span class="n">spotifywebapipython</span><span class="o">.</span><span class="n">models</span><span class="o">.</span><span class="n">spotifyconnectdevice</span><span class="o">.</span><span class="n">SpotifyConnectDevice</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playerplaystate.html#PlayerPlayState">spotifywebapipython.models.playerplaystate.PlayerPlayState</a></span>:</span></span>
6979
+
6980
+
6981
+ </div>
6982
+ <a class="headerlink" href="#SpotifyClient.GetPlayerPlaybackStateSonos"></a>
6983
+
6984
+ <div class="docstring"><p>Get information about the Sonos user's current playback state, including track or episode, progress,
6985
+ and active device.</p>
6986
+
6987
+ <p>This is not part of the Spotify Web API specification; it is for Sonos devices only!</p>
6988
+
6989
+ <h6 id="arguments">Arguments:</h6>
6990
+
6991
+ <ul>
6992
+ <li><strong>scDevice (SpotifyConnectDevice):</strong> Spotify Connect device instance used to identify the Sonos player.</li>
6993
+ </ul>
6994
+
6995
+ <h6 id="returns">Returns:</h6>
6996
+
6997
+ <blockquote>
6998
+ <p>A <code>PlayerPlayState</code> object that contains Sonos player state details as well as
6999
+ currently playing content.</p>
7000
+ </blockquote>
7001
+
7002
+ <h6 id="raises">Raises:</h6>
7003
+
7004
+ <ul>
7005
+ <li><strong>SpotifyApiError:</strong> If the method fails for any other reason.</li>
7006
+ </ul>
7007
+ </div>
7008
+
7009
+
6846
7010
  </div>
6847
7011
  <div id="SpotifyClient.GetPlayerQueueInfo" class="classattr">
6848
7012
  <div class="attr function">
@@ -8474,43 +8638,6 @@ and the response contains error information.</li>
8474
8638
  </div>
8475
8639
 
8476
8640
 
8477
- </div>
8478
- <div id="SpotifyClient.GetSonosPlayerPlaybackState" class="classattr">
8479
- <div class="attr function">
8480
-
8481
- <span class="def">def</span>
8482
- <span class="name">GetSonosPlayerPlaybackState</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">scDevice</span><span class="p">:</span> <span class="n">spotifywebapipython</span><span class="o">.</span><span class="n">models</span><span class="o">.</span><span class="n">spotifyconnectdevice</span><span class="o">.</span><span class="n">SpotifyConnectDevice</span></span><span class="return-annotation">) -> <span class="n"><a href="models/playerplaystate.html#PlayerPlayState">spotifywebapipython.models.playerplaystate.PlayerPlayState</a></span>:</span></span>
8483
-
8484
-
8485
- </div>
8486
- <a class="headerlink" href="#SpotifyClient.GetSonosPlayerPlaybackState"></a>
8487
-
8488
- <div class="docstring"><p>Get information about the Sonos user's current playback state, including track or episode, progress,
8489
- and active device.</p>
8490
-
8491
- <p>This is not part of the Spotify Web API specification; it is for Sonos devices only!</p>
8492
-
8493
- <h6 id="arguments">Arguments:</h6>
8494
-
8495
- <ul>
8496
- <li><strong>scDevice (SpotifyConnectDevice):</strong> Spotify Connect device instance used to identify the Sonos player.</li>
8497
- </ul>
8498
-
8499
- <h6 id="returns">Returns:</h6>
8500
-
8501
- <blockquote>
8502
- <p>A <code>PlayerPlayState</code> object that contains Sonos player state details as well as
8503
- currently playing content.</p>
8504
- </blockquote>
8505
-
8506
- <h6 id="raises">Raises:</h6>
8507
-
8508
- <ul>
8509
- <li><strong>SpotifyApiError:</strong> If the method fails for any other reason.</li>
8510
- </ul>
8511
- </div>
8512
-
8513
-
8514
8641
  </div>
8515
8642
  <div id="SpotifyClient.GetSpotifyConnectDevice" class="classattr">
8516
8643
  <div class="attr function">
@@ -8560,7 +8687,7 @@ Default is 0.25; value range is 0 - 10.</li>
8560
8687
  <blockquote>
8561
8688
  <p>A <code>SpotifyConnectDevice</code> object for the deviceValue if one could be resolved.
8562
8689
  otherwise, a null value with the understanding that subsequent operations will probably
8563
- fail since it's not in the Spotify Connect discovery list. </p>
8690
+ fail since it's not in the Spotify Connect device list. </p>
8564
8691
  </blockquote>
8565
8692
 
8566
8693
  <h6 id="raises">Raises:</h6>
@@ -10246,10 +10373,13 @@ Example name: <code>Web Player (Chrome)</code> </li>
10246
10373
  <h6 id="arguments">Arguments:</h6>
10247
10374
 
10248
10375
  <ul>
10249
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
10250
- If not supplied, the user's currently active device is the target. <br />
10251
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
10252
- Example: <code>Web Player (Chrome)</code> </li>
10376
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
10377
+ This could be an id, name, a default device indicator (e.g. "*"), a
10378
+ SpotifyConnectDevice object, or null to utilize the active player device.
10379
+ A device is considered resolved if a SpotifyConnectDevice object is passed
10380
+ for this argument. An exception will be raised if the argument value could
10381
+ not be resolved or activated.
10382
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
10253
10383
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
10254
10384
  This delay will give the spotify web api time to process the change before
10255
10385
  another command is issued. <br />
@@ -10294,10 +10424,15 @@ and the response contains error information.</li>
10294
10424
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10295
10425
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10296
10426
 
10427
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
10428
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
10429
+
10430
+ <span class="c1"># set device to control.</span>
10431
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
10432
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
10433
+ <span class="c1">#deviceId:str = None # use currently active device</span>
10434
+
10297
10435
  <span class="c1"># pause play on the specified Spotify Connect device.</span>
10298
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10299
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
10300
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
10301
10436
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Pause media on Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">))</span>
10302
10437
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPause</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)</span>
10303
10438
 
@@ -10349,10 +10484,13 @@ Passing in a position that is greater than the length of the track will cause th
10349
10484
  player to start playing the next track. <br />
10350
10485
  Default is <code>0</code>. <br />
10351
10486
  Example: <code>25000</code> </li>
10352
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
10353
- If not supplied, the user's currently active device is the target. <br />
10354
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
10355
- Example: <code>Web Player (Chrome)</code> </li>
10487
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
10488
+ This could be an id, name, a default device indicator (e.g. "*"), a
10489
+ SpotifyConnectDevice object, or null to utilize the active player device.
10490
+ A device is considered resolved if a SpotifyConnectDevice object is passed
10491
+ for this argument. An exception will be raised if the argument value could
10492
+ not be resolved or activated.
10493
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
10356
10494
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
10357
10495
  This delay will give the spotify web api time to process the change before
10358
10496
  another command is issued. <br />
@@ -10401,10 +10539,15 @@ and the response contains error information.</li>
10401
10539
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10402
10540
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10403
10541
 
10542
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
10543
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
10544
+
10545
+ <span class="c1"># set device to control.</span>
10546
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
10547
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
10548
+ <span class="c1">#deviceId:str = None # use currently active device</span>
10549
+
10404
10550
  <span class="c1"># play album on the specified Spotify Connect device.</span>
10405
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10406
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
10407
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
10408
10551
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:album:6vc9OTcyd3hyzabCmsdnwE&#39;</span> <span class="c1"># Album = Welcome to the New</span>
10409
10552
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing album on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
10410
10553
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayContext</span><span class="p">(</span><span class="n">contextUri</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
@@ -10412,7 +10555,6 @@ and the response contains error information.</li>
10412
10555
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - album should be playing&#39;</span><span class="p">)</span>
10413
10556
 
10414
10557
  <span class="c1"># play album starting at track #7 on the specified Spotify Connect device.</span>
10415
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10416
10558
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:album:6vc9OTcyd3hyzabCmsdnwE&#39;</span> <span class="c1"># Album = Welcome to the New</span>
10417
10559
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing album starting at track #7 on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
10418
10560
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayContext</span><span class="p">(</span><span class="n">contextUri</span><span class="p">,</span> <span class="n">offsetPosition</span><span class="o">=</span><span class="mi">6</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
@@ -10420,7 +10562,6 @@ and the response contains error information.</li>
10420
10562
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - album should be playing&#39;</span><span class="p">)</span>
10421
10563
 
10422
10564
  <span class="c1"># play album starting at track #5 and 25 seconds position on the specified Spotify Connect device.</span>
10423
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10424
10565
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:album:6vc9OTcyd3hyzabCmsdnwE&#39;</span> <span class="c1"># Album = Welcome to the New</span>
10425
10566
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing album starting at track #5 (25 seconds) on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
10426
10567
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayContext</span><span class="p">(</span><span class="n">contextUri</span><span class="p">,</span> <span class="n">offsetPosition</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">positionMS</span><span class="o">=</span><span class="mi">25000</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
@@ -10428,7 +10569,6 @@ and the response contains error information.</li>
10428
10569
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - album should be playing&#39;</span><span class="p">)</span>
10429
10570
 
10430
10571
  <span class="c1"># play album starting at track id #7 on the specified Spotify Connect device.</span>
10431
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10432
10572
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:album:6vc9OTcyd3hyzabCmsdnwE&#39;</span> <span class="c1"># Album = Welcome to the New</span>
10433
10573
  <span class="n">offsetUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:track:1kWUud3vY5ij5r62zxpTRy&#39;</span> <span class="c1"># Track = Flawless</span>
10434
10574
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing album starting at track #7 on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
@@ -10470,10 +10610,15 @@ and the response contains error information.</li>
10470
10610
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10471
10611
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10472
10612
 
10613
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
10614
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
10615
+
10616
+ <span class="c1"># set device to control.</span>
10617
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
10618
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
10619
+ <span class="c1">#deviceId:str = None # use currently active device</span>
10620
+
10473
10621
  <span class="c1"># play artist on the specified Spotify Connect device.</span>
10474
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10475
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
10476
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
10477
10622
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:artist:6APm8EjxOHSYM5B4i3vT3q&#39;</span> <span class="c1"># Artist = MercyMe</span>
10478
10623
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing artist on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
10479
10624
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayContext</span><span class="p">(</span><span class="n">contextUri</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
@@ -10481,7 +10626,6 @@ and the response contains error information.</li>
10481
10626
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - artist should be playing&#39;</span><span class="p">)</span>
10482
10627
 
10483
10628
  <span class="c1"># play artist and start first song played at the 25 seconds position on the specified Spotify Connect device.</span>
10484
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10485
10629
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:artist:6APm8EjxOHSYM5B4i3vT3q&#39;</span> <span class="c1"># Artist = MercyMe</span>
10486
10630
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing artist at the 25 seconds position on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
10487
10631
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayContext</span><span class="p">(</span><span class="n">contextUri</span><span class="p">,</span> <span class="n">positionMS</span><span class="o">=</span><span class="mi">25000</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
@@ -10522,10 +10666,15 @@ and the response contains error information.</li>
10522
10666
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10523
10667
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10524
10668
 
10669
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
10670
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
10671
+
10672
+ <span class="c1"># set device to control.</span>
10673
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
10674
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
10675
+ <span class="c1">#deviceId:str = None # use currently active device</span>
10676
+
10525
10677
  <span class="c1"># play playlist on the specified Spotify Connect device.</span>
10526
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10527
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
10528
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
10529
10678
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:playlist:5v5ETK9WFXAnGQ3MRubKuE&#39;</span> <span class="c1"># Playlist = My Playlist</span>
10530
10679
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing playlist on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
10531
10680
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayContext</span><span class="p">(</span><span class="n">contextUri</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
@@ -10533,7 +10682,6 @@ and the response contains error information.</li>
10533
10682
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - playlist should be playing&#39;</span><span class="p">)</span>
10534
10683
 
10535
10684
  <span class="c1"># play playlist starting at track #7 on the specified Spotify Connect device.</span>
10536
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10537
10685
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:playlist:5v5ETK9WFXAnGQ3MRubKuE&#39;</span> <span class="c1"># Playlist = My Playlist</span>
10538
10686
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing playlist starting at track #7 on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
10539
10687
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayContext</span><span class="p">(</span><span class="n">contextUri</span><span class="p">,</span> <span class="n">offsetPosition</span><span class="o">=</span><span class="mi">6</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
@@ -10541,7 +10689,6 @@ and the response contains error information.</li>
10541
10689
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - playlist should be playing&#39;</span><span class="p">)</span>
10542
10690
 
10543
10691
  <span class="c1"># play playlist starting at track #5 and 25 seconds position on the specified Spotify Connect device.</span>
10544
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10545
10692
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:playlist:5v5ETK9WFXAnGQ3MRubKuE&#39;</span> <span class="c1"># Playlist = My Playlist</span>
10546
10693
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing playlist starting at track #5 (25 seconds) on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
10547
10694
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayContext</span><span class="p">(</span><span class="n">contextUri</span><span class="p">,</span> <span class="n">offsetPosition</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">positionMS</span><span class="o">=</span><span class="mi">25000</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
@@ -10549,7 +10696,6 @@ and the response contains error information.</li>
10549
10696
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - playlist should be playing&#39;</span><span class="p">)</span>
10550
10697
 
10551
10698
  <span class="c1"># play playlist starting at track id #7 on the specified Spotify Connect device.</span>
10552
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10553
10699
  <span class="n">contextUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:playlist:5v5ETK9WFXAnGQ3MRubKuE&#39;</span> <span class="c1"># Playlist = My Playlist</span>
10554
10700
  <span class="n">offsetUri</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s1">&#39;spotify:track:1kWUud3vY5ij5r62zxpTRy&#39;</span> <span class="c1"># Track = Flawless</span>
10555
10701
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing playlist starting at track #7 on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">contextUri</span><span class="p">))</span>
@@ -10584,10 +10730,13 @@ and starts playing them.</p>
10584
10730
  <h6 id="arguments">Arguments:</h6>
10585
10731
 
10586
10732
  <ul>
10587
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
10588
- If not supplied, the user's currently active device is the target. <br />
10589
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
10590
- Example: <code>Web Player (Chrome)</code> </li>
10733
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
10734
+ This could be an id, name, a default device indicator (e.g. "*"), a
10735
+ SpotifyConnectDevice object, or null to utilize the active player device.
10736
+ A device is considered resolved if a SpotifyConnectDevice object is passed
10737
+ for this argument. An exception will be raised if the argument value could
10738
+ not be resolved or activated.
10739
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
10591
10740
  <li><strong>shuffle (bool):</strong> True to set player shuffle mode to on; otherwise, False for no shuffle.</li>
10592
10741
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
10593
10742
  This delay will give the spotify web api time to process the change before
@@ -10645,10 +10794,15 @@ number of tracks allowed for the request.</p>
10645
10794
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10646
10795
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10647
10796
 
10797
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
10798
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
10799
+
10800
+ <span class="c1"># set device to control.</span>
10801
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
10802
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
10803
+ <span class="c1">#deviceId:str = None # use currently active device</span>
10804
+
10648
10805
  <span class="c1"># play all track favorites on the specified Spotify Connect device.</span>
10649
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10650
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
10651
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
10652
10806
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing track favorites on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">deviceId</span><span class="p">)</span>
10653
10807
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayTrackFavorites</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)</span>
10654
10808
 
@@ -10692,10 +10846,13 @@ Passing in a position that is greater than the length of the track will cause th
10692
10846
  player to start playing the next track. <br />
10693
10847
  Default is <code>0</code>. <br />
10694
10848
  Example: <code>25000</code> </li>
10695
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
10696
- If not supplied, the user's currently active device is the target. <br />
10697
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
10698
- Example: <code>Web Player (Chrome)</code> </li>
10849
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
10850
+ This could be an id, name, a default device indicator (e.g. "*"), a
10851
+ SpotifyConnectDevice object, or null to utilize the active player device.
10852
+ A device is considered resolved if a SpotifyConnectDevice object is passed
10853
+ for this argument. An exception will be raised if the argument value could
10854
+ not be resolved or activated.
10855
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
10699
10856
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
10700
10857
  This delay will give the spotify web api time to process the change before
10701
10858
  another command is issued. <br />
@@ -10744,10 +10901,15 @@ and the response contains error information.</li>
10744
10901
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10745
10902
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10746
10903
 
10904
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
10905
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
10906
+
10907
+ <span class="c1"># set device to control.</span>
10908
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
10909
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
10910
+ <span class="c1">#deviceId:str = None # use currently active device</span>
10911
+
10747
10912
  <span class="c1"># play single track on the specified Spotify Connect device.</span>
10748
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10749
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
10750
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
10751
10913
  <span class="n">uris</span><span class="p">:</span><span class="nb">str</span><span class="o">=</span><span class="s1">&#39;spotify:track:1kWUud3vY5ij5r62zxpTRy&#39;</span> <span class="c1"># Flawless</span>
10752
10914
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing media on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">uris</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">,</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">- &#39;</span><span class="p">)))</span>
10753
10915
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayTracks</span><span class="p">(</span><span class="n">uris</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
@@ -10756,7 +10918,6 @@ and the response contains error information.</li>
10756
10918
 
10757
10919
  <span class="c1"># play single track on the specified Spotify Connect device.</span>
10758
10920
  <span class="c1"># start playing at the 25 seconds (25000 milliseconds) point in the track.</span>
10759
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10760
10921
  <span class="n">uris</span><span class="p">:</span><span class="nb">str</span><span class="o">=</span><span class="s1">&#39;spotify:track:1kWUud3vY5ij5r62zxpTRy&#39;</span> <span class="c1"># Flawless</span>
10761
10922
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing media on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">uris</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">,</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">- &#39;</span><span class="p">)))</span>
10762
10923
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayTracks</span><span class="p">(</span><span class="n">uris</span><span class="p">,</span> <span class="mi">25000</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
@@ -10764,7 +10925,6 @@ and the response contains error information.</li>
10764
10925
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - media should be playing&#39;</span><span class="p">)</span>
10765
10926
 
10766
10927
  <span class="c1"># play multiple tracks on the specified Spotify Connect device.</span>
10767
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10768
10928
  <span class="n">uris</span><span class="p">:</span><span class="nb">str</span><span class="o">=</span><span class="s1">&#39;spotify:track:1kWUud3vY5ij5r62zxpTRy,spotify:track:27JODWXo4VNa6s7HqDL9yQ,spotify:track:4iV5W9uYEdYUVa79Axb7Rh&#39;</span>
10769
10929
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Playing media on Spotify Connect device: </span><span class="se">\n</span><span class="s1">ID: </span><span class="si">%s</span><span class="s1"> </span><span class="se">\n</span><span class="s1">- </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">deviceId</span><span class="p">,</span> <span class="n">uris</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">,</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">- &#39;</span><span class="p">)))</span>
10770
10930
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaPlayTracks</span><span class="p">(</span><span class="n">uris</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
@@ -10799,10 +10959,13 @@ and the response contains error information.</li>
10799
10959
  <h6 id="arguments">Arguments:</h6>
10800
10960
 
10801
10961
  <ul>
10802
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
10803
- If not supplied, the user's currently active device is the target. <br />
10804
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
10805
- Example: <code>Web Player (Chrome)</code> </li>
10962
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
10963
+ This could be an id, name, a default device indicator (e.g. "*"), a
10964
+ SpotifyConnectDevice object, or null to utilize the active player device.
10965
+ A device is considered resolved if a SpotifyConnectDevice object is passed
10966
+ for this argument. An exception will be raised if the argument value could
10967
+ not be resolved or activated.
10968
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
10806
10969
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
10807
10970
  This delay will give the spotify web api time to process the change before
10808
10971
  another command is issued. <br />
@@ -10847,10 +11010,15 @@ and the response contains error information.</li>
10847
11010
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10848
11011
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10849
11012
 
11013
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
11014
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
11015
+
11016
+ <span class="c1"># set device to control.</span>
11017
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
11018
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
11019
+ <span class="c1">#deviceId:str = None # use currently active device</span>
11020
+
10850
11021
  <span class="c1"># resume play on the specified Spotify Connect device.</span>
10851
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10852
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
10853
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
10854
11022
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Resume media on Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">))</span>
10855
11023
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaResume</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)</span>
10856
11024
 
@@ -10890,10 +11058,13 @@ zero if the <code>relativePositionMS</code> argument is specified. <br />
10890
11058
  Passing in a position that is greater than the length of the track will cause the
10891
11059
  player to start playing the next song. <br />
10892
11060
  Example = <code>25000</code> to start playing at the 25 second mark. </li>
10893
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
10894
- If not supplied, the user's currently active device is the target. <br />
10895
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
10896
- Example: <code>Web Player (Chrome)</code> </li>
11061
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
11062
+ This could be an id, name, a default device indicator (e.g. "*"), a
11063
+ SpotifyConnectDevice object, or null to utilize the active player device.
11064
+ A device is considered resolved if a SpotifyConnectDevice object is passed
11065
+ for this argument. An exception will be raised if the argument value could
11066
+ not be resolved or activated.
11067
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
10897
11068
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
10898
11069
  This delay will give the spotify web api time to process the change before
10899
11070
  another command is issued. <br />
@@ -10951,11 +11122,16 @@ argument was added to this API to support "skip" seeking. </p>
10951
11122
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10952
11123
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10953
11124
 
11125
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
11126
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
11127
+
11128
+ <span class="c1"># set device to control.</span>
11129
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
11130
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
11131
+ <span class="c1">#deviceId:str = None # use currently active device</span>
11132
+
10954
11133
  <span class="c1"># seek to the given position in the track on the specified Spotify Connect device.</span>
10955
11134
  <span class="n">positionMS</span><span class="p">:</span><span class="nb">int</span> <span class="o">=</span> <span class="mi">25000</span>
10956
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
10957
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
10958
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
10959
11135
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Seeking to </span><span class="si">%d</span><span class="s1"> milliseconds on Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">positionMS</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">))</span>
10960
11136
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaSeek</span><span class="p">(</span><span class="n">positionMS</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
10961
11137
 
@@ -10994,11 +11170,16 @@ argument was added to this API to support "skip" seeking. </p>
10994
11170
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
10995
11171
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
10996
11172
 
11173
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
11174
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
11175
+
11176
+ <span class="c1"># set device to control.</span>
11177
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
11178
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
11179
+ <span class="c1">#deviceId:str = None # use currently active device</span>
11180
+
10997
11181
  <span class="c1"># seek ahead 5 seconds in the playing track.</span>
10998
11182
  <span class="n">relPositionMS</span><span class="p">:</span><span class="nb">int</span> <span class="o">=</span> <span class="mi">5000</span>
10999
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11000
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
11001
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
11002
11183
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Seeking ahead by </span><span class="si">%d</span><span class="s1"> milliseconds on Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">relPositionMS</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">))</span>
11003
11184
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaSeek</span><span class="p">(</span><span class="n">relativePositionMS</span><span class="o">=</span><span class="n">relPositionMS</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
11004
11185
 
@@ -11006,9 +11187,6 @@ argument was added to this API to support "skip" seeking. </p>
11006
11187
 
11007
11188
  <span class="c1"># seek behind 5 seconds in the playing track.</span>
11008
11189
  <span class="n">relPositionMS</span><span class="p">:</span><span class="nb">int</span> <span class="o">=</span> <span class="o">-</span><span class="mi">5000</span>
11009
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11010
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
11011
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
11012
11190
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Seeking behind by </span><span class="si">%d</span><span class="s1"> milliseconds on Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">relPositionMS</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">))</span>
11013
11191
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaSeek</span><span class="p">(</span><span class="n">relativePositionMS</span><span class="o">=</span><span class="n">relPositionMS</span><span class="p">,</span> <span class="n">deviceId</span><span class="o">=</span><span class="n">deviceId</span><span class="p">)</span>
11014
11192
 
@@ -11042,10 +11220,13 @@ argument was added to this API to support "skip" seeking. </p>
11042
11220
  <h6 id="arguments">Arguments:</h6>
11043
11221
 
11044
11222
  <ul>
11045
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
11046
- If not supplied, the user's currently active device is the target. <br />
11047
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
11048
- Example: <code>Web Player (Chrome)</code> </li>
11223
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
11224
+ This could be an id, name, a default device indicator (e.g. "*"), a
11225
+ SpotifyConnectDevice object, or null to utilize the active player device.
11226
+ A device is considered resolved if a SpotifyConnectDevice object is passed
11227
+ for this argument. An exception will be raised if the argument value could
11228
+ not be resolved or activated.
11229
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
11049
11230
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
11050
11231
  This delay will give the spotify web api time to process the change before
11051
11232
  another command is issued. <br />
@@ -11090,10 +11271,15 @@ and the response contains error information.</li>
11090
11271
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
11091
11272
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
11092
11273
 
11274
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
11275
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
11276
+
11277
+ <span class="c1"># set device to control.</span>
11278
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
11279
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
11280
+ <span class="c1">#deviceId:str = None # use currently active device</span>
11281
+
11093
11282
  <span class="c1"># skip to next track on the specified Spotify Connect device.</span>
11094
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11095
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
11096
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
11097
11283
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Skip to next track on Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">))</span>
11098
11284
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaSkipNext</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)</span>
11099
11285
 
@@ -11127,10 +11313,13 @@ and the response contains error information.</li>
11127
11313
  <h6 id="arguments">Arguments:</h6>
11128
11314
 
11129
11315
  <ul>
11130
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
11131
- If not supplied, the user's currently active device is the target. <br />
11132
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
11133
- Example: <code>Web Player (Chrome)</code> </li>
11316
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
11317
+ This could be an id, name, a default device indicator (e.g. "*"), a
11318
+ SpotifyConnectDevice object, or null to utilize the active player device.
11319
+ A device is considered resolved if a SpotifyConnectDevice object is passed
11320
+ for this argument. An exception will be raised if the argument value could
11321
+ not be resolved or activated.
11322
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
11134
11323
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
11135
11324
  This delay will give the spotify web api time to process the change before
11136
11325
  another command is issued. <br />
@@ -11175,10 +11364,15 @@ and the response contains error information.</li>
11175
11364
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
11176
11365
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
11177
11366
 
11367
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
11368
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
11369
+
11370
+ <span class="c1"># set device to control.</span>
11371
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
11372
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
11373
+ <span class="c1">#deviceId:str = None # use currently active device</span>
11374
+
11178
11375
  <span class="c1"># skip to previous track on the specified Spotify Connect device.</span>
11179
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11180
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
11181
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
11182
11376
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Skip to previous track on Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">))</span>
11183
11377
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerMediaSkipPrevious</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)</span>
11184
11378
 
@@ -11219,10 +11413,13 @@ and the response contains error information.</li>
11219
11413
  <li><code>off</code> - will turn repeat off.
11220
11414
  Default: <code>off</code> </li>
11221
11415
  </ul></li>
11222
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
11223
- If not supplied, the user's currently active device is the target. <br />
11224
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
11225
- Example: <code>Web Player (Chrome)</code> </li>
11416
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
11417
+ This could be an id, name, a default device indicator (e.g. "*"), a
11418
+ SpotifyConnectDevice object, or null to utilize the active player device.
11419
+ A device is considered resolved if a SpotifyConnectDevice object is passed
11420
+ for this argument. An exception will be raised if the argument value could
11421
+ not be resolved or activated.
11422
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
11226
11423
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
11227
11424
  This delay will give the spotify web api time to process the change before
11228
11425
  another command is issued. <br />
@@ -11267,24 +11464,27 @@ and the response contains error information.</li>
11267
11464
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
11268
11465
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
11269
11466
 
11467
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
11468
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
11469
+
11470
+ <span class="c1"># set device to control.</span>
11471
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
11472
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
11473
+ <span class="c1">#deviceId:str = None # use currently active device</span>
11474
+
11270
11475
  <span class="c1"># set repeat mode CONTEXT for the user&#39;s current playback device.</span>
11271
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11272
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
11273
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
11274
11476
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Set repeat mode CONTEXT for Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)))</span>
11275
11477
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerSetRepeatMode</span><span class="p">(</span><span class="s1">&#39;context&#39;</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
11276
11478
 
11277
11479
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - repeat mode CONTEXT was set&#39;</span><span class="p">)</span>
11278
11480
 
11279
11481
  <span class="c1"># set repeat mode TRACK for the user&#39;s current playback device.</span>
11280
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11281
11482
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Set repeat mode to single track for Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)))</span>
11282
11483
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerSetRepeatMode</span><span class="p">(</span><span class="s1">&#39;track&#39;</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
11283
11484
 
11284
11485
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - repeat mode TRACK was set&#39;</span><span class="p">)</span>
11285
11486
 
11286
11487
  <span class="c1"># set repeat mode OFF for the user&#39;s current playback device.</span>
11287
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11288
11488
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Set repeat mode OFF for Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)))</span>
11289
11489
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerSetRepeatMode</span><span class="p">(</span><span class="s1">&#39;off&#39;</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
11290
11490
 
@@ -11324,10 +11524,13 @@ and the response contains error information.</li>
11324
11524
  <li><code>False</code> - Do not shuffle user's playback.
11325
11525
  Default is False</li>
11326
11526
  </ul></li>
11327
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
11328
- If not supplied, the user's currently active device is the target. <br />
11329
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
11330
- Example: <code>Web Player (Chrome)</code> </li>
11527
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
11528
+ This could be an id, name, a default device indicator (e.g. "*"), a
11529
+ SpotifyConnectDevice object, or null to utilize the active player device.
11530
+ A device is considered resolved if a SpotifyConnectDevice object is passed
11531
+ for this argument. An exception will be raised if the argument value could
11532
+ not be resolved or activated.
11533
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
11331
11534
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
11332
11535
  This delay will give the spotify web api time to process the change before
11333
11536
  another command is issued. <br />
@@ -11372,17 +11575,21 @@ and the response contains error information.</li>
11372
11575
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Auth Token:</span><span class="se">\n</span><span class="s1"> Type=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> Scope=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">AuthorizationType</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">AuthToken</span><span class="o">.</span><span class="n">Scope</span><span class="p">)))</span>
11373
11576
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">User:</span><span class="se">\n</span><span class="s1"> DisplayName=&quot;</span><span class="si">%s</span><span class="s1">&quot;</span><span class="se">\n</span><span class="s1"> EMail=&quot;</span><span class="si">%s</span><span class="s1">&quot;&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">DisplayName</span><span class="p">,</span> <span class="n">spotify</span><span class="o">.</span><span class="n">UserProfile</span><span class="o">.</span><span class="n">EMail</span><span class="p">))</span>
11374
11577
 
11578
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
11579
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
11580
+
11581
+ <span class="c1"># set device to control.</span>
11582
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
11583
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
11584
+ <span class="c1">#deviceId:str = None # use currently active device</span>
11585
+
11375
11586
  <span class="c1"># set shuffle mode ON for the user&#39;s current playback device.</span>
11376
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11377
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
11378
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
11379
11587
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Set shuffle mode ON for Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)))</span>
11380
11588
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerSetShuffleMode</span><span class="p">(</span><span class="kc">True</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
11381
11589
 
11382
11590
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Success - shuffle mode ON was set&#39;</span><span class="p">)</span>
11383
11591
 
11384
11592
  <span class="c1"># set shuffle mode OFF for the user&#39;s current playback device.</span>
11385
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11386
11593
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Set shuffle mode OFF for Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)))</span>
11387
11594
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerSetShuffleMode</span><span class="p">(</span><span class="kc">False</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
11388
11595
 
@@ -11419,10 +11626,13 @@ and the response contains error information.</li>
11419
11626
  <li><strong>volumePercent (int):</strong> The volume to set. <br />
11420
11627
  Must be a value from 0 to 100 inclusive.
11421
11628
  Example: <code>50</code></li>
11422
- <li><strong>deviceId (str):</strong> The id or name of the device this command is targeting. <br />
11423
- If not supplied, the user's currently active device is the target. <br />
11424
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
11425
- Example: <code>Web Player (Chrome)</code> </li>
11629
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
11630
+ This could be an id, name, a default device indicator (e.g. "*"), a
11631
+ SpotifyConnectDevice object, or null to utilize the active player device.
11632
+ A device is considered resolved if a SpotifyConnectDevice object is passed
11633
+ for this argument. An exception will be raised if the argument value could
11634
+ not be resolved or activated.
11635
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
11426
11636
  <li><strong>delay (float):</strong> Time delay (in seconds) to wait AFTER issuing the command to the player. <br />
11427
11637
  This delay will give the spotify web api time to process the change before
11428
11638
  another command is issued. <br />
@@ -11462,11 +11672,16 @@ and the response contains error information.</li>
11462
11672
  <span class="c1"># create new spotify client instance.</span>
11463
11673
  <span class="n">spotify</span><span class="p">:</span><span class="n">SpotifyClient</span> <span class="o">=</span> <span class="n">SpotifyClient</span><span class="p">()</span>
11464
11674
 
11675
+ <span class="c1"># if no active spotify player device, then use the specified device.</span>
11676
+ <span class="n">spotify</span><span class="o">.</span><span class="n">DefaultDeviceId</span> <span class="o">=</span> <span class="s2">&quot;Bose-ST10-1&quot;</span>
11677
+
11678
+ <span class="c1"># set device to control.</span>
11679
+ <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;*&quot;</span> <span class="c1"># use DefaultDeviceId</span>
11680
+ <span class="c1">#deviceId:str = &quot;Office&quot; # use device name (or id)</span>
11681
+ <span class="c1">#deviceId:str = None # use currently active device</span>
11682
+
11465
11683
  <span class="c1"># set the volume for the user&#39;s current playback device.</span>
11466
- <span class="n">volumePercent</span><span class="p">:</span><span class="nb">int</span> <span class="o">=</span> <span class="mi">100</span>
11467
- <span class="n">deviceId</span><span class="p">:</span><span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># use currently playing device</span>
11468
- <span class="c1">#deviceId:str = &quot;Web Player (Chrome)&quot; # or device name</span>
11469
- <span class="c1">#deviceId:str = &quot;0d1841b0976bae2a3a310dd74c0f3df354899bc8&quot; # or device id</span>
11684
+ <span class="n">volumePercent</span><span class="p">:</span><span class="nb">int</span> <span class="o">=</span> <span class="mi">75</span>
11470
11685
  <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">Set </span><span class="si">%d%%</span><span class="s1"> volume on Spotify Connect device:</span><span class="se">\n</span><span class="s1">- &quot;</span><span class="si">%s</span><span class="s1">&quot; ...&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">volumePercent</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">deviceId</span><span class="p">)))</span>
11471
11686
  <span class="n">spotify</span><span class="o">.</span><span class="n">PlayerSetVolume</span><span class="p">(</span><span class="n">volumePercent</span><span class="p">,</span> <span class="n">deviceId</span><span class="p">)</span>
11472
11687
 
@@ -11487,7 +11702,7 @@ and the response contains error information.</li>
11487
11702
  <div class="attr function">
11488
11703
 
11489
11704
  <span class="def">def</span>
11490
- <span class="name">PlayerTransferPlayback</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">deviceId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">play</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>,</span><span class="param"> <span class="n">delay</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.5</span>,</span><span class="param"> <span class="n">refreshDeviceList</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>,</span><span class="param"> <span class="n">forceActivateDevice</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span></span><span class="return-annotation">) -> <span class="kc">None</span>:</span></span>
11705
+ <span class="name">PlayerTransferPlayback</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">deviceId</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span>,</span><span class="param"> <span class="n">play</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>,</span><span class="param"> <span class="n">delay</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.5</span>,</span><span class="param"> <span class="n">refreshDeviceList</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>,</span><span class="param"> <span class="n">forceActivateDevice</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span>,</span><span class="param"> <span class="n">deviceIdFrom</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span></span><span class="return-annotation">) -> <span class="n">spotifywebapipython</span><span class="o">.</span><span class="n">models</span><span class="o">.</span><span class="n">spotifyconnectdevice</span><span class="o">.</span><span class="n">SpotifyConnectDevice</span>:</span></span>
11491
11706
 
11492
11707
 
11493
11708
  </div>
@@ -11500,9 +11715,13 @@ and the response contains error information.</li>
11500
11715
  <h6 id="arguments">Arguments:</h6>
11501
11716
 
11502
11717
  <ul>
11503
- <li><strong>deviceId (str):</strong> The id or name of the device on which playback should be started/transferred.
11504
- Example: <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code> <br />
11505
- Example: <code>Web Player (Chrome)</code> </li>
11718
+ <li><strong>deviceId (str | SpotifyConnectDevice) | None):</strong> The target player device identifier.
11719
+ This could be an id, name, a default device indicator (e.g. "*"), a
11720
+ SpotifyConnectDevice object, or null to utilize the active player device.
11721
+ A device is considered resolved if a SpotifyConnectDevice object is passed
11722
+ for this argument. An exception will be raised if the argument value could
11723
+ not be resolved or activated.
11724
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
11506
11725
  <li><strong>play (bool):</strong> The transfer method: <br />
11507
11726
  <ul>
11508
11727
  <li><code>True</code> - ensure playback happens on new device. </li>
@@ -11520,8 +11739,20 @@ Default is True. </li>
11520
11739
  force the device to reconnect to Spotify Connect; otherwise, False to not
11521
11740
  disconnect.
11522
11741
  Default is True. </li>
11742
+ <li><strong>deviceIdFrom (str | SpotifyConnectDevice) | None):</strong> The player device identifier where play is being transferred from.
11743
+ This could be an id, name, a default device indicator (e.g. "*"), a
11744
+ SpotifyConnectDevice object, or null.
11745
+ A device is considered resolved if a SpotifyConnectDevice object is passed
11746
+ for this argument. <br />
11747
+ Examples are <code>0d1841b0976bae2a3a310dd74c0f3df354899bc8</code>, <code>Office</code>, <code>*</code>, None. </li>
11523
11748
  </ul>
11524
11749
 
11750
+ <h6 id="returns">Returns:</h6>
11751
+
11752
+ <blockquote>
11753
+ <p>A <code>SpotifyConnectDevice</code> object for the device where playback was transferred to.</p>
11754
+ </blockquote>
11755
+
11525
11756
  <h6 id="raises">Raises:</h6>
11526
11757
 
11527
11758
  <ul>
@@ -11534,6 +11765,11 @@ and the response contains error information.</li>
11534
11765
 
11535
11766
  <p>The order of execution is not guaranteed when you use this API with other Player API endpoints.</p>
11536
11767
 
11768
+ <p>The <code>deviceIdFrom</code> argument is not part of the Spotify Web API specification. If a value
11769
+ was supplied, then we will attempt to stop play on the device if it's needed. This is required
11770
+ if transferring playback from a Sonos device that is playing content on its local queue; if you
11771
+ don't stop playback on it, then it and the target device will both be playing!</p>
11772
+
11537
11773
  <p><details>
11538
11774
  <summary>Sample Code</summary></p>
11539
11775