ldsz / plugin.audio.spotify Goto Github PK
View Code? Open in Web Editor NEWThis project forked from kodi-community-addons/plugin.audio.spotify
Unofficial spotify plugin for Kodi 19
License: GNU General Public License v3.0
This project forked from kodi-community-addons/plugin.audio.spotify
Unofficial spotify plugin for Kodi 19
License: GNU General Public License v3.0
hi, installed but I cannot login.
here's my log:
2021-05-17 15:57:38.027 T:4735 INFO : plugin.audio.spotify --> b'retrieving token...'
2021-05-17 15:57:38.032 T:4735 INFO : plugin.audio.spotify --> b'Retrieving auth token....'
2021-05-17 15:57:38.076 T:4735 INFO : plugin.audio.spotify --> b'request_token_spotty stdout: b"thread 'main' panicked at 'called Option::unwrap()
on a None
value', libcore/option.rs:355:21\nnote: Run with RUST_BACKTRACE=1
for a backtrace.\n"'
2021-05-17 15:57:43.115 T:4735 INFO : plugin.audio.spotify --> b"request_token_spotty stdout: b''"
2021-05-17 15:57:43.116 T:4735 INFO : plugin.audio.spotify --> b"Couldn't request authentication token. Username/password error ? If you're using a facebook account with Spotify, make sure to generate a device account/password in the Spotify accountdetails."
2021-05-17 15:57:48.123 T:4735 INFO : plugin.audio.spotify --> b'retrieving token...'
2021-05-17 15:57:48.127 T:4735 INFO : plugin.audio.spotify --> b'Retrieving auth token....'
2021-05-17 15:57:48.173 T:4735 INFO : plugin.audio.spotify --> b'request_token_spotty stdout: b"thread 'main' panicked at 'called Option::unwrap()
on a None
value', libcore/option.rs:355:21\nnote: Run with RUST_BACKTRACE=1
for a backtrace.\n"'
Is there a zip file?
Hi @ldsz,
I have just started with Kodi, so I came across your add-on.
As I noticed that there hasn't been any activity for quite a while, I'm wondering if you still trying to maintain it.
thx for your efforts
stefan
Hi,
I've installed this plugin on my ubuntu 18.04 kodi box.
when i start it log says:
2021-05-24 11:49:29.630 T:783 INFO <general>: plugin.audio.spotify --> b'Launching system-default browser' 2021-05-24 11:49:29.662 T:783 INFO <general>: plugin.audio.spotify --> b'Waiting for authentication token...' 2021-05-24 11:49:39.662 T:783 INFO <general>: plugin.audio.spotify --> b'Waiting for authentication token...'
also, the browser does not pop up.
i've installed chromium-browser
any suggestions?
thanks!
Hi all.
I've installed this plug-in and found it operational through the interface of OSMC 2022.03-1 (K: Linux 5.10.78-5-osmc), running on a Raspberry Pi Model 3 B.
However, the Spotify Connect functionality seems to have some issues for me. I am very aware that the feature is listed as experimental, but Spotify Connect is an extremely desirable feature in my view.
Some issues I have had;
An always present lag between my phone (Pixel 4a) interface and the media playing through the plug-in. Usually in the region of 10 seconds, but varying between 8 and 15. This means if I am listening to track A and select track B on my phone, my phone shows it as playing for the quoted lag time, before the plug-in catches up. The plug-in will then start track B at 00:00, so the there is never much sync between the controller and the player.
Sometimes my phone will connect, and indicate that it is playing music, and the plug-in will report that my phone is connected, (my phone is listed as the Spotify Connect device in the "Local playback on this device" menu), but no music will actually play through the plug-in.
If I do successfully use Spotify Connect, often after only two tracks playing, the connection seems to be lost. Sometimes my phone shows that music is still playing, other times my phone interface also shows the music as having stopped.
As I mentioned, I am extremely aware that even the plug-in refers to this feature as experimental, it just happens to be the feature I used most on my previous hardware setup, and I got to really value it!
Possibly useful information;
I've listed the OSMC version info.
I set my Spotify Connect device name to a plain string; no spaces or "odd" chars.
Connection of Pi and Pixel are over a good, strong private WiFi network.
So lastly, I can see the development on this plug-in comes in bursts. I'd be happy to make a financial donation (albeit a relatively low amount) if that would encourage another round of development. This plug-in is just so close to perfect for my needs!
Many thanks for reading,
J.
Hello,
I recently installed a new device with Kodi 19 I tried to install the Spotify addon but unfortunately that doesn't work. I tried the version that was created by Marcel on Kodi 18 and that one works fine. Is there a solution for this?
In my environment (Kodi 19 on Arch Linux, Kernel 5.11.12), I could not connect to spotify using this plugin, because the spotty binary that is packaged with the plugin crashes. I could solve this issue by replacing resources/lib/spotty/x86-linux/spotty-x86_64 (which claims to be version 0.20.0) by an updated binary based on the repository https://github.com/michaelherger/spotty which is version 0.35.0. With this version, I can connect to spotify and everything seems to work, except for the most important part: I don't get any sound, but instead a bunch of error messages:
2021-04-11 11:52:46.192 T:634 ERROR <general>: plugin.audio.spotify --> b'WHOOPS!!! Running spotty still handling same request - leave it alone.'
2021-04-11 11:52:56.202 T:18422 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2021-04-11 11:52:56.203 T:18422 ERROR <general>: Open - error probing input format, http://localhost:52308/track/77sMIMlNaSURUAXq5coCxE/241.591
2021-04-11 11:52:56.203 T:18422 ERROR <general>: Init: Error creating demuxer
2021-04-11 11:52:56.411 T:626 ERROR <general>: plugin.audio.spotify --> b'WHOOPS!!! Running spotty still handling same request - leave it alone.'
2021-04-11 11:53:06.421 T:18422 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2021-04-11 11:53:06.422 T:18422 ERROR <general>: Open - error probing input format, http://localhost:52308/track/77sMIMlNaSURUAXq5coCxE/241.591
2021-04-11 11:53:06.423 T:18422 ERROR <general>: Init: Error creating demuxer
2021-04-11 11:53:06.423 T:18422 ERROR <general>: CAudioDecoder: Unable to Init Codec while loading file http://localhost:52308/track/77sMIMlNaSURUAXq5coCxE/241.591
This raises a couple of questions:
I'm using LibreElec 10 with Kodi 19.3 on a RPi400.
After installing the ldsz spotify add on and adding my premium account details it connects and I can play music. But if I restart LibreElec/Kodi when it starts up there is a login error with the Spotify account and I can't relogin unless I remove or re enter my Spotify credentials multiple times.
Has anyone else encountered this issue? Any tips?
In release 1.2.2, I observe the following behavior:
The volume value set by Spotify hard-overwrites Kodi's volume value roughly once per second. So volume control in Kodi is still possible but only kept for a very brief moment. In contrast, when volume is controlled by Spotify, the volume icon at the top of Kodi's audio playback / visualizer display is not shown. Volume control through Spotify lags considerably (~ 3 seconds?) - like all Spotify Connect remote operations for me (is this normal?).
For me, personally, Kodi volume control is more important than volume control via Spotify, if there is no good solution I'd like to have a setting to choose either. I'm happy to start working on implementing this.
Just for reference, the mute control seems to work completely separate from that: Both Kodi AND Spotify need to be unmuted for sound to play, this can be confusing but allows for "I'm getting a phone call" mute operation no matter where from.
When I start playback on my Pi 4 (with Kodi 19.1 running on top of LibreElec), I can't see on any other device that Spotify is playing back on this device.
If this matters, I have "show local devices only" turned off in my Spotify settings
Whenever i try to play music through the addon, or stream from my phone (it doesn't even show up on my phone) the addon crashes, with the below log:
2021-08-28 17:44:12.667 T:6936 ERROR : EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'TypeError'>
Error Contents: '>=' not supported between instances of 'tuple' and 'int'
Traceback (most recent call last):
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\spotipy\client.py", line 121, in _internal_call
r.raise_for_status()
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\script.module.requests\lib\requests\models.py", line 943, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api.spotify.com/v1/me/player/play
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\plugin_content.py", line 55, in __init__
eval(action)()
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\plugin_content.py", line 292, in connect_playback
self.sp.start_playback(context_uri=context_uri, offset=offset)
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\spotipy\client.py", line 972, in start_playback
return self._put(self._append_device_id("me/player/play", device_id), payload=data)
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\spotipy\client.py", line 190, in _put
return self._internal_call('PUT', url, payload, kwargs)
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\spotipy\client.py", line 124, in _internal_call
raise SpotifyException(r.status_code,
spotipy.client.SpotifyException: http status: 404, code:-1 - https://api.spotify.com/v1/me/player/play:
Player command failed: No active device found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\plugin.py", line 14, in <module>
PluginContent()
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\plugin_content.py", line 62, in __init__
log_exception(__name__, exc)
File "C:\Users\kodi\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\utils.py", line 90, in log_exception
log_msg(format_exc(sys.exc_info()), xbmc.LOGDEBUG)
File "C:\Program Files\Kodi\system\python\Lib\traceback.py", line 167, in format_exc
return "".join(format_exception(*sys.exc_info(), limit=limit, chain=chain))
File "C:\Program Files\Kodi\system\python\Lib\traceback.py", line 120, in format_exception
return list(TracebackException(
File "C:\Program Files\Kodi\system\python\Lib\traceback.py", line 493, in __init__
context = TracebackException(
File "C:\Program Files\Kodi\system\python\Lib\traceback.py", line 509, in __init__
self.stack = StackSummary.extract(
File "C:\Program Files\Kodi\system\python\Lib\traceback.py", line 340, in extract
if limit >= 0:
TypeError: '>=' not supported between instances of 'tuple' and 'int'
-->End of Python script error report<--
2021-08-28 17:44:12.892 T:6936 INFO : Python interpreter stopped
I'm running Kodi 19.1 on Windows 10.
When I was using Kodi Leia with Marcelveldt's Spotify add-on, I had no issues with the Milkdrop2 visualizer. Since upgrading to both Kodi Matrix(19 & 19.1) and this fork of the Spotify add-on, I am having an issue with the visualizer. It displays fullscreen at the start of the first song normally, but when it gets to the next track in an album or playlist, the screen goes black(visualizer appears to stop). I can get the visualizer to come back if I use the windowed/fullscreen toggle on my remote, but the same thing will happen at every track change.
I'm using Aeon MQ8 Matrix Mod skin, but the same thing happens with the default Estuary skin.
This does NOT happen when playing local music. I don't really have a local music library, but I loaded an album I have for testing purposes and there was no interruption of the visualizer between tracks that way.
I don't know if it is this Spotify add-on for sure, but it seems likely to be the culprit here.
Really bummed because playing my music via Spotify and the Milkdrop2 visualizer has been one of my fav things about Kodi and I don't have the option to roll back to Leia.
I just upgraded to LibreELEC 11 with Kodi 20.0 (Nexus) and the addon is no longer working for me.
please delete this my apologies for creating this by accident.
I'm using this plugin for years now. It always had its bugs but since i've updated to kodi 19 everything was working fine untill two days ago. Suddenly i was logged off from Kodi and i can't login anymore (i still have premium). I've tried every version of this plugin for Kodi 19 and even tried it on a new (portable) installation with no other addons installed but I just can't login anymore.
The only thing repeating in the log is this:
2021-06-24 08:00:35.811 T:16264 INFO : plugin.audio.spotify --> b'retrieving token...'
2021-06-24 08:00:35.813 T:16264 DEBUG <CAddonSettings[plugin.audio.spotify]>: trying to load setting definitions from old format...
2021-06-24 08:00:35.814 T:16264 DEBUG : requested setting (connect_username) was not found.
2021-06-24 08:00:35.817 T:16264 DEBUG <CAddonSettings[plugin.audio.spotify]>: trying to load setting definitions from old format...
2021-06-24 08:00:35.818 T:16264 DEBUG : requested setting (connect_username) was not found.
2021-06-24 08:00:35.819 T:16264 INFO : plugin.audio.spotify --> b'spotty terminated'
2021-06-24 08:00:35.922 T:1308 INFO : plugin.audio.spotify --> b'Stopped Spotify Connect Daemon'
2021-06-24 08:00:35.922 T:16264 INFO : plugin.audio.spotify --> b'Retrieving auth token....'
2021-06-24 08:00:40.930 T:16264 INFO : plugin.audio.spotify --> b"request_token_spotty stdout: b''"
2021-06-24 08:00:40.931 T:16264 DEBUG <CAddonSettings[plugin.audio.spotify]>: trying to load setting definitions from old format...
2021-06-24 08:00:40.933 T:16264 DEBUG : requested setting (connect_username) was not found.
2021-06-24 08:00:45.940 T:16264 INFO : plugin.audio.spotify --> b"request_token_spotty stdout: b''"
2021-06-24 08:00:45.940 T:16264 INFO : plugin.audio.spotify --> b"Couldn't request authentication token. Username/password error ? If you're using a facebook account with Spotify, make sure to generate a device account/password in the Spotify accountdetails."
2021-06-24 08:00:45.940 T:9392 INFO : plugin.audio.spotify --> b'Start Spotify Connect Daemon'
2021-06-24 08:00:45.940 T:9392 INFO : plugin.audio.spotify --> b'trying AP Port 443'
2021-06-24 08:00:48.585 T:16936 DEBUG : 127.0.0.1 - - [24/Jun/2021:08:00:48] "POST /lms/jsonrpc.js HTTP/1.1" 404 1739 "" ""2021-06-24 08:00:48.585 T:16936 DEBUG : .
2021-06-24 08:00:50.941 T:16264 INFO : plugin.audio.spotify --> b'retrieving token...'
2021-06-24 08:00:50.942 T:16264 DEBUG <CAddonSettings[plugin.audio.spotify]>: trying to load setting definitions from old format...
2021-06-24 08:00:50.942 T:16264 DEBUG : requested setting (connect_username) was not found.
2021-06-24 08:00:50.944 T:16264 DEBUG <CAddonSettings[plugin.audio.spotify]>: trying to load setting definitions from old format...
2021-06-24 08:00:50.949 T:16264 DEBUG : requested setting (connect_username) was not found.
2021-06-24 08:00:50.949 T:16264 INFO : plugin.audio.spotify --> b'spotty terminated'
2021-06-24 08:00:51.051 T:9392 INFO : plugin.audio.spotify --> b'Stopped Spotify Connect Daemon'
2021-06-24 08:00:51.051 T:16264 INFO : plugin.audio.spotify --> b'Retrieving auth token....'
2021-06-24 08:00:56.059 T:16264 INFO : plugin.audio.spotify --> b"request_token_spotty stdout: b''"
2021-06-24 08:00:56.060 T:16264 DEBUG <CAddonSettings[plugin.audio.spotify]>: trying to load setting definitions from old format...
2021-06-24 08:00:56.062 T:16264 DEBUG : requested setting (connect_username) was not found.
2021-06-24 08:01:00.417 T:3152 DEBUG : Thread JobWorker start, auto delete: true
2021-06-24 08:01:01.071 T:16264 INFO : Skipped 1 duplicate messages..
2021-06-24 08:01:01.071 T:16264 INFO : plugin.audio.spotify --> b"request_token_spotty stdout: b''"
2021-06-24 08:01:01.071 T:16264 INFO : plugin.audio.spotify --> b"Couldn't request authentication token. Username/password error ? If you're using a facebook account with Spotify, make sure to generate a device account/password in the Spotify accountdetails."
2021-06-24 08:01:01.071 T:16088 INFO : plugin.audio.spotify --> b'Start Spotify Connect Daemon'
2021-06-24 08:01:01.071 T:16088 INFO : plugin.audio.spotify --> b'trying AP Port 443'
2021-06-24 08:01:03.640 T:10476 DEBUG : 127.0.0.1 - - [24/Jun/2021:08:01:03] "POST /lms/jsonrpc.js HTTP/1.1" 404 1739 "" ""
I can see "Spotify for Kodi" in Approved Spotify applicaions, but i never see my browser opening or asking to authorize
I can see credentials in "credentials.json" are generated.
I can see "connect_username" is generated in the settings
I can't pin the problem here, maybe spotty.exe since i see it keeps crashing and restarting.
I've had millions of problems with this addons over the years (and spotty.exe), but always somehow managed to get it working, but now it's been two days of me trying everything and i really need some help if anyone has ideas.
it's happening on windows 10 (x64), kodi 19.1 and even tried a clean install of 19.0 and the latest nightly from 24/06
I don't have any more ideas
Hi,
when i want reboot or shutdown computer from kodi, it fails, with this in log:
2021-04-25 16:48:29.089 T:1227 ERROR <general>: [25/Apr/2021:16:48:29] ENGINE Error in 'stop' listener <bound method ServerAdapter.stop of <cherrypy._cpserver.Server object at 0x7f841853d8b0>>
Traceback (most recent call last):
File "/home/prehravac/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/process/wspbus.py", line 336, in block
self.wait(states.EXITING, interval=interval, channel='main')
File "/home/prehravac/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/process/wspbus.py", line 376, in wait
time.sleep(interval)
SystemExit
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/prehravac/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/process/wspbus.py", line 230, in publish
output.append(listener(*args, **kwargs))
File "/home/prehravac/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/process/servers.py", line 278, in stop
self.httpserver.stop()
File "/home/prehravac/.kodi/addons/plugin.audio.spotify/resources/lib/cheroot/server.py", line 1951, in stop
self.requests.stop(self.shutdown_timeout)
File "/home/prehravac/.kodi/addons/plugin.audio.spotify/resources/lib/cheroot/workers/threadpool.py", line 242, in stop
if worker is not current and worker.isAlive():
AttributeError: 'WorkerThread' object has no attribute 'isAlive'
It seem, isAlive
method was changed to is_alive
in python 3.9. Cheroot included in plugin is really old (6.4.0?). Newest version is 8.5.2 with this fixed.
I don't know, if cheroot and cherypy could be easily upgraded.
I changed isAlive to is_alive, for myself, in /resources/lib/cheroot/workers/threadpool.py
and I can reboot computer from kodi now
Hi, is it me or is there no "liked songs" playlist? It would be great to have it among the other playlists!
Hi,
I was having a 'Transferred a partial file' error with the plugin in master. Everything else was working fine. If I disable the first part of the if in 'resources/lib/httpproxy.py':
def send_audio_stream(self, track_id, filesize, wave_header, range_l):
'''chunked transfer of audio data from spotty binary'''
if False and self.spotty_bin != None and \
self.spotty_trackid == track_id and \
self.spotty_range_l == range_l:
# leave the existing spotty running and don't start a new one.
log_msg("WHOOPS!!! Running spotty still handling same request - leave it alone.", \
xbmc.LOGERROR)
return
elif self.spotty_bin != None:
I can play tracks OK. Not sure what this means. I'm using Kodi 19.1 on Ubuntu 20.04.2. Without the hack above I get this in the kodi log:
I'm not getting any audio if I try to play through spotify connect. If I try to play from the addon it doesnt work either or it crashes. This is in my log:
CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
from within the addon I get the message:
CActiveAESink::OpenSink - no sink was returned
Can I use this plugin without opening the browser?
Hi i did some fixes to make this plugin work for me. (spotify connect was not working for me - there was no sound)
Are you interested in merging some of them?
https://github.com/Elkropac/plugin.audio.spotify/commits/master
I could create pull request, if you find some of it useful
When I start playing or a song or skip there is a long pause (around 10 seconds), here is the log from the time:
2021-04-16 08:50:23.525 T:3039 INFO <general>: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder pcm_s16le
2021-04-16 08:50:23.529 T:1977 ERROR <general>: plugin.audio.spotify --> b'WHOOPS!!! Running spotty still handling same request - leave it alone.'
2021-04-16 08:50:27.925 T:2965 INFO <general>: PAPlayer::ProcessStream - Stream Finished
2021-04-16 08:50:33.564 T:3039 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2021-04-16 08:50:33.565 T:3039 INFO <general>: CDVDAudioCodecFFmpeg::GetChannelMap - FFmpeg reported 2 channels, but the layout contains 0 ignoring
2021-04-16 08:50:33.652 T:3039 INFO <general>: AudioDecoder: File is queued
2021-04-16 08:50:33.661 T:3039 INFO <general>: PAPlayer::PrepareStream - Ready
2021-04-16 08:50:33.907 T:1796 ERROR <general>: Exception ignored in:
2021-04-16 08:50:33.907 T:1796 ERROR <general>: <Finalize object, dead>
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:33.907 T:1796 ERROR <general>: Traceback (most recent call last):
2021-04-16 08:50:33.907 T:1796 ERROR <general>: File "/usr/lib/python3.9/multiprocessing/util.py", line 224, in __call__
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:33.907 T:1796 ERROR <general>: res = self._callback(*self._args, **self._kwargs)
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:33.907 T:1796 ERROR <general>: File "/usr/lib/python3.9/multiprocessing/pool.py", line 692, in _terminate_pool
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:33.907 T:1796 ERROR <general>: cls._help_stuff_finish(inqueue, task_handler, len(pool))
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:33.907 T:1796 ERROR <general>: File "/usr/lib/python3.9/multiprocessing/pool.py", line 947, in _help_stuff_finish
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:33.907 T:1796 ERROR <general>: inqueue.get(block=False)
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:33.907 T:1796 ERROR <general>: _queue
2021-04-16 08:50:33.907 T:1796 ERROR <general>: .
2021-04-16 08:50:33.907 T:1796 ERROR <general>: Empty
2021-04-16 08:50:33.907 T:1796 ERROR <general>: :
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:33.907 T:1796 ERROR <general>:
2021-04-16 08:50:37.936 T:1974 ERROR <general>: [16/Apr/2021:08:50:37] NATIVE_ADAPTER Traceback (most recent call last):
File "/var/lib/kodi/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/_cpnative_server.py", line 89, in respond
self.send_response(
File "/var/lib/kodi/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/_cpnative_server.py", line 117, in send_response
req.write(seg)
File "/var/lib/kodi/.kodi/addons/plugin.audio.spotify/resources/lib/cheroot/server.py", line 1095, in write
self.conn.wfile.write(chunk)
File "/var/lib/kodi/.kodi/addons/plugin.audio.spotify/resources/lib/cheroot/makefile.py", line 31, in write
self._flush_unlocked()
File "/var/lib/kodi/.kodi/addons/plugin.audio.spotify/resources/lib/cheroot/makefile.py", line 40, in _flush_unlocked
n = self.raw.write(bytes(self._write_buf))
File "/usr/lib/python3.9/socket.py", line 722, in write
return self._sock.send(b)
socket.timeout: timed out
Installed it on my KODI on my Windows 11 machine. Kodi directly crashes after allowing network acces (windows firewall). Not sure what the problem is. On my Shield (19.3) it installs. In the log this happens after loading the spotify plugin.
2022-05-14 12:53:47.533 T:1600 INFO : plugin.audio.spotify --> b'Architecture detected. Using spotty binary C:\Users\Benji\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\spotty\windows\spotty.exe'
2022-05-14 12:53:48.497 T:1600 INFO : plugin.audio.spotify --> b'ok spotty v0.20.0\n{"debug":false,"lms-auth":true,"ogg-direct":true,"version":"0.20.0","volume-normalisation":true}\n'
2022-05-14 12:53:48.498 T:25984 ERROR : [14/May/2022:12:53:48] ENGINE Bus STARTING
2022-05-14 12:53:48.498 T:1600 INFO : plugin.audio.spotify --> b'started webproxy at port 52308'
2022-05-14 12:53:48.499 T:25984 ERROR : [14/May/2022:12:53:48] ENGINE Started monitor thread 'Autoreloader'.
2022-05-14 12:53:48.500 T:11452 INFO : plugin.audio.spotify --> b'Start Spotify Connect Daemon'
2022-05-14 12:53:48.500 T:11452 INFO : plugin.audio.spotify --> b'trying AP Port 443'
2022-05-14 12:53:48.603 T:18256 ERROR : [14/May/2022:12:53:48] ENGINE Error in HTTP server: shutting down
Traceback (most recent call last):
File "C:\Users\Benji\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\cherrypy\process\servers.py", line 225, in _start_http_thread
self.httpserver.start()
File "C:\Users\Benji\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\cheroot\server.py", line 1736, in start
self.prepare()
File "C:\Users\Benji\AppData\Roaming\Kodi\addons\plugin.audio.spotify\resources\lib\cheroot\server.py", line 1697, in prepare
raise socket.error(msg)
OSError: No socket could be created -- (('127.0.0.1', 52308): [WinError 10013] Er is geprobeerd toegang te verkrijgen tot een socket op een volgens de toegangsmachtigingen niet toegestane manier)
2022-05-14 12:53:48.603 T:18256 ERROR : [14/May/2022:12:53:48] ENGINE Bus STOPPING
2022-05-14 12:53:48.603 T:18256 ERROR : [14/May/2022:12:53:48] ENGINE HTTP Server cherrypy._cpnative_server.CPHTTPServer(('127.0.0.1', 52308)) already shut down
2022-05-14 12:53:48.603 T:18256 ERROR : [14/May/2022:12:53:48] ENGINE Stopped thread 'Autoreloader'.
2022-05-14 12:53:48.603 T:18256 ERROR : [14/May/2022:12:53:48] ENGINE Bus STOPPED
2022-05-14 12:53:48.603 T:18256 ERROR : [14/May/2022:12:53:48] ENGINE Bus EXITING
2022-05-14 12:53:48.603 T:18256 ERROR : [14/May/2022:12:53:48] E
NGINE Bus EXITED
kodi.log
Installed the addon with succes on my Nvidia Shield TV 2019. But no succes playing music. I can select Spotify Connect devices and it will play on these devices, but it won't play on my Shield it self.
In the log it gives me the follow error: TypeError: '>=' not supported between instances of 'tuple' and 'int'
Hi,
Another instance of that. I see repeated instances of these lines in the logs:
2022-09-11 10:54:22.130 T:6685 INFO <general>: plugin.audio.spotify --> b"lms event hook called. Event: ['spottyconnect', 'volume', 50]"
2022-09-11 10:54:22.139 T:6685 INFO <general>: plugin.audio.spotify --> b'volume change detected on connect player: 50'
2022-09-11 11:53:22.038 T:6668 INFO <general>: plugin.audio.spotify --> b'token needs to be refreshed'
2022-09-11 11:53:22.054 T:6668 INFO <general>: plugin.audio.spotify --> b'spotty terminated'
2022-09-11 11:53:22.155 T:20327 INFO <general>: plugin.audio.spotify --> b'Stopped Spotify Connect Daemon'
2022-09-11 11:53:22.156 T:6668 INFO <general>: plugin.audio.spotify --> b'Retrieving auth token....'
2022-09-11 11:53:22.504 T:6668 INFO <general>: plugin.audio.spotify --> b'request_token_spotty stdout: b\'{"accessToken":"XXXX","expiresIn":3600,"tokenType":"Bearer","scope":["user-read-playback-state","user-read-currently-playing","user-modify-playback-state","playlist-read-private","playlist-read-collaborative","playlist-modify-public","playlist-modify-private","user-follow-modify","user-follow-read","user-library-read","user-library-modify","user-read-private","user-read-email","user-read-birthdate","user-top-read"],"permissions":[XXXX]}\\n\''
2022-09-11 11:53:22.523 T:6668 INFO <general>: plugin.audio.spotify --> b'Retrieved auth token'
2022-09-11 11:53:22.668 T:6668 INFO <general>: plugin.audio.spotify --> b'Logged in to Spotify - Username: XXXX'
2022-09-11 11:53:22.669 T:20698 INFO <general>: plugin.audio.spotify --> b'Start Spotify Connect Daemon'
2022-09-11 11:53:22.669 T:20698 INFO <general>: plugin.audio.spotify --> b'trying AP Port 443'
If kodi is playing something else it gets interrupted, it looks like it's playing something but nothing's output.
I have it up and running on the nighly from 20230210.
Had to go through some log errors and patch the referenced lines in the .py files.
From top of my head:
In outh2.py:
response = requests.post(self.OAUTH_TOKEN_URL, data=payload,
headers=headers, verify=True, proxies=self.proxies)
if response.status_code != 200:
(last line was if response.status.code is not 200 before)
In /storage/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/_cpdispatch.py :
else:
getargspec = inspect.getfullargspec(callable)[:4]
# Python 3 requires using getfullargspec if
# keyword-only arguments are present
if hasattr(inspect, 'getfullargspec'):
def getargspec(callable):
return inspect.getfullargspec(callable)[:4]
(First line was: getargspec = getargspec(callable): before) (Not qiet clean hack - i know!)
Originally posted by @chrisgo67 in #35 (comment)
In the logged example, I chose the track "All in the Golden Afternoon" from Alphaville's album "Prostitute", https://open.spotify.com/album/6NCunjK4obZ8BsVDQA3KKi
With plugin.audio.spotify connected to a Spotify application, it should follow the playback queue shown there - continuing in the album, going on to other related tracks as offered by Spotify.
https://paste.kodi.tv/agifunisex.kodi
Messages related to track change from line 85 onwards.
Something expects a resource http://localhost:52308/nexttrack to be available within the plugin's cherrypy, but that results in an HTTP status 500 internal error.
Local playback seems to work differently, in that case, a queue of tracks can be played and managed using Kodi's playlist interface.
I'm comfortable with making local changes / tryouts, just let me know.
Hi there,
I hope that still someone is reading this. I'm quite new to KODI and its add-ons, so I cannot provide a details log.
This is just a best-guess shot
I tried Spotify Connect more or less by accident, got my account set up and Spotify running.
Then we used my friend's phone with his own Spotify account. She was able to play music, taking control of it, using Spotify Connect. Her username was even listed as "current user" but then the mess began.
From then on it was similar to
Indicate that it is playing music, and the plug-in will report that my phone is connected, (my phone is listed as the Spotify Connect device in the "Local playback on this device" menu), but no music will actually play through the plug-in.
as described in #28
I was not even able to revert the setting to use only my account etc.
It crashed quite often and even disabled or uninstall crashed OSMC. At least the disable triggered something in the background regardless of the crash, so the add-on was deactivated after reboot, so I could uninstall and reinstall it.
It works now, Spotify Connect is deactivated.
FYI: Spotify for Kodi is listed at https://www.spotify.com/fr/account/apps/
Here are my extracts from the logs, which could be worth being shown here.
2022-12-11 17:30:38.293 T:2917 INFO <general>: CPythonInvoker(1, /home/osmc/.kodi/addons/plugin.video.netflix/service.py): script successfully run
2022-12-11 17:30:38.422 T:2916 INFO <general>: plugin.audio.spotify --> b'request_token_spotty stdout: b\'{"accessToken":"BQBNg3EQLcHFd2LqDFT8lXTirpGSFVqTunhZC_DzNBjCoMSdBPxeT_yZKi9dY9aUB3WAZfW7P3mrtR2AUoms-h8rvhiS0TjUYBHO-Bf-X1EqFEPrhJo0qHr5G1QnR3xGiz8Toz39j_3ynIuPNk46ITaJTqXNHqjHA9zT1QU5iyGuFRLhrNzGsrAq0yb1FsS918zXKcyfTiWL_4aYoiZ756GKbXMj01axwS_4MRwO8CRlNUUREjBHCRIEf9O2hvQ5icHIpjrdzq_a8iMT8Y1RaZUMMuxbOy5ty9Cc_Bkiwcn-PRZPSQ","expiresIn":3600,"tokenType":"Bearer","scope":["user-read-playback-state","user-read-currently-playing","user-modify-playback-state","playlist-read-private","playlist-read-collaborative","playlist-modify-public","playlist-modify-private","user-follow-modify","user-follow-read","user-library-read","user-library-modify","user-read-private","user-read-email","user-read-birthdate","user-top-read"],"permissions":[2700,2800,2,203,200,202,201,2200,307,301,304,306,303,300,309,310,308,302,305,402,405,400,408,401,404,410,407,409,403,406,1500,1401,1400,1103,1100,1101,1102,1110,1113,1112,1111,604,600,601,603,900,602,2501,2500]}\\n\''
2022-12-11 17:30:38.438 T:2917 INFO <general>: Python interpreter stopped
2022-12-11 17:30:38.443 T:2916 INFO <general>: plugin.audio.spotify --> b'Retrieved auth token'
2022-12-11 17:30:38.558 T:2916 INFO <general>: plugin.audio.spotify --> b'Logged in to Spotify - Username: xxx'
2022-12-11 17:30:38.925 T:2942 INFO <general>: CPythonInvoker(4, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:39.007 T:2942 INFO <general>: Python interpreter stopped
2022-12-11 17:30:39.041 T:2943 INFO <general>: CPythonInvoker(5, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:39.045 T:2983 INFO <general>: initializing python engine.
2022-12-11 17:30:39.117 T:2943 INFO <general>: Python interpreter stopped
2022-12-11 17:30:41.418 T:2984 INFO <general>: initializing python engine.
2022-12-11 17:30:41.425 T:2983 INFO <general>: CPythonInvoker(6, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:41.497 T:2983 INFO <general>: Python interpreter stopped
2022-12-11 17:30:44.371 T:2984 INFO <general>: CPythonInvoker(7, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:44.389 T:2985 INFO <general>: initializing python engine.
2022-12-11 17:30:44.445 T:2984 INFO <general>: Python interpreter stopped
2022-12-11 17:30:45.964 T:2986 INFO <general>: initializing python engine.
2022-12-11 17:30:48.860 T:2985 INFO <general>: CPythonInvoker(8, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:48.879 T:2987 INFO <general>: initializing python engine.
2022-12-11 17:30:48.935 T:2985 INFO <general>: Python interpreter stopped
2022-12-11 17:30:50.012 T:2988 INFO <general>: initializing python engine.
2022-12-11 17:30:50.015 T:2986 INFO <general>: CPythonInvoker(9, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:50.093 T:2986 INFO <general>: Python interpreter stopped
2022-12-11 17:30:53.930 T:2988 INFO <general>: CPythonInvoker(11, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:53.949 T:2989 INFO <general>: initializing python engine.
2022-12-11 17:30:54.008 T:2988 INFO <general>: Python interpreter stopped
2022-12-11 17:30:55.602 T:2987 INFO <general>: CPythonInvoker(10, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:55.626 T:2990 INFO <general>: initializing python engine.
2022-12-11 17:30:55.682 T:2987 INFO <general>: Python interpreter stopped
2022-12-11 17:30:59.165 T:2989 INFO <general>: CPythonInvoker(12, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:30:59.190 T:2991 INFO <general>: initializing python engine.
2022-12-11 17:30:59.249 T:2989 INFO <general>: Python interpreter stopped
2022-12-11 17:31:01.486 T:2990 INFO <general>: CPythonInvoker(13, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:01.511 T:2992 INFO <general>: initializing python engine.
2022-12-11 17:31:01.570 T:2990 INFO <general>: Python interpreter stopped
2022-12-11 17:31:03.925 T:2991 INFO <general>: CPythonInvoker(14, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:03.940 T:2993 INFO <general>: initializing python engine.
2022-12-11 17:31:04.005 T:2991 INFO <general>: Python interpreter stopped
2022-12-11 17:31:04.345 T:2994 INFO <general>: initializing python engine.
2022-12-11 17:31:07.118 T:2992 INFO <general>: CPythonInvoker(15, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:07.138 T:2995 INFO <general>: initializing python engine.
2022-12-11 17:31:07.200 T:2992 INFO <general>: Python interpreter stopped
2022-12-11 17:31:10.687 T:2993 INFO <general>: CPythonInvoker(16, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:10.701 T:2996 INFO <general>: initializing python engine.
2022-12-11 17:31:10.770 T:2993 INFO <general>: Python interpreter stopped
2022-12-11 17:31:13.471 T:2995 INFO <general>: CPythonInvoker(18, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:13.493 T:2997 INFO <general>: initializing python engine.
2022-12-11 17:31:13.548 T:2995 INFO <general>: Python interpreter stopped
2022-12-11 17:31:14.031 T:2998 INFO <general>: initializing python engine.
2022-12-11 17:31:14.663 T:2994 INFO <general>: CPythonInvoker(17, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:14.671 T:2999 INFO <general>: initializing python engine.
2022-12-11 17:31:14.784 T:2994 INFO <general>: Python interpreter stopped
2022-12-11 17:31:20.230 T:2996 INFO <general>: CPythonInvoker(19, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:20.245 T:3000 INFO <general>: initializing python engine.
2022-12-11 17:31:20.313 T:2996 INFO <general>: Python interpreter stopped
2022-12-11 17:31:21.770 T:2998 INFO <general>: CPythonInvoker(21, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:21.771 T:3001 INFO <general>: initializing python engine.
2022-12-11 17:31:21.852 T:2998 INFO <general>: Python interpreter stopped
2022-12-11 17:31:22.630 T:2999 INFO <general>: CPythonInvoker(22, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:22.634 T:3002 INFO <general>: initializing python engine.
2022-12-11 17:31:22.710 T:2999 INFO <general>: Python interpreter stopped
2022-12-11 17:31:24.133 T:2997 INFO <general>: CPythonInvoker(20, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:24.158 T:3003 INFO <general>: initializing python engine.
2022-12-11 17:31:24.216 T:2997 INFO <general>: Python interpreter stopped
2022-12-11 17:31:30.572 T:3000 INFO <general>: CPythonInvoker(23, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:30.599 T:3004 INFO <general>: initializing python engine.
2022-12-11 17:31:30.659 T:3000 INFO <general>: Python interpreter stopped
2022-12-11 17:31:32.162 T:3002 INFO <general>: CPythonInvoker(25, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:32.169 T:3005 INFO <general>: initializing python engine.
2022-12-11 17:31:32.244 T:3002 INFO <general>: Python interpreter stopped
2022-12-11 17:31:32.354 T:3006 INFO <general>: initializing python engine.
2022-12-11 17:31:32.367 T:3001 INFO <general>: CPythonInvoker(24, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:32.449 T:3001 INFO <general>: Python interpreter stopped
2022-12-11 17:31:33.260 T:3003 INFO <general>: CPythonInvoker(26, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:33.284 T:3007 INFO <general>: initializing python engine.
2022-12-11 17:31:33.341 T:3003 INFO <general>: Python interpreter stopped
2022-12-11 17:31:39.897 T:3004 INFO <general>: CPythonInvoker(27, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:39.916 T:3008 INFO <general>: initializing python engine.
2022-12-11 17:31:39.984 T:3004 INFO <general>: Python interpreter stopped
2022-12-11 17:31:41.137 T:3006 INFO <general>: CPythonInvoker(29, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:41.151 T:3009 INFO <general>: initializing python engine.
2022-12-11 17:31:41.222 T:3006 INFO <general>: Python interpreter stopped
2022-12-11 17:31:42.140 T:3005 INFO <general>: CPythonInvoker(28, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:42.144 T:3010 INFO <general>: initializing python engine.
2022-12-11 17:31:42.224 T:3005 INFO <general>: Python interpreter stopped
2022-12-11 17:31:44.643 T:3007 INFO <general>: CPythonInvoker(30, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:31:44.652 T:3011 INFO <general>: initializing python engine.
2022-12-11 17:31:44.760 T:3007 INFO <general>: Python interpreter stopped
2022-12-11 17:24:11.245 T:2579 INFO <general>: Python interpreter stopped
2022-12-11 17:24:21.756 T:2585 INFO <general>: initializing python engine.
2022-12-11 17:24:23.894 T:2585 INFO <general>: CPythonInvoker(41, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:24:23.970 T:2585 INFO <general>: Python interpreter stopped
2022-12-11 17:24:26.659 T:1660 INFO <general>: plugin.audio.spotify --> b"Spotify Connect request received : {'device': {'id': '24ee123338e477782ae52de33cbeba512f8eb82d', 'is_active': True, 'is_private_session': False, 'is_restricted': False, 'name': 'Fairphone 4 5G', 'type': 'Smartphone', 'volume_percent': 100}, 'shuffle_state': False, 'repeat_state': 'off', 'timestamp': 1670775850347, 'context': {'external_urls': {'spotify': 'https://open.spotify.com/album/1JCHmY9QyhalyUBjHHbg3D'}, 'href': 'https://api.spotify.com/v1/albums/1JCHmY9QyhalyUBjHHbg3D', 'type': 'album', 'uri': 'spotify:album:1JCHmY9QyhalyUBjHHbg3D'}, 'progress_ms': 16262, 'item': {'album': {'album_type': 'album', 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Yttlv9ndGjCDCVLqM7ACq'}, 'href': 'https://api.spotify.com/v1/artists/4Yttlv9ndGjCDCVLqM7ACq', 'id': '4Yttlv9ndGjCDCVLqM7ACq', 'name': 'Sido', 'type': 'artist', 'uri': 'spotify:artist:4Yttlv9ndGjCDCVLqM7ACq'}], 'available_markets': ['AD', 'AE', 'AG', 'AL', 'AM', 'AO', 'AR', 'AT', 'AU', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BZ', 'CA', 'CD', 'CG', 'CH', 'CI', 'CL', 'CM', 'CO', 'CR', 'CV', 'CW', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'ET', 'FI', 'FJ', 'FM', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MO', 'MR', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NZ', 'OM', 'PA', 'PE', 'PG', 'PH', 'PK', 'PL', 'PS', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SI', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VN', 'VU', 'WS', 'XK', 'ZA', 'ZM', 'ZW'], 'external_urls': {'spotify': 'https://open.spotify.com/album/1JCHmY9QyhalyUBjHHbg3D'}, 'href': 'https://api.spotify.com/v1/albums/1JCHmY9QyhalyUBjHHbg3D', 'id': '1JCHmY9QyhalyUBjHHbg3D', 'images': [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273b4bb2962553a77d5deffce90', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02b4bb2962553a77d5deffce90', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851b4bb2962553a77d5deffce90', 'width': 64}], 'name': 'PAUL', 'release_date': '2022-12-08', 'release_date_precision': 'day', 'total_tracks': 14, 'type': 'album', 'uri': 'spotify:album:1JCHmY9QyhalyUBjHHbg3D'}, 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Yttlv9ndGjCDCVLqM7ACq'}, 'href': 'https://api.spotify.com/v1/artists/4Yttlv9ndGjCDCVLqM7ACq', 'id': '4Yttlv9ndGjCDCVLqM7ACq', 'name': 'Sido', 'type': 'artist', 'uri': 'spotify:artist:4Yttlv9ndGjCDCVLqM7ACq'}], 'available_markets': ['AD', 'AE', 'AG', 'AL', 'AM', 'AO', 'AR', 'AT', 'AU', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BZ', 'CA', 'CD', 'CG', 'CH', 'CI', 'CL', 'CM', 'CO', 'CR', 'CV', 'CW', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'ET', 'FI', 'FJ', 'FM', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MO', 'MR', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NZ', 'OM', 'PA', 'PE', 'PG', 'PH', 'PK', 'PL', 'PS', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SI', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VN', 'VU', 'WS', 'XK', 'ZA', 'ZM', 'ZW'], 'disc_number': 1, 'duration_ms': 35904, 'explicit': False, 'external_ids': {'isrc': 'DEUM72206328'}, 'external_urls': {'spotify': 'https://open.spotify.com/track/57UHQj8mjKHwgTiaMYiryP'}, 'href': 'https://api.spotify.com/v1/tracks/57UHQj8mjKHwgTiaMYiryP', 'id': '57UHQj8mjKHwgTiaMYiryP', 'is_local': False, 'name': 'Intro', 'popularity': 53, 'preview_url': 'https://p.scdn.co/mp3-preview/36dcb1d1dd199cba0240b3d739682e235c788a52?cid=2eb96f9b37494be1824999d58028a305', 'track_number': 1, 'type': 'track', 'uri': 'spotify:track:57UHQj8mjKHwgTiaMYiryP'}, 'currently_playing_type': 'track', 'actions': {'disallows': {'resuming': True, 'skipping_prev': True}}, 'is_playing': True}"
2022-12-11 17:24:26.672 T:1660 INFO <general>: plugin.audio.spotify --> b'Pause requested by Spotify Connect.'
2022-12-11 17:24:30.913 T:2588 INFO <general>: initializing python engine.
2022-12-11 17:24:33.493 T:2588 INFO <general>: CPythonInvoker(42, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:24:33.507 T:2590 INFO <general>: initializing python engine.
2022-12-11 17:24:33.563 T:2588 INFO <general>: Python interpreter stopped
2022-12-11 17:24:33.862 T:1660 INFO <general>: plugin.audio.spotify --> b"Spotify Connect request received : {'device': {'id': '444f498da953ec0313a4eb5fe993d410dfd4e71b', 'is_active': True, 'is_private_session': False, 'is_restricted': False, 'name': 'osmc', 'type': 'Speaker', 'volume_percent': 50}, 'shuffle_state': False, 'repeat_state': 'off', 'timestamp': 1670775873496, 'context': {'external_urls': {'spotify': 'https://open.spotify.com/album/1JCHmY9QyhalyUBjHHbg3D'}, 'href': 'https://api.spotify.com/v1/albums/1JCHmY9QyhalyUBjHHbg3D', 'type': 'album', 'uri': 'spotify:album:1JCHmY9QyhalyUBjHHbg3D'}, 'progress_ms': 22372, 'item': {'album': {'album_type': 'album', 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Yttlv9ndGjCDCVLqM7ACq'}, 'href': 'https://api.spotify.com/v1/artists/4Yttlv9ndGjCDCVLqM7ACq', 'id': '4Yttlv9ndGjCDCVLqM7ACq', 'name': 'Sido', 'type': 'artist', 'uri': 'spotify:artist:4Yttlv9ndGjCDCVLqM7ACq'}], 'available_markets': ['AD', 'AE', 'AG', 'AL', 'AM', 'AO', 'AR', 'AT', 'AU', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BZ', 'CA', 'CD', 'CG', 'CH', 'CI', 'CL', 'CM', 'CO', 'CR', 'CV', 'CW', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FJ', 'FM', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MO', 'MR', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NZ', 'OM', 'PA', 'PE', 'PG', 'PH', 'PK', 'PL', 'PS', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SI', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VN', 'VU', 'WS', 'XK', 'ZA', 'ZM', 'ZW'], 'external_urls': {'spotify': 'https://open.spotify.com/album/1JCHmY9QyhalyUBjHHbg3D'}, 'href': 'https://api.spotify.com/v1/albums/1JCHmY9QyhalyUBjHHbg3D', 'id': '1JCHmY9QyhalyUBjHHbg3D', 'images': [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273b4bb2962553a77d5deffce90', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02b4bb2962553a77d5deffce90', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851b4bb2962553a77d5deffce90', 'width': 64}], 'name': 'PAUL', 'release_date': '2022-12-08', 'release_date_precision': 'day', 'total_tracks': 14, 'type': 'album', 'uri': 'spotify:album:1JCHmY9QyhalyUBjHHbg3D'}, 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Yttlv9ndGjCDCVLqM7ACq'}, 'href': 'https://api.spotify.com/v1/artists/4Yttlv9ndGjCDCVLqM7ACq', 'id': '4Yttlv9ndGjCDCVLqM7ACq', 'name': 'Sido', 'type': 'artist', 'uri': 'spotify:artist:4Yttlv9ndGjCDCVLqM7ACq'}], 'available_markets': ['AD', 'AE', 'AG', 'AL', 'AM', 'AO', 'AR', 'AT', 'AU', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BZ', 'CA', 'CD', 'CG', 'CH', 'CI', 'CL', 'CM', 'CO', 'CR', 'CV', 'CW', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FJ', 'FM', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MO', 'MR', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NZ', 'OM', 'PA', 'PE', 'PG', 'PH', 'PK', 'PL', 'PS', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SI', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VN', 'VU', 'WS', 'XK', 'ZA', 'ZM', 'ZW'], 'disc_number': 1, 'duration_ms': 35904, 'explicit': False, 'external_ids': {'isrc': 'DEUM72206328'}, 'external_urls': {'spotify': 'https://open.spotify.com/track/57UHQj8mjKHwgTiaMYiryP'}, 'href': 'https://api.spotify.com/v1/tracks/57UHQj8mjKHwgTiaMYiryP', 'id': '57UHQj8mjKHwgTiaMYiryP', 'is_local': False, 'name': 'Intro', 'popularity': 53, 'preview_url': 'https://p.scdn.co/mp3-preview/36dcb1d1dd199cba0240b3d739682e235c788a52?cid=2eb96f9b37494be1824999d58028a305', 'track_number': 1, 'type': 'track', 'uri': 'spotify:track:57UHQj8mjKHwgTiaMYiryP'}, 'currently_playing_type': 'track', 'actions': {'disallows': {'skipping_prev': True, 'toggling_repeat_track': True}}, 'is_playing': True}"
2022-12-11 17:24:33.903 T:1660 INFO <general>: plugin.audio.spotify --> b'Next track requested by Spotify Connect player.'
2022-12-11 17:24:34.221 T:1710 INFO <general>: plugin.audio.spotify --> b'!! Full File. Size : 6174044 '
2022-12-11 17:24:34.223 T:1710 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 0'
2022-12-11 17:24:34.267 T:1710 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:24:34.318 T:2417 INFO <general>: plugin.audio.spotify --> b'Spotify radio track buffer asked for next item'
2022-12-11 17:24:34.318 T:2417 INFO <general>: plugin.audio.spotify --> b"Got track '0pSMb8uijt58JidMByY5Xf' from Spotify radio track buffer"
2022-12-11 17:24:34.828 T:1702 INFO <general>: plugin.audio.spotify --> b"lms event hook called. Event: ['spottyconnect', 'stop']"
2022-12-11 17:24:34.859 T:1702 INFO <general>: plugin.audio.spotify --> b'playback stop requested by connect'
2022-12-11 17:24:35.216 T:1700 INFO <general>: plugin.audio.spotify --> b"lms event hook called. Event: ['spottyconnect', 'start']"
2022-12-11 17:24:35.502 T:1710 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 0 - written 228'
2022-12-11 17:24:45.513 T:2599 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:24:45.514 T:2599 WARNING <general>: CCurlFile::FillBuffer - Reconnect, (re)try 1
2022-12-11 17:24:45.520 T:1703 INFO <general>: plugin.audio.spotify --> b'request header range: bytes=272-'
2022-12-11 17:24:45.521 T:1703 INFO <general>: plugin.audio.spotify --> b'partial request range: bytes 272-6174044/6174044, length: 6174044'
2022-12-11 17:24:45.523 T:1703 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 272'
2022-12-11 17:24:45.583 T:1703 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:24:45.792 T:1703 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 272 - written 0'
2022-12-11 17:24:55.803 T:2599 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:24:55.803 T:2599 WARNING <general>: CCurlFile::FillBuffer - Reconnect, (re)try 2
2022-12-11 17:24:55.807 T:1708 INFO <general>: plugin.audio.spotify --> b'request header range: bytes=272-'
2022-12-11 17:24:55.807 T:1708 INFO <general>: plugin.audio.spotify --> b'partial request range: bytes 272-6174044/6174044, length: 6174044'
2022-12-11 17:24:55.808 T:1708 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 272'
2022-12-11 17:24:55.844 T:1708 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:24:56.053 T:1708 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 272 - written 0'
2022-12-11 17:25:06.055 T:2599 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:25:06.056 T:2599 ERROR <general>: CFileCache::Process - <http://localhost:52308/track/57UHQj8mjKHwgTiaMYiryP/35.904/?connect=true> source read didn't return any data before eof!
2022-12-11 17:25:06.093 T:2369 INFO <general>: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder pcm_s16le
2022-12-11 17:25:06.094 T:2369 INFO <general>: CDVDAudioCodecFFmpeg::GetChannelMap - FFmpeg reported 2 channels, but the layout contains 0 ignoring
2022-12-11 17:25:06.098 T:2369 INFO <general>: PAPlayer::PrepareStream - Stream Finished
2022-12-11 17:25:06.098 T:2369 INFO <general>: PAPlayer::PrepareStream - Ready
2022-12-11 17:25:07.162 T:1700 INFO <general>: plugin.audio.spotify --> b'playback start requested by connect'
2022-12-11 17:25:07.178 T:2417 INFO <general>: plugin.audio.spotify --> b'Stopping Spotify radio track buffer worker thread'
2022-12-11 17:25:07.194 T:2623 INFO <general>: initializing python engine.
2022-12-11 17:25:07.341 T:1660 INFO <general>: plugin.audio.spotify --> b"Spotify Connect request received : {'device': {'id': '444f498da953ec0313a4eb5fe993d410dfd4e71b', 'is_active': True, 'is_private_session': False, 'is_restricted': False, 'name': 'osmc', 'type': 'Speaker', 'volume_percent': 50}, 'shuffle_state': False, 'repeat_state': 'off', 'timestamp': 1670775873496, 'context': {'external_urls': {'spotify': 'https://open.spotify.com/album/1JCHmY9QyhalyUBjHHbg3D'}, 'href': 'https://api.spotify.com/v1/albums/1JCHmY9QyhalyUBjHHbg3D', 'type': 'album', 'uri': 'spotify:album:1JCHmY9QyhalyUBjHHbg3D'}, 'progress_ms': 35904, 'item': {'album': {'album_type': 'album', 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Yttlv9ndGjCDCVLqM7ACq'}, 'href': 'https://api.spotify.com/v1/artists/4Yttlv9ndGjCDCVLqM7ACq', 'id': '4Yttlv9ndGjCDCVLqM7ACq', 'name': 'Sido', 'type': 'artist', 'uri': 'spotify:artist:4Yttlv9ndGjCDCVLqM7ACq'}], 'available_markets': ['AD', 'AE', 'AG', 'AL', 'AM', 'AO', 'AR', 'AT', 'AU', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BZ', 'CA', 'CD', 'CG', 'CH', 'CI', 'CL', 'CM', 'CO', 'CR', 'CV', 'CW', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'ET', 'FI', 'FJ', 'FM', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MO', 'MR', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NZ', 'OM', 'PA', 'PE', 'PG', 'PH', 'PK', 'PL', 'PS', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SI', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VN', 'VU', 'WS', 'XK', 'ZA', 'ZM', 'ZW'], 'external_urls': {'spotify': 'https://open.spotify.com/album/1JCHmY9QyhalyUBjHHbg3D'}, 'href': 'https://api.spotify.com/v1/albums/1JCHmY9QyhalyUBjHHbg3D', 'id': '1JCHmY9QyhalyUBjHHbg3D', 'images': [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273b4bb2962553a77d5deffce90', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02b4bb2962553a77d5deffce90', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851b4bb2962553a77d5deffce90', 'width': 64}], 'name': 'PAUL', 'release_date': '2022-12-08', 'release_date_precision': 'day', 'total_tracks': 14, 'type': 'album', 'uri': 'spotify:album:1JCHmY9QyhalyUBjHHbg3D'}, 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Yttlv9ndGjCDCVLqM7ACq'}, 'href': 'https://api.spotify.com/v1/artists/4Yttlv9ndGjCDCVLqM7ACq', 'id': '4Yttlv9ndGjCDCVLqM7ACq', 'name': 'Sido', 'type': 'artist', 'uri': 'spotify:artist:4Yttlv9ndGjCDCVLqM7ACq'}], 'available_markets': ['AD', 'AE', 'AG', 'AL', 'AM', 'AO', 'AR', 'AT', 'AU', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BZ', 'CA', 'CD', 'CG', 'CH', 'CI', 'CL', 'CM', 'CO', 'CR', 'CV', 'CW', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'FI', 'FJ', 'FM', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MO', 'MR', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NZ', 'OM', 'PA', 'PE', 'PG', 'PH', 'PK', 'PL', 'PS', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SI', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VN', 'VU', 'WS', 'XK', 'ZA', 'ZM', 'ZW'], 'disc_number': 1, 'duration_ms': 35904, 'explicit': False, 'external_ids': {'isrc': 'DEUM72206328'}, 'external_urls': {'spotify': 'https://open.spotify.com/track/57UHQj8mjKHwgTiaMYiryP'}, 'href': 'https://api.spotify.com/v1/tracks/57UHQj8mjKHwgTiaMYiryP', 'id': '57UHQj8mjKHwgTiaMYiryP', 'is_local': False, 'name': 'Intro', 'popularity': 53, 'preview_url': 'https://p.scdn.co/mp3-preview/36dcb1d1dd199cba0240b3d739682e235c788a52?cid=2eb96f9b37494be1824999d58028a305', 'track_number': 1, 'type': 'track', 'uri': 'spotify:track:57UHQj8mjKHwgTiaMYiryP'}, 'currently_playing_type': 'track', 'actions': {'disallows': {'skipping_prev': True, 'toggling_repeat_track': True}}, 'is_playing': True}"
2022-12-11 17:25:07.354 T:1660 INFO <general>: plugin.audio.spotify --> b'Next track requested by Spotify Connect player.'
2022-12-11 17:25:07.947 T:1660 INFO <general>: plugin.audio.spotify --> b'Playback stopped'
2022-12-11 17:25:07.950 T:1705 INFO <general>: plugin.audio.spotify --> b"lms event hook called. Event: ['spottyconnect', 'stop']"
2022-12-11 17:25:07.980 T:2590 INFO <general>: CPythonInvoker(43, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:25:08.060 T:2590 INFO <general>: Python interpreter stopped
2022-12-11 17:25:08.061 T:2417 INFO <general>: plugin.audio.spotify --> b'Spotify radio track buffer asked for next item'
2022-12-11 17:25:08.061 T:2417 INFO <general>: plugin.audio.spotify --> b"Got track '6tFakertyBWNjQ0jMRICQZ' from Spotify radio track buffer"
2022-12-11 17:25:08.062 T:1705 INFO <general>: plugin.audio.spotify --> b'playback stop requested by connect'
2022-12-11 17:25:08.072 T:1701 INFO <general>: plugin.audio.spotify --> b'!! Full File. Size : 6174044 '
2022-12-11 17:25:08.073 T:1701 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 0'
2022-12-11 17:25:08.124 T:1701 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:25:08.162 T:1660 INFO <general>: plugin.audio.spotify --> b'Playback started of Spotify Connect stream'
2022-12-11 17:25:08.327 T:1701 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 0 - written 228'
2022-12-11 17:25:10.199 T:1660 INFO <general>: plugin.audio.spotify --> b"Spotify Connect request received : {'device': {'id': '444f498da953ec0313a4eb5fe993d410dfd4e71b', 'is_active': True, 'is_private_session': False, 'is_restricted': False, 'name': 'osmc', 'type': 'Speaker', 'volume_percent': 50}, 'shuffle_state': False, 'repeat_state': 'off', 'timestamp': 1670775907941, 'context': {'external_urls': {'spotify': 'https://open.spotify.com/album/1JCHmY9QyhalyUBjHHbg3D'}, 'href': 'https://api.spotify.com/v1/albums/1JCHmY9QyhalyUBjHHbg3D', 'type': 'album', 'uri': 'spotify:album:1JCHmY9QyhalyUBjHHbg3D'}, 'progress_ms': 35904, 'item': {'album': {'album_type': 'album', 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Yttlv9ndGjCDCVLqM7ACq'}, 'href': 'https://api.spotify.com/v1/artists/4Yttlv9ndGjCDCVLqM7ACq', 'id': '4Yttlv9ndGjCDCVLqM7ACq', 'name': 'Sido', 'type': 'artist', 'uri': 'spotify:artist:4Yttlv9ndGjCDCVLqM7ACq'}], 'available_markets': ['AD', 'AE', 'AG', 'AL', 'AM', 'AO', 'AR', 'AT', 'AU', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BZ', 'CA', 'CD', 'CG', 'CH', 'CI', 'CL', 'CM', 'CO', 'CR', 'CV', 'CW', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'ET', 'FI', 'FJ', 'FM', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MO', 'MR', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NZ', 'OM', 'PA', 'PE', 'PG', 'PH', 'PK', 'PL', 'PS', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SI', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VN', 'VU', 'WS', 'XK', 'ZA', 'ZM', 'ZW'], 'external_urls': {'spotify': 'https://open.spotify.com/album/1JCHmY9QyhalyUBjHHbg3D'}, 'href': 'https://api.spotify.com/v1/albums/1JCHmY9QyhalyUBjHHbg3D', 'id': '1JCHmY9QyhalyUBjHHbg3D', 'images': [{'height': 640, 'url': 'https://i.scdn.co/image/ab67616d0000b273b4bb2962553a77d5deffce90', 'width': 640}, {'height': 300, 'url': 'https://i.scdn.co/image/ab67616d00001e02b4bb2962553a77d5deffce90', 'width': 300}, {'height': 64, 'url': 'https://i.scdn.co/image/ab67616d00004851b4bb2962553a77d5deffce90', 'width': 64}], 'name': 'PAUL', 'release_date': '2022-12-08', 'release_date_precision': 'day', 'total_tracks': 14, 'type': 'album', 'uri': 'spotify:album:1JCHmY9QyhalyUBjHHbg3D'}, 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/4Yttlv9ndGjCDCVLqM7ACq'}, 'href': 'https://api.spotify.com/v1/artists/4Yttlv9ndGjCDCVLqM7ACq', 'id': '4Yttlv9ndGjCDCVLqM7ACq', 'name': 'Sido', 'type': 'artist', 'uri': 'spotify:artist:4Yttlv9ndGjCDCVLqM7ACq'}], 'available_markets': ['AD', 'AE', 'AG', 'AL', 'AM', 'AO', 'AR', 'AT', 'AU', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BN', 'BO', 'BR', 'BS', 'BT', 'BW', 'BZ', 'CA', 'CD', 'CG', 'CH', 'CI', 'CL', 'CM', 'CO', 'CR', 'CV', 'CW', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ES', 'ET', 'FI', 'FJ', 'FM', 'FR', 'GA', 'GB', 'GD', 'GE', 'GH', 'GM', 'GN', 'GQ', 'GR', 'GT', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MO', 'MR', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NZ', 'OM', 'PA', 'PE', 'PG', 'PH', 'PK', 'PL', 'PS', 'PT', 'PW', 'PY', 'QA', 'RO', 'RS', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SI', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VN', 'VU', 'WS', 'XK', 'ZA', 'ZM', 'ZW'], 'disc_number': 1, 'duration_ms': 35904, 'explicit': False, 'external_ids': {'isrc': 'DEUM72206328'}, 'external_urls': {'spotify': 'https://open.spotify.com/track/57UHQj8mjKHwgTiaMYiryP'}, 'href': 'https://api.spotify.com/v1/tracks/57UHQj8mjKHwgTiaMYiryP', 'id': '57UHQj8mjKHwgTiaMYiryP', 'is_local': False, 'name': 'Intro', 'popularity': 53, 'preview_url': 'https://p.scdn.co/mp3-preview/36dcb1d1dd199cba0240b3d739682e235c788a52?cid=2eb96f9b37494be1824999d58028a305', 'track_number': 1, 'type': 'track', 'uri': 'spotify:track:57UHQj8mjKHwgTiaMYiryP'}, 'currently_playing_type': 'track', 'actions': {'disallows': {'skipping_prev': True, 'toggling_repeat_track': True}}, 'is_playing': False}"
2022-12-11 17:25:18.339 T:2641 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:25:18.339 T:2641 WARNING <general>: CCurlFile::FillBuffer - Reconnect, (re)try 1
2022-12-11 17:25:18.347 T:1704 INFO <general>: plugin.audio.spotify --> b'request header range: bytes=272-'
2022-12-11 17:25:18.347 T:1704 INFO <general>: plugin.audio.spotify --> b'partial request range: bytes 272-6174044/6174044, length: 6174044'
2022-12-11 17:25:18.350 T:1704 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 272'
2022-12-11 17:25:18.424 T:1704 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:25:18.644 T:1704 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 272 - written 0'
2022-12-11 17:25:28.655 T:2641 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:25:28.655 T:2641 WARNING <general>: CCurlFile::FillBuffer - Reconnect, (re)try 2
2022-12-11 17:25:28.659 T:1707 INFO <general>: plugin.audio.spotify --> b'request header range: bytes=272-'
2022-12-11 17:25:28.659 T:1707 INFO <general>: plugin.audio.spotify --> b'partial request range: bytes 272-6174044/6174044, length: 6174044'
2022-12-11 17:25:28.660 T:1707 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 272'
2022-12-11 17:25:28.696 T:1707 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:25:28.892 T:1707 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 272 - written 0'
2022-12-11 17:25:38.900 T:2641 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:25:38.900 T:2641 ERROR <general>: CFileCache::Process - <http://localhost:52308/track/57UHQj8mjKHwgTiaMYiryP/35.904/?connect=true> source read didn't return any data before eof!
2022-12-11 17:25:38.933 T:2369 INFO <general>: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder pcm_s16le
2022-12-11 17:25:38.933 T:2369 INFO <general>: CDVDAudioCodecFFmpeg::GetChannelMap - FFmpeg reported 2 channels, but the layout contains 0 ignoring
2022-12-11 17:25:38.936 T:2369 INFO <general>: PAPlayer::PrepareStream - Stream Finished
2022-12-11 17:25:38.936 T:2369 INFO <general>: PAPlayer::PrepareStream - Ready
2022-12-11 17:25:39.941 T:2623 INFO <general>: CPythonInvoker(44, /home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py): script successfully run
2022-12-11 17:25:40.018 T:2623 INFO <general>: Python interpreter stopped
2022-12-11 17:25:40.021 T:1709 INFO <general>: plugin.audio.spotify --> b'!! Full File. Size : 6174044 '
2022-12-11 17:25:40.023 T:1709 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 0'
2022-12-11 17:25:40.060 T:1709 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:25:40.266 T:1709 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 0 - written 228'
2022-12-11 17:25:50.278 T:2666 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:25:50.278 T:2666 WARNING <general>: CCurlFile::FillBuffer - Reconnect, (re)try 1
2022-12-11 17:25:50.286 T:1702 INFO <general>: plugin.audio.spotify --> b'request header range: bytes=272-'
2022-12-11 17:25:50.287 T:1702 INFO <general>: plugin.audio.spotify --> b'partial request range: bytes 272-6174044/6174044, length: 6174044'
2022-12-11 17:25:50.290 T:1702 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 272'
2022-12-11 17:25:50.352 T:1702 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:25:50.564 T:1702 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 272 - written 0'
2022-12-11 17:26:00.568 T:2666 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:26:00.568 T:2666 WARNING <general>: CCurlFile::FillBuffer - Reconnect, (re)try 2
2022-12-11 17:26:00.572 T:1710 INFO <general>: plugin.audio.spotify --> b'request header range: bytes=272-'
2022-12-11 17:26:00.572 T:1710 INFO <general>: plugin.audio.spotify --> b'partial request range: bytes 272-6174044/6174044, length: 6174044'
2022-12-11 17:26:00.573 T:1710 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 272'
2022-12-11 17:26:00.609 T:1710 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:26:00.816 T:1710 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 272 - written 0'
2022-12-11 17:26:10.826 T:2666 ERROR <general>: CCurlFile::FillBuffer - Failed: Transferred a partial file(18)
2022-12-11 17:26:10.827 T:2666 ERROR <general>: CFileCache::Process - <http://localhost:52308/track/57UHQj8mjKHwgTiaMYiryP/35.904/?connect=true> source read didn't return any data before eof!
2022-12-11 17:26:10.834 T:2369 INFO <general>: CDVDAudioCodecFFmpeg::Open() Successful opened audio decoder pcm_s16le
2022-12-11 17:26:10.835 T:2369 INFO <general>: CDVDAudioCodecFFmpeg::GetChannelMap - FFmpeg reported 2 channels, but the layout contains 0 ignoring
2022-12-11 17:26:10.838 T:2369 INFO <general>: PAPlayer::PrepareStream - Stream Finished
2022-12-11 17:26:10.838 T:2369 INFO <general>: PAPlayer::PrepareStream - Ready
2022-12-11 17:26:10.841 T:2679 INFO <general>: PAPlayer::ProcessStream - Stream Finished
2022-12-11 17:26:10.845 T:1703 INFO <general>: plugin.audio.spotify --> b'!! Full File. Size : 6174044 '
2022-12-11 17:26:10.847 T:1703 INFO <general>: plugin.audio.spotify --> b'start transfer for track 57UHQj8mjKHwgTiaMYiryP - range: 0'
2022-12-11 17:26:10.887 T:1703 INFO <general>: plugin.audio.spotify --> b'Infos : Track : 57UHQj8mjKHwgTiaMYiryP'
2022-12-11 17:26:11.110 T:1703 INFO <general>: plugin.audio.spotify --> b'FINISH transfer for track 57UHQj8mjKHwgTiaMYiryP - range 0 - written 228'
2022-12-11 17:24:11.167 T:2579 ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'TypeError'>
Error Contents: '>=' not supported between instances of 'tuple' and 'int'
Traceback (most recent call last):
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/plugin_content.py", line 55, in __init__
eval(action)()
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/plugin_content.py", line 315, in connect_playback
from osd import SpotifyOSD
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/osd.py", line 15, in <module>
from metadatautils import MetadataUtils
ImportError: cannot import name 'MetadataUtils' from 'metadatautils' (unknown location)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/osmc/.kodi/addons/plugin.audio.spotify/plugin.py", line 14, in <module>
PluginContent()
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/plugin_content.py", line 62, in __init__
log_exception(__name__, exc)
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/utils.py", line 90, in log_exception
log_msg(format_exc(sys.exc_info()), xbmc.LOGDEBUG)
File "/usr/lib/python3.9/traceback.py", line 167, in format_exc
return "".join(format_exception(*sys.exc_info(), limit=limit, chain=chain))
File "/usr/lib/python3.9/traceback.py", line 120, in format_exception
return list(TracebackException(
File "/usr/lib/python3.9/traceback.py", line 508, in __init__
self.stack = StackSummary.extract(
File "/usr/lib/python3.9/traceback.py", line 340, in extract
if limit >= 0:
TypeError: '>=' not supported between instances of 'tuple' and 'int'
-->End of Python script error report<--
2022-12-11 17:22:11.526 T:1709 ERROR <general>: [11/Dec/2022:17:22:11] NATIVE_ADAPTER Traceback (most recent call last):
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/_cpnative_server.py", line 89, in respond
self.send_response(
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/cherrypy/_cpnative_server.py", line 116, in send_response
for seg in body:
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/httpproxy.py", line 187, in send_audio_stream
self.kill_spotty()
File "/home/osmc/.kodi/addons/plugin.audio.spotify/resources/lib/httpproxy.py", line 130, in kill_spotty
self.spotty_bin.communicate()
File "/usr/lib/python3.9/subprocess.py", line 1121, in communicate
stdout = self.stdout.read()
ValueError: read of closed file
I have latest osmc on RPI4 with spotify plugin downloaded from here. Plugin works and i can play music selected on the plugin also the device shows on my android phone's spotify app. I can switch output to my RPI it looks like playing on the phone but no sound at all
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.