Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iris ignores lookup(playlist) track data when browsing, pulls track data one-by-one, resulting in hanging spinner in the UI #692

Closed
MrSurly opened this issue Feb 9, 2021 · 6 comments
Labels

Comments

@MrSurly
Copy link

MrSurly commented Feb 9, 2021

Describe the bug
This comment WRT "slow browsing" using the Tidal backend sums up what I think is going on.

To Reproduce

  1. Setup Iris frontend, and a Tidal backend in Mopidy.
  2. In Iris do: Browse --> Tidal --> Moods --> (select mood)
  3. Get loading spinner, never recovers

Expected behavior
That tracks load and display quickly. Internally, I think Iris should use the results of lookup(playlist) to show track lists.

Environment details:

  • OS: Raspberry Pi
  • Browser: Firefox
  • Iris version: Current PYPI version.

Additional context

At present, the mopidy-tidal backend doesn't return track data when doing lookup(playlist) (moods are just a type of playlist). Even after implementing that, it is ignored by Iris, which will use the track ref list obtained by browse(playlist), and then do a lookup(track) for each track. The Tidal API seems rate limited, so this takes a long time, and Iris (I presume) times out internally. If I artificially limit browse(playlist) to return 5 tracks, it works. But some of these mood playlists are 100+ tracks.

@MrSurly MrSurly added the bug label Feb 9, 2021
@MrSurly
Copy link
Author

MrSurly commented Feb 11, 2021

After looking at some other backends, I'm closing this, as it seems adding cache to the Tidal backend will fix this.

@MrSurly MrSurly closed this as completed Feb 11, 2021
@kingosticks
Copy link
Contributor

kingosticks commented Feb 11, 2021

@jaedb I am still a little curious about what Iris is doing when browsing, Why does Iris do library.lookup(playlist_ref.uri) and then also library.browse(playlist_ref.uri)? Is this expected? Aren't the lookup results enough? You can see this behaviour in the example below:

HttpServer DEBUG    2021-02-10 00:12:54,309 Sent WebSocket message to 127.0.0.1: '{"jsonrpc": "2.0", "id": 19, "result": {"spotify:playlists:featured": []}}'

HttpServer DEBUG    2021-02-10 00:13:48,840 Received WebSocket message from 127.0.0.1: '{"method":"core.library.lookup","params":{"uris":["spotify:playlists:featured"]},"jsonrpc":"2.0","id":20}'

SpotifyBackend-4 INFO     2021-02-10 00:13:48,841 Failed to lookup 'spotify:playlists:featured': Could not parse 'spotify:playlists:featured' as a Spotify URI

HttpServer DEBUG    2021-02-10 00:13:48,842 Sent WebSocket message to 127.0.0.1: '{"jsonrpc": "2.0", "id": 20, "result": {"spotify:playlists:featured": []}}'

HttpServer DEBUG    2021-02-10 00:13:48,843 Received WebSocket message from 127.0.0.1: '{"method":"core.library.browse","params":{"uri":"spotify:playlists:featured"},"jsonrpc":"2.0","id":21}'

HttpServer DEBUG    2021-02-10 00:13:48,929 Sent WebSocket message to 127.0.0.1: '{"jsonrpc": "2.0", "id": 21, "result": [{"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DWVEvzGeX3eRs", "name": "\'90s Baby Makers", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DWYcDQ1hSjOpY", "name": "Deep Sleep", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DXdQvOLqzNHSW", "name": "Late Night Vibes", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DX2pSTOxoPbx9", "name": "Dark & Stormy", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DWUZ5bk6qqDSy", "name": "White Noise", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DX6xOPeSOGone", "name": "Soft Rock", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DX5bjCEbRU4SJ", "name": "Calm Down", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DWZd79rJ6a7lp", "name": "Sleep", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DX4sWSpwq3LiO", "name": "Peaceful Piano", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DXbcPC6Vvqudd", "name": "Night Rain", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DX4WYpdgoIcn6", "name": "Chill Hits", "type": "playlist"}, {"__model__": "Ref", "uri": "spotify:playlist:37i9dQZF1DWZqd5JICZI0u", "name": "Peaceful Meditation", "type": "playlist"}]}'

HttpServer DEBUG    2021-02-10 00:13:50,459 Sent WebSocket message to 127.0.0.1: '{"jsonrpc": "2.0", "id": 22, "result": {"spotify:playlist:37i9dQZF1DWVEvzGeX3eRs": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f000000039d574d6f27a73e668fee93ef"}], "spotify:playlist:37i9dQZF1DWYcDQ1hSjOpY": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f00000003c601a6a746366286845b8fda"}], "spotify:playlist:37i9dQZF1DXdQvOLqzNHSW": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f000000037d625e1cc8524ffdca59dbe8"}], "spotify:playlist:37i9dQZF1DX2pSTOxoPbx9": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f00000003a6e2870c97bde5e2719c20b8"}], "spotify:playlist:37i9dQZF1DWUZ5bk6qqDSy": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f000000035654f5615b2aec45465d0fd2"}], "spotify:playlist:37i9dQZF1DX6xOPeSOGone": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f000000038f7cea2939220d6a326924fa"}], "spotify:playlist:37i9dQZF1DX5bjCEbRU4SJ": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f00000003278197087524cc094f86e82b"}], "spotify:playlist:37i9dQZF1DWZd79rJ6a7lp": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f00000003b70e0223f544b1faa2e95ed0"}], "spotify:playlist:37i9dQZF1DX4sWSpwq3LiO": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f00000003ca5a7517156021292e5663a6"}], "spotify:playlist:37i9dQZF1DXbcPC6Vvqudd": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f0000000393fe06c436d719d3f31107d0"}], "spotify:playlist:37i9dQZF1DX4WYpdgoIcn6": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f00000003cf8e264c6a92e245402ecb7a"}], "spotify:playlist:37i9dQZF1DWZqd5JICZI0u": [{"__model__": "Image", "uri": "https://i.scdn.co/image/ab67706f0000000312cf5fd4624cce89f748ec99"}]}}'

HttpServer DEBUG    2021-02-10 00:14:16,381 Received WebSocket message from 127.0.0.1: '{"method":"core.library.lookup","params":{"uris":["spotify:playlist:37i9dQZF1DWVEvzGeX3eRs"]},"jsonrpc":"2.0","id":23}'

SpotifyBackend-4 DEBUG    2021-02-10  Fetching Spotify playlist "'spotify:playlist:37i9dQZF1DWVEvzGeX3eRs'"

HttpServer DEBUG    2021-02-10 00:14:16,530 Sent WebSocket message to 127.0.0.1: '{"jsonrpc": "2.0", "id": 23, "result": {"spotify:playlist:37i9dQZF1DWVEvzGeX3eRs": [{"__model__": "Track", "uri": "spotify:track:0MrD47wtvAu6igsy8vqUzN", "name": "Uhh Ahh", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6O74knDqdv3XaWtkII7Xjp", "name": "Boyz II Men"}], "album": {"__model__": "Album", "uri": "spotify:album:7JnLsJWNUf50DGZ5JhBgbO", "name": "Cooleyhighharmony - Expanded Edition", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6O74knDqdv3XaWtkII7Xjp", "name": "Boyz II Men"}], "date": "2009"}, "track_no": 4, "disc_no": 1, "length": 228866, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:1mC7u32zemMLC1mVOU02Pm", "name": "U Send Me Swingin\'", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4MT97VeycuegSicrrphisJ", "name": "Mint Condition"}], "album": {"__model__": "Album", "uri": "spotify:album:7j4tPYe42ilCuMB3EzPwC3", "name": "Jacked: Music Inspired by the Podcast (Episode 4: Control)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0LyfQWJT6nXafLPZqxe9Of", "name": "Various Artists"}], "date": "2020"}, "track_no": 5, "disc_no": 1, "length": 314537, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:0TEPE1KMWY0satuZIBtuRt", "name": "All I See", "artists": [{"__model__": "Artist", "uri": "spotify:artist:27TmRLInIAVyWyU14KlALf", "name": "Christopher Williams"}], "album": {"__model__": "Album", "uri": "spotify:album:0POYPvGgqNdWX1G3BQBncS", "name": "Changes", "artists": [{"__model__": "Artist", "uri": "spotify:artist:27TmRLInIAVyWyU14KlALf", "name": "Christopher Williams"}], "date": "1992"}, "track_no": 1, "disc_no": 1, "length": 260666, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:7EgBkZlqWRwvjmyc115LLR", "name": "Don\'t Be Afraid", "artists": [{"__model__": "Artist", "uri": "spotify:artist:772SIFJQiXTCfxncTK1UMn", "name": "Aaron Hall"}], "album": {"__model__": "Album", "uri": "spotify:album:5ASOftLg56vF8xCBqRYjTN", "name": "The Truth", "artists": [{"__model__": "Artist", "uri": "spotify:artist:772SIFJQiXTCfxncTK1UMn", "name": "Aaron Hall"}], "date": "1993"}, "track_no": 10, "disc_no": 1, "length": 271506, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:6ygcYdLszK2DJUU7BWuCxx", "name": "It Never Rains (In Southern California)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7vWlb4pM85jCHvV771qZZW", "name": "Tony! Toni! Ton\\u00e9!"}], "album": {"__model__": "Album", "uri": "spotify:album:5yORmYtkTZdFgo6ppcsFZT", "name": "The Revival", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7vWlb4pM85jCHvV771qZZW", "name": "Tony! Toni! Ton\\u00e9!"}], "date": "1990"}, "track_no": 6, "disc_no": 1, "length": 304240, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:74glbwcJjpaHIk4uqHilnM", "name": "Pleasure & Pain", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7urq0VfqxEYEEiZUkebXT4", "name": "112"}], "album": {"__model__": "Album", "uri": "spotify:album:5lSLGYViKHz22S8gEXz9Vc", "name": "112", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7urq0VfqxEYEEiZUkebXT4", "name": "112"}], "date": "1996"}, "track_no": 3, "disc_no": 1, "length": 256959, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:44QrzYVAHFC9WMN91GEo9H", "name": "Take Our Time", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0TImkz4nPqjegtVSMZnMRq", "name": "TLC"}], "album": {"__model__": "Album", "uri": "spotify:album:5eg56dCpFn32neJak2vk0f", "name": "Crazysexycool", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0TImkz4nPqjegtVSMZnMRq", "name": "TLC"}], "date": "1994"}, "track_no": 13, "disc_no": 1, "length": 274000, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:3xWWs8xnzh3sg7F6KlhfSC", "name": "Shhh", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5VfqJBmXcf6ZqXoGij5qTE", "name": "Tevin Campbell"}], "album": {"__model__": "Album", "uri": "spotify:album:3hwPsvBmnFXv5qFueDDUjN", "name": "The Best of Tevin Campbell", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5VfqJBmXcf6ZqXoGij5qTE", "name": "Tevin Campbell"}], "date": "2001"}, "track_no": 3, "disc_no": 1, "length": 294800, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:125dAqUSmX1nOG50fBz9vb", "name": "Beauty", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1255GTUKNCLCTvH9ctD4cT", "name": "Dru Hill"}], "album": {"__model__": "Album", "uri": "spotify:album:6L5uROBQ5wy3MOPI334RHE", "name": "Enter The Dru", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1255GTUKNCLCTvH9ctD4cT", "name": "Dru Hill"}], "date": "1998"}, "track_no": 14, "disc_no": 1, "length": 272560, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:4zAxfkmJqsaHqFu1YPMS5a", "name": "You\'re Always On My Mind", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2NmK5FyrQ18HOPXq1UBzqa", "name": "SWV"}], "album": {"__model__": "Album", "uri": "spotify:album:2BBrAtWY0c6dPio5b2JYFK", "name": "It\'s About Time", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2NmK5FyrQ18HOPXq1UBzqa", "name": "SWV"}], "date": "1992"}, "track_no": 5, "disc_no": 1, "length": 317360, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:2PtwvKN5m8B0HVel2kOdoX", "name": "Lose Control", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3wVllS5itPK6rpHwfvNce4", "name": "Silk"}], "album": {"__model__": "Album", "uri": "spotify:album:1ujRHjYVLKXK7do7CnahUQ", "name": "Lose Control", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3wVllS5itPK6rpHwfvNce4", "name": "Silk"}], "date": "1992"}, "track_no": 8, "disc_no": 1, "length": 314866, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:6s4xndGKUhW0xXPYvFlwcL", "name": "Other Side Of The Game", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7IfculRW2WXyzNQ8djX8WX", "name": "Erykah Badu"}], "album": {"__model__": "Album", "uri": "spotify:album:3qr4pTBWEU1SVf01j6RAx3", "name": "Baduizm", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7IfculRW2WXyzNQ8djX8WX", "name": "Erykah Badu"}], "date": "1997"}, "track_no": 4, "disc_no": 1, "length": 393733, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:19asXa48FNoDzO8PaQm9MN", "name": "Softest Place On Earth", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5z2cHsOmmmWcAPNG1oEhw0", "name": "Xscape"}], "album": {"__model__": "Album", "uri": "spotify:album:1RnxWZniUGHEAlpfbCphiL", "name": "Traces Of My Lipstick", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5z2cHsOmmmWcAPNG1oEhw0", "name": "Xscape"}], "date": "1998"}, "track_no": 3, "disc_no": 1, "length": 256720, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:21fXrzSxu2y51Yqf57QycI", "name": "Happily Ever After", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5aEWnrN8h3MhuFUPRfaVuy", "name": "Case"}], "album": {"__model__": "Album", "uri": "spotify:album:5uP1FQmrHxL0ECie4Fiuth", "name": "Def Jam 25, Vol. 11 - Cheers To You (Explicit Version)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0LyfQWJT6nXafLPZqxe9Of", "name": "Various Artists"}], "date": "2009"}, "track_no": 1, "disc_no": 1, "length": 276293, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:4OXAYBy41owXhbOoi932y0", "name": "I Got A Thang 4 Ya!", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4bidFqFLzQ6OBICstJbr05", "name": "Lokey"}], "album": {"__model__": "Album", "uri": "spotify:album:6lnkKUssdkeFx4jFng3L6C", "name": "Radio Waves Of The \'90s: Urban Hits", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0LyfQWJT6nXafLPZqxe9Of", "name": "Various Artists"}], "date": "2002"}, "track_no": 5, "disc_no": 1, "length": 257399, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:2dnPoLlcwJFtFm1pps3Bm0", "name": "Scandalous", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j", "name": "Prince"}], "album": {"__model__": "Album", "uri": "spotify:album:2FwzHgJ4XaPhC19Y0uL6SK", "name": "Batman", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j", "name": "Prince"}], "date": "1989"}, "track_no": 8, "disc_no": 1, "length": 375706, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:2gQ3lDcFYa3yFOkaw8PtuO", "name": "Anytime", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6k0IBR0lU42s2GYpNX7kA9", "name": "Brian McKnight"}], "album": {"__model__": "Album", "uri": "spotify:album:3OcBsJXFBHWTxRV4hVAXpf", "name": "Anytime", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6k0IBR0lU42s2GYpNX7kA9", "name": "Brian McKnight"}], "date": "1997"}, "track_no": 1, "disc_no": 1, "length": 275600, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:5mCQirG6bW3iDN0gpdoxrP", "name": "Use Your Heart", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2NmK5FyrQ18HOPXq1UBzqa", "name": "SWV"}], "album": {"__model__": "Album", "uri": "spotify:album:2QHtc53nHnTTQip9d3VmoP", "name": "Best Of SWV", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2NmK5FyrQ18HOPXq1UBzqa", "name": "SWV"}], "date": "2001"}, "track_no": 13, "disc_no": 1, "length": 289240, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:5xLDmkobOw674TLTBBmnuN", "name": "I Get Lonely", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4qwGe91Bz9K2T8jXTZ815W", "name": "Janet Jackson"}], "album": {"__model__": "Album", "uri": "spotify:album:6ZANEjETQ9L9pjBuvOAhCQ", "name": "The Velvet Rope", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4qwGe91Bz9K2T8jXTZ815W", "name": "Janet Jackson"}], "date": "1997"}, "track_no": 18, "disc_no": 1, "length": 317560, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:02D9uD9WQb834Lb54xCvDS", "name": "Love U 4 Life", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1eNkUXHPaXyuyC8NAgzykK", "name": "Jodeci"}], "album": {"__model__": "Album", "uri": "spotify:album:5tincGtQaRD1QoXAT0PELz", "name": "The Show, The After Party, The Hotel", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1eNkUXHPaXyuyC8NAgzykK", "name": "Jodeci"}], "date": "1995"}, "track_no": 20, "disc_no": 1, "length": 290066, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:4XhrowM5IKGCRrY2HzYBH3", "name": "All I Do Is Think of You", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5r7mGejWrGSxheAYEIfSwI", "name": "Troop"}], "album": {"__model__": "Album", "uri": "spotify:album:7JejBAyNL3oKVt1tNHLosr", "name": "Attitude", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5r7mGejWrGSxheAYEIfSwI", "name": "Troop"}], "date": "1989"}, "track_no": 6, "disc_no": 1, "length": 229053, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:2zItQNJrVrTioXTXWiI2ed", "name": "When Can I See You", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3aVoqlJOYx31lH1gibGDt3", "name": "Babyface"}], "album": {"__model__": "Album", "uri": "spotify:album:0PkkUYZMtKN25rvrt50EhX", "name": "For The Cool In You", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3aVoqlJOYx31lH1gibGDt3", "name": "Babyface"}], "date": "1993"}, "track_no": 7, "disc_no": 1, "length": 229600, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:3efy0g1He1zJ4B94VMbbBo", "name": "Baby I\'m Ready", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0G7OYsWptjRzVFT1AxP8TS", "name": "Levert"}], "album": {"__model__": "Album", "uri": "spotify:album:65gxRNu9BBpc0M1KydPtta", "name": "Rope A Dope Style", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0G7OYsWptjRzVFT1AxP8TS", "name": "Levert"}], "date": "1990"}, "track_no": 8, "disc_no": 1, "length": 322200, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:3bhZuw0gZRLEOGeggjWzpP", "name": "You Put a Move on My Heart", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0le01dl1WllSHhjEXRl4in", "name": "Tamia"}], "album": {"__model__": "Album", "uri": "spotify:album:3PFEg7sWLEMuS3nyTIguEV", "name": "Tamia", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0le01dl1WllSHhjEXRl4in", "name": "Tamia"}], "date": "1998"}, "track_no": 13, "disc_no": 1, "length": 372640, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:2cXdUg5c57C4b2qLCqHAOX", "name": "Insatiable", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j", "name": "Prince"}], "album": {"__model__": "Album", "uri": "spotify:album:6dRctIZQKuZCSSoR6QBBv9", "name": "Diamonds and Pearls", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j", "name": "Prince"}], "date": "1991"}, "track_no": 12, "disc_no": 1, "length": 399666, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:5yMQERKmNx6ajo4qHi1KT2", "name": "Sending My Love", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6cjSmkVvMvyE6tCAo1M9Is", "name": "Zhan\\u00e9"}], "album": {"__model__": "Album", "uri": "spotify:album:01FqJwpa24Vfb8DI6sZI6B", "name": "Pronounced Jah-Nay", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6cjSmkVvMvyE6tCAo1M9Is", "name": "Zhan\\u00e9"}], "date": "1994"}, "track_no": 4, "disc_no": 1, "length": 221173, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:0JukF7Yf5qF10ntu6lpJ5I", "name": "Stay", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1eNkUXHPaXyuyC8NAgzykK", "name": "Jodeci"}], "album": {"__model__": "Album", "uri": "spotify:album:4BGCcmSTia1IibSFiroMn5", "name": "Forever My Lady", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1eNkUXHPaXyuyC8NAgzykK", "name": "Jodeci"}], "date": "1991"}, "track_no": 1, "disc_no": 1, "length": 311773, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:5nS5mDWAyce9gjD8crHcZX", "name": "I Gotta Be", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7Aq8lpLMSt1Zxu56pe9bmp", "name": "Jagged Edge"}], "album": {"__model__": "Album", "uri": "spotify:album:71V8liHaRbtSZ2ZGkjcqZB", "name": "A Jagged Era", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7Aq8lpLMSt1Zxu56pe9bmp", "name": "Jagged Edge"}], "date": "1997"}, "track_no": 3, "disc_no": 1, "length": 215266, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:13fIg7eB5MP9slSQayHhjH", "name": "Let\'s Stay Together - Midnight Mix", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1kjO72M26jZkv0aaGxJaov", "name": "Eric Ben\\u00e9t"}], "album": {"__model__": "Album", "uri": "spotify:album:0HgmysKc552d8G01TdbUa3", "name": "True to Myself", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1kjO72M26jZkv0aaGxJaov", "name": "Eric Ben\\u00e9t"}], "date": "1996"}, "track_no": 4, "disc_no": 1, "length": 286973, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:0KHHrBbdvuJ6knLxj7dqkw", "name": "All the Times (feat. Faith Evans, Coko & Missy Elliott)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1J3nCyJ2KtGhh9JuywOrVD", "name": "LSG"}, {"__model__": "Artist", "uri": "spotify:artist:2wIVse2owClT7go1WT98tk", "name": "Missy Elliott"}, {"__model__": "Artist", "uri": "spotify:artist:4DXQx61f5u5Ulazrx2iUks", "name": "Coko"}, {"__model__": "Artist", "uri": "spotify:artist:5NDMothbpdpq2xHqSjrrWn", "name": "Faith Evans"}], "album": {"__model__": "Album", "uri": "spotify:album:3BrZT0UzGMi2qhI5WExT8Y", "name": "Levert.Sweat.Gill", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1J3nCyJ2KtGhh9JuywOrVD", "name": "LSG"}], "date": "1997"}, "track_no": 6, "disc_no": 1, "length": 291706, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:0BEUswN4YNySo3KRVrAqCq", "name": "Let\'s Chill", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2IBPIcSkvQZyoaVfoyZKE8", "name": "Guy"}], "album": {"__model__": "Album", "uri": "spotify:album:3zuoynFUwVMW9cUl7V5I0q", "name": "The Future", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2IBPIcSkvQZyoaVfoyZKE8", "name": "Guy"}], "date": "1990"}, "track_no": 5, "disc_no": 1, "length": 323826, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:3UGNdLrhhsK0SY9gNqe8TT", "name": "All The Things (Your Man Won\'t Do)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3zTOe1BtyTkwNvYZOxXktX", "name": "Joe"}], "album": {"__model__": "Album", "uri": "spotify:album:7Kb0pU8LBYOoI6hoj7ajHJ", "name": "All That I Am", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3zTOe1BtyTkwNvYZOxXktX", "name": "Joe"}], "date": "1997"}, "track_no": 1, "disc_no": 1, "length": 380533, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:78fii1y8vrGtn5YtHEnpaN", "name": "Ready Or Not", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4UPcJIhr5K5fPsm4itqT7E", "name": "After 7"}], "album": {"__model__": "Album", "uri": "spotify:album:5L5q7gpKSLpMXd06AoX1U7", "name": "The Very Best Of After 7", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4UPcJIhr5K5fPsm4itqT7E", "name": "After 7"}], "date": "1997"}, "track_no": 2, "disc_no": 1, "length": 272933, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:4cVWa9vuwfPOukSIZN9012", "name": "How Many Ways", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3X458ddYA2YcVWuVIGGOYe", "name": "Toni Braxton"}], "album": {"__model__": "Album", "uri": "spotify:album:73ojqvZakvdkBxSg9pyPqz", "name": "Toni Braxton", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3X458ddYA2YcVWuVIGGOYe", "name": "Toni Braxton"}], "date": "1993"}, "track_no": 9, "disc_no": 1, "length": 288093, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:1e5DTpM1WeggytDXbphivX", "name": "Kissin\' You", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1urjDGTd4iBze91Z1W1gu7", "name": "Total"}], "album": {"__model__": "Album", "uri": "spotify:album:4uLoT81NWVFx09mkfnGCHb", "name": "Total", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1urjDGTd4iBze91Z1W1gu7", "name": "Total"}], "date": "1996"}, "track_no": 5, "disc_no": 1, "length": 282333, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:6SkGfPa77E4giShVbk9N6R", "name": "Soon as I Get Home", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5NDMothbpdpq2xHqSjrrWn", "name": "Faith Evans"}], "album": {"__model__": "Album", "uri": "spotify:album:36G7gDkkRckUGU7lgG6nev", "name": "Faith", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5NDMothbpdpq2xHqSjrrWn", "name": "Faith Evans"}], "date": "1995"}, "track_no": 8, "disc_no": 1, "length": 324280, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:3kVIFDE3G89I2RPVkiRaRj", "name": "Cupid", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7urq0VfqxEYEEiZUkebXT4", "name": "112"}], "album": {"__model__": "Album", "uri": "spotify:album:5lSLGYViKHz22S8gEXz9Vc", "name": "112", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7urq0VfqxEYEEiZUkebXT4", "name": "112"}], "date": "1996"}, "track_no": 5, "disc_no": 1, "length": 252266, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:6x53SJOV1PAZ8ZUwH4NFXQ", "name": "Knockin\' da Boots", "artists": [{"__model__": "Artist", "uri": "spotify:artist:21gGD9dUby5ls0belA1wqZ", "name": "H-Town"}], "album": {"__model__": "Album", "uri": "spotify:album:1XXRMULRjSHEmWNxk9G1Cd", "name": "Fever for da Flavor", "artists": [{"__model__": "Artist", "uri": "spotify:artist:21gGD9dUby5ls0belA1wqZ", "name": "H-Town"}], "date": "1993"}, "track_no": 10, "disc_no": 1, "length": 330945, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:2yOm4lN7aTygtXanJFNFWU", "name": "Any Time, Any Place", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4qwGe91Bz9K2T8jXTZ815W", "name": "Janet Jackson"}], "album": {"__model__": "Album", "uri": "spotify:album:7qIuZgsMkRuh7rzi4qVcpg", "name": "Janet", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4qwGe91Bz9K2T8jXTZ815W", "name": "Janet Jackson"}], "date": "1993"}, "track_no": 25, "disc_no": 1, "length": 428200, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:5CdJveJgiGXoGwDFqF6afp", "name": "Freak Me", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3wVllS5itPK6rpHwfvNce4", "name": "Silk"}], "album": {"__model__": "Album", "uri": "spotify:album:1ujRHjYVLKXK7do7CnahUQ", "name": "Lose Control", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3wVllS5itPK6rpHwfvNce4", "name": "Silk"}], "date": "1992"}, "track_no": 5, "disc_no": 1, "length": 274533, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:51QxenFmXlJXUN9mpvxlaL", "name": "Nobody\'s Supposed to Be Here", "artists": [{"__model__": "Artist", "uri": "spotify:artist:601893mmW5hl1FBOykWZHG", "name": "Deborah Cox"}], "album": {"__model__": "Album", "uri": "spotify:album:16FPcGpqQfcvqpCLvZsWWD", "name": "One Wish", "artists": [{"__model__": "Artist", "uri": "spotify:artist:601893mmW5hl1FBOykWZHG", "name": "Deborah Cox"}], "date": "1998"}, "track_no": 3, "disc_no": 1, "length": 262333, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:1CrWoWuxupYY1vi1XRdpBX", "name": "Something in My Heart", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4D0WfOUqTzqKysXt33VL3j", "name": "Michel\'le"}], "album": {"__model__": "Album", "uri": "spotify:album:2PngFAB0v6216314TZRcGb", "name": "Michel\'le", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4D0WfOUqTzqKysXt33VL3j", "name": "Michel\'le"}], "date": "1989"}, "track_no": 5, "disc_no": 1, "length": 353000, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:4htbAEZWr53J08x3dUv00W", "name": "Giving Him Something He Can Feel", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5fikk4h5qbEebqK2Fc6e48", "name": "En Vogue"}], "album": {"__model__": "Album", "uri": "spotify:album:7d2qNq4zap02SoWdvr0caA", "name": "Funky Divas", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5fikk4h5qbEebqK2Fc6e48", "name": "En Vogue"}], "date": "1992"}, "track_no": 6, "disc_no": 1, "length": 235706, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:2rkVoKVEMuct8SmEIGKzBw", "name": "Before I Let You Go", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2P3cjUru4H3fhSXXNxE9kA", "name": "Blackstreet"}], "album": {"__model__": "Album", "uri": "spotify:album:3hpEJHGSMUDlkqynM8hkEI", "name": "Blackstreet", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2P3cjUru4H3fhSXXNxE9kA", "name": "Blackstreet"}], "date": "1994"}, "track_no": 12, "disc_no": 1, "length": 299840, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:3xhXKRGahWzcXF8rD5gUvd", "name": "Nothing Even Matters (feat. D\'Angelo)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:336vr2M3Va0FjyvB55lJEd", "name": "D\'Angelo"}, {"__model__": "Artist", "uri": "spotify:artist:2Mu5NfyYm8n5iTomuKAEHl", "name": "Ms. Lauryn Hill"}], "album": {"__model__": "Album", "uri": "spotify:album:1BZoqf8Zje5nGdwZhOjAtD", "name": "The Miseducation of Lauryn Hill", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2Mu5NfyYm8n5iTomuKAEHl", "name": "Ms. Lauryn Hill"}], "date": "1998"}, "track_no": 12, "disc_no": 1, "length": 350533, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:6xYd4zCVeSp80Un2Rl9wDs", "name": "Cruisin\'", "artists": [{"__model__": "Artist", "uri": "spotify:artist:336vr2M3Va0FjyvB55lJEd", "name": "D\'Angelo"}], "album": {"__model__": "Album", "uri": "spotify:album:4HTVABUq8amDUxBv3zJbX4", "name": "Brown Sugar", "artists": [{"__model__": "Artist", "uri": "spotify:artist:336vr2M3Va0FjyvB55lJEd", "name": "D\'Angelo"}], "date": "1995"}, "track_no": 7, "disc_no": 1, "length": 384666, "bitrate": 320}, {"__model__": "Track", "uri": "spotify:track:4lRrk574qIHpoEEKC1zuam", "name": "At Your Best (You Are Love)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0urTpYCsixqZwgNTkPJOJ4", "name": "Aaliyah"}], "album": {"__model__": "Album", "uri": "spotify:album:3E3QRjL4Cre7Krms420Irl", "name": "Age Ain\'t Nothing But A Number", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0urTpYCsixqZwgNTkPJOJ4", "name": "Aaliyah"}], "date": "1994"}, "track_no": 6, "disc_no": 1, "length": 291400, "bitrate": 320}]}}'

HttpServer DEBUG    2021-02-10 00:14:16,533 Received WebSocket message from 127.0.0.1: '{"method":"core.library.browse","params":{"uri":"spotify:playlist:37i9dQZF1DWVEvzGeX3eRs"},"jsonrpc":"2.0","id":24}'

SpotifyBackend-4 DEBUG    2021-02-10 00:14:16,535 Fetching Spotify playlist "'spotify:playlist:37i9dQZF1DWVEvzGeX3eRs'"

HttpServer DEBUG    2021-02-10 00:14:16,541 Sent WebSocket message to 127.0.0.1: '{"jsonrpc": "2.0", "id": 24, "result": [{"__model__": "Ref", "uri": "spotify:track:0MrD47wtvAu6igsy8vqUzN", "name": "Uhh Ahh", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:1mC7u32zemMLC1mVOU02Pm", "name": "U Send Me Swingin\'", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:0TEPE1KMWY0satuZIBtuRt", "name": "All I See", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:7EgBkZlqWRwvjmyc115LLR", "name": "Don\'t Be Afraid", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:6ygcYdLszK2DJUU7BWuCxx", "name": "It Never Rains (In Southern California)", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:74glbwcJjpaHIk4uqHilnM", "name": "Pleasure & Pain", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:44QrzYVAHFC9WMN91GEo9H", "name": "Take Our Time", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:3xWWs8xnzh3sg7F6KlhfSC", "name": "Shhh", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:125dAqUSmX1nOG50fBz9vb", "name": "Beauty", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:4zAxfkmJqsaHqFu1YPMS5a", "name": "You\'re Always On My Mind", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:2PtwvKN5m8B0HVel2kOdoX", "name": "Lose Control", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:6s4xndGKUhW0xXPYvFlwcL", "name": "Other Side Of The Game", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:19asXa48FNoDzO8PaQm9MN", "name": "Softest Place On Earth", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:21fXrzSxu2y51Yqf57QycI", "name": "Happily Ever After", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:4OXAYBy41owXhbOoi932y0", "name": "I Got A Thang 4 Ya!", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:2dnPoLlcwJFtFm1pps3Bm0", "name": "Scandalous", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:2gQ3lDcFYa3yFOkaw8PtuO", "name": "Anytime", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:5mCQirG6bW3iDN0gpdoxrP", "name": "Use Your Heart", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:5xLDmkobOw674TLTBBmnuN", "name": "I Get Lonely", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:02D9uD9WQb834Lb54xCvDS", "name": "Love U 4 Life", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:4XhrowM5IKGCRrY2HzYBH3", "name": "All I Do Is Think of You", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:2zItQNJrVrTioXTXWiI2ed", "name": "When Can I See You", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:3efy0g1He1zJ4B94VMbbBo", "name": "Baby I\'m Ready", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:3bhZuw0gZRLEOGeggjWzpP", "name": "You Put a Move on My Heart", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:2cXdUg5c57C4b2qLCqHAOX", "name": "Insatiable", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:5yMQERKmNx6ajo4qHi1KT2", "name": "Sending My Love", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:0JukF7Yf5qF10ntu6lpJ5I", "name": "Stay", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:5nS5mDWAyce9gjD8crHcZX", "name": "I Gotta Be", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:13fIg7eB5MP9slSQayHhjH", "name": "Let\'s Stay Together - Midnight Mix", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:0KHHrBbdvuJ6knLxj7dqkw", "name": "All the Times (feat. Faith Evans, Coko & Missy Elliott)", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:0BEUswN4YNySo3KRVrAqCq", "name": "Let\'s Chill", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:3UGNdLrhhsK0SY9gNqe8TT", "name": "All The Things (Your Man Won\'t Do)", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:78fii1y8vrGtn5YtHEnpaN", "name": "Ready Or Not", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:4cVWa9vuwfPOukSIZN9012", "name": "How Many Ways", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:1e5DTpM1WeggytDXbphivX", "name": "Kissin\' You", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:6SkGfPa77E4giShVbk9N6R", "name": "Soon as I Get Home", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:3kVIFDE3G89I2RPVkiRaRj", "name": "Cupid", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:6x53SJOV1PAZ8ZUwH4NFXQ", "name": "Knockin\' da Boots", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:2yOm4lN7aTygtXanJFNFWU", "name": "Any Time, Any Place", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:5CdJveJgiGXoGwDFqF6afp", "name": "Freak Me", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:51QxenFmXlJXUN9mpvxlaL", "name": "Nobody\'s Supposed to Be Here", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:1CrWoWuxupYY1vi1XRdpBX", "name": "Something in My Heart", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:4htbAEZWr53J08x3dUv00W", "name": "Giving Him Something He Can Feel", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:2rkVoKVEMuct8SmEIGKzBw", "name": "Before I Let You Go", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:3xhXKRGahWzcXF8rD5gUvd", "name": "Nothing Even Matters (feat. D\'Angelo)", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:6xYd4zCVeSp80Un2Rl9wDs", "name": "Cruisin\'", "type": "track"}, {"__model__": "Ref", "uri": "spotify:track:4lRrk574qIHpoEEKC1zuam", "name": "At Your Best (You Are Love)", "type": "track"}]}'

HttpServer DEBUG    2021-02-10 00:14:16,563 Received WebSocket message from 127.0.0.1: '{"method":"core.library.lookup","params":{"uris":["spotify:track:0MrD47wtvAu6igsy8vqUzN","spotify:track:1mC7u32zemMLC1mVOU02Pm","spotify:track:0TEPE1KMWY0satuZIBtuRt","spotify:track:7EgBkZlqWRwvjmyc115LLR","spotify:track:6ygcYdLszK2DJUU7BWuCxx","spotify:track:74glbwcJjpaHIk4uqHilnM","spotify:track:44QrzYVAHFC9WMN91GEo9H","spotify:track:3xWWs8xnzh3sg7F6KlhfSC","spotify:track:125dAqUSmX1nOG50fBz9vb","spotify:track:4zAxfkmJqsaHqFu1YPMS5a","spotify:track:2PtwvKN5m8B0HVel2kOdoX","spotify:track:6s4xndGKUhW0xXPYvFlwcL","spotify:track:19asXa48FNoDzO8PaQm9MN","spotify:track:21fXrzSxu2y51Yqf57QycI","spotify:track:4OXAYBy41owXhbOoi932y0","spotify:track:2dnPoLlcwJFtFm1pps3Bm0","spotify:track:2gQ3lDcFYa3yFOkaw8PtuO","spotify:track:5mCQirG6bW3iDN0gpdoxrP","spotify:track:5xLDmkobOw674TLTBBmnuN","spotify:track:02D9uD9WQb834Lb54xCvDS","spotify:track:4XhrowM5IKGCRrY2HzYBH3","spotify:track:2zItQNJrVrTioXTXWiI2ed","spotify:track:3efy0g1He1zJ4B94VMbbBo","spotify:track:3bhZuw0gZRLEOGeggjWzpP","spotify:track:2cXdUg5c57C4b2qLCqHAOX","spotify:track:5yMQERKmNx6ajo4qHi1KT2","spotify:track:0JukF7Yf5qF10ntu6lpJ5I","spotify:track:5nS5mDWAyce9gjD8crHcZX","spotify:track:13fIg7eB5MP9slSQayHhjH","spotify:track:0KHHrBbdvuJ6knLxj7dqkw","spotify:track:0BEUswN4YNySo3KRVrAqCq","spotify:track:3UGNdLrhhsK0SY9gNqe8TT","spotify:track:78fii1y8vrGtn5YtHEnpaN","spotify:track:4cVWa9vuwfPOukSIZN9012","spotify:track:1e5DTpM1WeggytDXbphivX","spotify:track:6SkGfPa77E4giShVbk9N6R","spotify:track:3kVIFDE3G89I2RPVkiRaRj","spotify:track:6x53SJOV1PAZ8ZUwH4NFXQ","spotify:track:2yOm4lN7aTygtXanJFNFWU","spotify:track:5CdJveJgiGXoGwDFqF6afp","spotify:track:51QxenFmXlJXUN9mpvxlaL","spotify:track:1CrWoWuxupYY1vi1XRdpBX","spotify:track:4htbAEZWr53J08x3dUv00W","spotify:track:2rkVoKVEMuct8SmEIGKzBw","spotify:track:3xhXKRGahWzcXF8rD5gUvd","spotify:track:6xYd4zCVeSp80Un2Rl9wDs","spotify:track:4lRrk574qIHpoEEKC1zuam"]},"jsonrpc":"2.0","id":25}'

HttpServer DEBUG    2021-02-10 00:14:16,874 Sent WebSocket message to 127.0.0.1: '{"jsonrpc": "2.0", "id": 25, "result": {"spotify:track:0MrD47wtvAu6igsy8vqUzN": [{"__model__": "Track", "uri": "spotify:track:0MrD47wtvAu6igsy8vqUzN", "name": "Uhh Ahh", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6O74knDqdv3XaWtkII7Xjp", "name": "Boyz II Men"}], "album": {"__model__": "Album", "uri": "spotify:album:7JnLsJWNUf50DGZ5JhBgbO", "name": "Cooleyhighharmony - Expanded Edition", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6O74knDqdv3XaWtkII7Xjp", "name": "Boyz II Men"}], "date": "2009"}, "track_no": 4, "disc_no": 0, "date": "2009", "length": 229000, "bitrate": 320}], "spotify:track:1mC7u32zemMLC1mVOU02Pm": [{"__model__": "Track", "uri": "spotify:track:1mC7u32zemMLC1mVOU02Pm", "name": "U Send Me Swingin\'", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4MT97VeycuegSicrrphisJ", "name": "Mint Condition"}], "album": {"__model__": "Album", "uri": "spotify:album:7hzFhf3WpRUNM52MVjgCVe", "name": "From The Mint Factory", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4MT97VeycuegSicrrphisJ", "name": "Mint Condition"}], "date": "1993"}, "track_no": 6, "disc_no": 0, "date": "1993", "length": 315000, "bitrate": 320}], "spotify:track:0TEPE1KMWY0satuZIBtuRt": [{"__model__": "Track", "uri": "spotify:track:0TEPE1KMWY0satuZIBtuRt", "name": "All I See", "artists": [{"__model__": "Artist", "uri": "spotify:artist:27TmRLInIAVyWyU14KlALf", "name": "Christopher Williams"}], "album": {"__model__": "Album", "uri": "spotify:album:0POYPvGgqNdWX1G3BQBncS", "name": "Changes", "artists": [{"__model__": "Artist", "uri": "spotify:artist:27TmRLInIAVyWyU14KlALf", "name": "Christopher Williams"}], "date": "1992"}, "track_no": 1, "disc_no": 0, "date": "1992", "length": 261000, "bitrate": 320}], "spotify:track:7EgBkZlqWRwvjmyc115LLR": [{"__model__": "Track", "uri": "spotify:track:7EgBkZlqWRwvjmyc115LLR", "name": "Don\'t Be Afraid - Sex You Down Some Mo\' Version", "artists": [{"__model__": "Artist", "uri": "spotify:artist:772SIFJQiXTCfxncTK1UMn", "name": "Aaron Hall"}], "album": {"__model__": "Album", "uri": "spotify:album:16ugx2RULvA4s2HHVEqkDi", "name": "The Truth", "artists": [{"__model__": "Artist", "uri": "spotify:artist:772SIFJQiXTCfxncTK1UMn", "name": "Aaron Hall"}], "date": "1993"}, "track_no": 10, "disc_no": 0, "date": "1993", "length": 272000, "bitrate": 320}], "spotify:track:6ygcYdLszK2DJUU7BWuCxx": [{"__model__": "Track", "uri": "spotify:track:6ygcYdLszK2DJUU7BWuCxx", "name": "It Never Rains (In Southern California)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7vWlb4pM85jCHvV771qZZW", "name": "Tony! Toni! Ton\\u00e9!"}], "album": {"__model__": "Album", "uri": "spotify:album:1yoA6HcbdX23c4k0MXNq5g", "name": "Tony! Toni! Tone\'! Greatest Hits", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7vWlb4pM85jCHvV771qZZW", "name": "Tony! Toni! Ton\\u00e9!"}], "date": "1997"}, "track_no": 12, "disc_no": 0, "date": "1997", "length": 296000, "bitrate": 320}], "spotify:track:74glbwcJjpaHIk4uqHilnM": [{"__model__": "Track", "uri": "spotify:track:74glbwcJjpaHIk4uqHilnM", "name": "Pleasure & Pain", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7urq0VfqxEYEEiZUkebXT4", "name": "112"}], "album": {"__model__": "Album", "uri": "spotify:album:5lSLGYViKHz22S8gEXz9Vc", "name": "112", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7urq0VfqxEYEEiZUkebXT4", "name": "112"}], "date": "1996"}, "track_no": 3, "disc_no": 0, "date": "1996", "length": 257000, "bitrate": 320}], "spotify:track:44QrzYVAHFC9WMN91GEo9H": [{"__model__": "Track", "uri": "spotify:track:44QrzYVAHFC9WMN91GEo9H", "name": "Take Our Time", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0TImkz4nPqjegtVSMZnMRq", "name": "TLC"}], "album": {"__model__": "Album", "uri": "spotify:album:5eg56dCpFn32neJak2vk0f", "name": "Crazysexycool", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0TImkz4nPqjegtVSMZnMRq", "name": "TLC"}], "date": "1994"}, "track_no": 13, "disc_no": 0, "date": "1994", "length": 274000, "bitrate": 320}], "spotify:track:3xWWs8xnzh3sg7F6KlhfSC": [{"__model__": "Track", "uri": "spotify:track:3xWWs8xnzh3sg7F6KlhfSC", "name": "Shhh", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5VfqJBmXcf6ZqXoGij5qTE", "name": "Tevin Campbell"}], "album": {"__model__": "Album", "uri": "spotify:album:3hwPsvBmnFXv5qFueDDUjN", "name": "The Best of Tevin Campbell", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5VfqJBmXcf6ZqXoGij5qTE", "name": "Tevin Campbell"}], "date": "2001"}, "track_no": 3, "disc_no": 0, "date": "2001", "length": 295000, "bitrate": 320}], "spotify:track:125dAqUSmX1nOG50fBz9vb": [{"__model__": "Track", "uri": "spotify:track:125dAqUSmX1nOG50fBz9vb", "name": "Beauty", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1255GTUKNCLCTvH9ctD4cT", "name": "Dru Hill"}], "album": {"__model__": "Album", "uri": "spotify:album:6L5uROBQ5wy3MOPI334RHE", "name": "Enter The Dru", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1255GTUKNCLCTvH9ctD4cT", "name": "Dru Hill"}], "date": "1998"}, "track_no": 14, "disc_no": 0, "date": "1998", "length": 273000, "bitrate": 320}], "spotify:track:4zAxfkmJqsaHqFu1YPMS5a": [{"__model__": "Track", "uri": "spotify:track:4zAxfkmJqsaHqFu1YPMS5a", "name": "You\'re Always On My Mind", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2NmK5FyrQ18HOPXq1UBzqa", "name": "SWV"}], "album": {"__model__": "Album", "uri": "spotify:album:2BBrAtWY0c6dPio5b2JYFK", "name": "It\'s About Time", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2NmK5FyrQ18HOPXq1UBzqa", "name": "SWV"}], "date": "1992"}, "track_no": 5, "disc_no": 0, "date": "1992", "length": 317000, "bitrate": 320}], "spotify:track:2PtwvKN5m8B0HVel2kOdoX": [{"__model__": "Track", "uri": "spotify:track:2PtwvKN5m8B0HVel2kOdoX", "name": "Lose Control", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3wVllS5itPK6rpHwfvNce4", "name": "Silk"}], "album": {"__model__": "Album", "uri": "spotify:album:1ujRHjYVLKXK7do7CnahUQ", "name": "Lose Control", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3wVllS5itPK6rpHwfvNce4", "name": "Silk"}], "date": "1992"}, "track_no": 8, "disc_no": 0, "date": "1992", "length": 315000, "bitrate": 320}], "spotify:track:6s4xndGKUhW0xXPYvFlwcL": [{"__model__": "Track", "uri": "spotify:track:6s4xndGKUhW0xXPYvFlwcL", "name": "Other Side Of The Game", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7IfculRW2WXyzNQ8djX8WX", "name": "Erykah Badu"}], "album": {"__model__": "Album", "uri": "spotify:album:3qr4pTBWEU1SVf01j6RAx3", "name": "Baduizm", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7IfculRW2WXyzNQ8djX8WX", "name": "Erykah Badu"}], "date": "1997"}, "track_no": 4, "disc_no": 0, "date": "1997", "length": 394000, "bitrate": 320}], "spotify:track:19asXa48FNoDzO8PaQm9MN": [{"__model__": "Track", "uri": "spotify:track:19asXa48FNoDzO8PaQm9MN", "name": "Softest Place On Earth", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5z2cHsOmmmWcAPNG1oEhw0", "name": "Xscape"}], "album": {"__model__": "Album", "uri": "spotify:album:2vURwAnzdxnAlocCPmLG95", "name": "Traces Of My Lipstick", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5z2cHsOmmmWcAPNG1oEhw0", "name": "Xscape"}], "date": "1998"}, "track_no": 3, "disc_no": 0, "date": "1998", "length": 257000, "bitrate": 320}], "spotify:track:21fXrzSxu2y51Yqf57QycI": [{"__model__": "Track", "uri": "spotify:track:21fXrzSxu2y51Yqf57QycI", "name": "Happily Ever After", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5aEWnrN8h3MhuFUPRfaVuy", "name": "Case"}], "album": {"__model__": "Album", "uri": "spotify:album:3UuOV0067Agbr3L9bE1D9K", "name": "Personal Conversation", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5aEWnrN8h3MhuFUPRfaVuy", "name": "Case"}], "date": "1999"}, "track_no": 2, "disc_no": 0, "date": "1999", "length": 276000, "bitrate": 320}], "spotify:track:4OXAYBy41owXhbOoi932y0": [], "spotify:track:2dnPoLlcwJFtFm1pps3Bm0": [{"__model__": "Track", "uri": "spotify:track:2dnPoLlcwJFtFm1pps3Bm0", "name": "Scandalous", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j", "name": "Prince"}], "album": {"__model__": "Album", "uri": "spotify:album:2FwzHgJ4XaPhC19Y0uL6SK", "name": "Batman", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j", "name": "Prince"}], "date": "1989"}, "track_no": 8, "disc_no": 0, "date": "1989", "length": 376000, "bitrate": 320}], "spotify:track:2gQ3lDcFYa3yFOkaw8PtuO": [{"__model__": "Track", "uri": "spotify:track:2gQ3lDcFYa3yFOkaw8PtuO", "name": "Anytime", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6k0IBR0lU42s2GYpNX7kA9", "name": "Brian McKnight"}], "album": {"__model__": "Album", "uri": "spotify:album:7qxIzUF6FoGTu62oeRdNFd", "name": "Anytime", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6k0IBR0lU42s2GYpNX7kA9", "name": "Brian McKnight"}], "date": "1997"}, "track_no": 1, "disc_no": 0, "date": "1997", "length": 273000, "bitrate": 320}], "spotify:track:5mCQirG6bW3iDN0gpdoxrP": [{"__model__": "Track", "uri": "spotify:track:5mCQirG6bW3iDN0gpdoxrP", "name": "Use Your Heart", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2NmK5FyrQ18HOPXq1UBzqa", "name": "SWV"}], "album": {"__model__": "Album", "uri": "spotify:album:2QHtc53nHnTTQip9d3VmoP", "name": "Best Of SWV", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2NmK5FyrQ18HOPXq1UBzqa", "name": "SWV"}], "date": "2001"}, "track_no": 13, "disc_no": 0, "date": "2001", "length": 289000, "bitrate": 320}], "spotify:track:5xLDmkobOw674TLTBBmnuN": [{"__model__": "Track", "uri": "spotify:track:5xLDmkobOw674TLTBBmnuN", "name": "I Get Lonely", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4qwGe91Bz9K2T8jXTZ815W", "name": "Janet Jackson"}], "album": {"__model__": "Album", "uri": "spotify:album:6ZANEjETQ9L9pjBuvOAhCQ", "name": "The Velvet Rope", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4qwGe91Bz9K2T8jXTZ815W", "name": "Janet Jackson"}], "date": "1997"}, "track_no": 18, "disc_no": 0, "date": "1997", "length": 318000, "bitrate": 320}], "spotify:track:02D9uD9WQb834Lb54xCvDS": [{"__model__": "Track", "uri": "spotify:track:02D9uD9WQb834Lb54xCvDS", "name": "Love U 4 Life", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1eNkUXHPaXyuyC8NAgzykK", "name": "Jodeci"}], "album": {"__model__": "Album", "uri": "spotify:album:5tincGtQaRD1QoXAT0PELz", "name": "The Show, The After Party, The Hotel", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1eNkUXHPaXyuyC8NAgzykK", "name": "Jodeci"}], "date": "1995"}, "track_no": 20, "disc_no": 0, "date": "1995", "length": 290000, "bitrate": 320}], "spotify:track:4XhrowM5IKGCRrY2HzYBH3": [{"__model__": "Track", "uri": "spotify:track:4XhrowM5IKGCRrY2HzYBH3", "name": "All I Do Is Think of You", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5r7mGejWrGSxheAYEIfSwI", "name": "Troop"}], "album": {"__model__": "Album", "uri": "spotify:album:7JejBAyNL3oKVt1tNHLosr", "name": "Attitude", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5r7mGejWrGSxheAYEIfSwI", "name": "Troop"}], "date": "1989"}, "track_no": 6, "disc_no": 0, "date": "1989", "length": 229000, "bitrate": 320}], "spotify:track:2zItQNJrVrTioXTXWiI2ed": [{"__model__": "Track", "uri": "spotify:track:2zItQNJrVrTioXTXWiI2ed", "name": "When Can I See You", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3aVoqlJOYx31lH1gibGDt3", "name": "Babyface"}], "album": {"__model__": "Album", "uri": "spotify:album:0PkkUYZMtKN25rvrt50EhX", "name": "For The Cool In You", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3aVoqlJOYx31lH1gibGDt3", "name": "Babyface"}], "date": "1993"}, "track_no": 7, "disc_no": 0, "date": "1993", "length": 230000, "bitrate": 320}], "spotify:track:3efy0g1He1zJ4B94VMbbBo": [{"__model__": "Track", "uri": "spotify:track:3efy0g1He1zJ4B94VMbbBo", "name": "Baby I\'m Ready", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0G7OYsWptjRzVFT1AxP8TS", "name": "Levert"}], "album": {"__model__": "Album", "uri": "spotify:album:65gxRNu9BBpc0M1KydPtta", "name": "Rope A Dope Style", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0G7OYsWptjRzVFT1AxP8TS", "name": "Levert"}], "date": "1990"}, "track_no": 8, "disc_no": 0, "date": "1990", "length": 322000, "bitrate": 320}], "spotify:track:3bhZuw0gZRLEOGeggjWzpP": [{"__model__": "Track", "uri": "spotify:track:3bhZuw0gZRLEOGeggjWzpP", "name": "You Put a Move on My Heart", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0le01dl1WllSHhjEXRl4in", "name": "Tamia"}], "album": {"__model__": "Album", "uri": "spotify:album:3PFEg7sWLEMuS3nyTIguEV", "name": "Tamia", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0le01dl1WllSHhjEXRl4in", "name": "Tamia"}], "date": "1998"}, "track_no": 13, "disc_no": 0, "date": "1998", "length": 373000, "bitrate": 320}], "spotify:track:2cXdUg5c57C4b2qLCqHAOX": [{"__model__": "Track", "uri": "spotify:track:2cXdUg5c57C4b2qLCqHAOX", "name": "Insatiable", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j", "name": "Prince"}], "album": {"__model__": "Album", "uri": "spotify:album:0qcgEPOg67XnxGizdAAcGa", "name": "Diamonds and Pearls", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5a2EaR3hamoenG9rDuVn8j", "name": "Prince"}], "date": "1991"}, "track_no": 12, "disc_no": 0, "date": "1991", "length": 400000, "bitrate": 320}], "spotify:track:5yMQERKmNx6ajo4qHi1KT2": [{"__model__": "Track", "uri": "spotify:track:5yMQERKmNx6ajo4qHi1KT2", "name": "Sending My Love", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6cjSmkVvMvyE6tCAo1M9Is", "name": "Zhan\\u00e9"}], "album": {"__model__": "Album", "uri": "spotify:album:01FqJwpa24Vfb8DI6sZI6B", "name": "Pronounced Jah-Nay", "artists": [{"__model__": "Artist", "uri": "spotify:artist:6cjSmkVvMvyE6tCAo1M9Is", "name": "Zhan\\u00e9"}], "date": "1994"}, "track_no": 4, "disc_no": 0, "date": "1994", "length": 221000, "bitrate": 320}], "spotify:track:0JukF7Yf5qF10ntu6lpJ5I": [{"__model__": "Track", "uri": "spotify:track:0JukF7Yf5qF10ntu6lpJ5I", "name": "Stay", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1eNkUXHPaXyuyC8NAgzykK", "name": "Jodeci"}], "album": {"__model__": "Album", "uri": "spotify:album:2u41wsU4YVTbtOTCapKLe7", "name": "Forever My Lady", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1eNkUXHPaXyuyC8NAgzykK", "name": "Jodeci"}], "date": "1991"}, "track_no": 1, "disc_no": 0, "date": "1991", "length": 312000, "bitrate": 320}], "spotify:track:5nS5mDWAyce9gjD8crHcZX": [{"__model__": "Track", "uri": "spotify:track:5nS5mDWAyce9gjD8crHcZX", "name": "I Gotta Be", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7Aq8lpLMSt1Zxu56pe9bmp", "name": "Jagged Edge"}], "album": {"__model__": "Album", "uri": "spotify:album:71V8liHaRbtSZ2ZGkjcqZB", "name": "A Jagged Era", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7Aq8lpLMSt1Zxu56pe9bmp", "name": "Jagged Edge"}], "date": "1997"}, "track_no": 3, "disc_no": 0, "date": "1997", "length": 215000, "bitrate": 320}], "spotify:track:13fIg7eB5MP9slSQayHhjH": [{"__model__": "Track", "uri": "spotify:track:13fIg7eB5MP9slSQayHhjH", "name": "Let\'s Stay Together - Midnight Mix", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1kjO72M26jZkv0aaGxJaov", "name": "Eric Ben\\u00e9t"}], "album": {"__model__": "Album", "uri": "spotify:album:0HgmysKc552d8G01TdbUa3", "name": "True to Myself", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1kjO72M26jZkv0aaGxJaov", "name": "Eric Ben\\u00e9t"}], "date": "1996"}, "track_no": 4, "disc_no": 0, "date": "1996", "length": 287000, "bitrate": 320}], "spotify:track:0KHHrBbdvuJ6knLxj7dqkw": [{"__model__": "Track", "uri": "spotify:track:0KHHrBbdvuJ6knLxj7dqkw", "name": "All the Times (feat. Faith Evans, Coko & Missy Elliott)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1J3nCyJ2KtGhh9JuywOrVD", "name": "LSG"}, {"__model__": "Artist", "uri": "spotify:artist:2wIVse2owClT7go1WT98tk", "name": "Missy Elliott"}, {"__model__": "Artist", "uri": "spotify:artist:4DXQx61f5u5Ulazrx2iUks", "name": "Coko"}, {"__model__": "Artist", "uri": "spotify:artist:5NDMothbpdpq2xHqSjrrWn", "name": "Faith Evans"}], "album": {"__model__": "Album", "uri": "spotify:album:3BrZT0UzGMi2qhI5WExT8Y", "name": "Levert.Sweat.Gill", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1J3nCyJ2KtGhh9JuywOrVD", "name": "LSG"}], "date": "1997"}, "track_no": 6, "disc_no": 0, "date": "1997", "length": 292000, "bitrate": 320}], "spotify:track:0BEUswN4YNySo3KRVrAqCq": [{"__model__": "Track", "uri": "spotify:track:0BEUswN4YNySo3KRVrAqCq", "name": "Let\'s Chill", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2IBPIcSkvQZyoaVfoyZKE8", "name": "Guy"}], "album": {"__model__": "Album", "uri": "spotify:album:5b5MEeTdOAJHl5ICZW8QMs", "name": "The Future", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2IBPIcSkvQZyoaVfoyZKE8", "name": "Guy"}], "date": "1990"}, "track_no": 5, "disc_no": 0, "date": "1990", "length": 324000, "bitrate": 320}], "spotify:track:3UGNdLrhhsK0SY9gNqe8TT": [{"__model__": "Track", "uri": "spotify:track:3UGNdLrhhsK0SY9gNqe8TT", "name": "All The Things (Your Man Won\'t Do)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3zTOe1BtyTkwNvYZOxXktX", "name": "Joe"}], "album": {"__model__": "Album", "uri": "spotify:album:7Kb0pU8LBYOoI6hoj7ajHJ", "name": "All That I Am", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3zTOe1BtyTkwNvYZOxXktX", "name": "Joe"}], "date": "1997"}, "track_no": 1, "disc_no": 0, "date": "1997", "length": 381000, "bitrate": 320}], "spotify:track:78fii1y8vrGtn5YtHEnpaN": [{"__model__": "Track", "uri": "spotify:track:78fii1y8vrGtn5YtHEnpaN", "name": "Ready Or Not", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4UPcJIhr5K5fPsm4itqT7E", "name": "After 7"}], "album": {"__model__": "Album", "uri": "spotify:album:5L5q7gpKSLpMXd06AoX1U7", "name": "The Very Best Of After 7", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4UPcJIhr5K5fPsm4itqT7E", "name": "After 7"}], "date": "1997"}, "track_no": 2, "disc_no": 0, "date": "1997", "length": 273000, "bitrate": 320}], "spotify:track:4cVWa9vuwfPOukSIZN9012": [{"__model__": "Track", "uri": "spotify:track:4cVWa9vuwfPOukSIZN9012", "name": "How Many Ways", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3X458ddYA2YcVWuVIGGOYe", "name": "Toni Braxton"}], "album": {"__model__": "Album", "uri": "spotify:album:73ojqvZakvdkBxSg9pyPqz", "name": "Toni Braxton", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3X458ddYA2YcVWuVIGGOYe", "name": "Toni Braxton"}], "date": "1993"}, "track_no": 9, "disc_no": 0, "date": "1993", "length": 288000, "bitrate": 320}], "spotify:track:1e5DTpM1WeggytDXbphivX": [{"__model__": "Track", "uri": "spotify:track:1e5DTpM1WeggytDXbphivX", "name": "Kissin\' You", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1urjDGTd4iBze91Z1W1gu7", "name": "Total"}], "album": {"__model__": "Album", "uri": "spotify:album:4uLoT81NWVFx09mkfnGCHb", "name": "Total", "artists": [{"__model__": "Artist", "uri": "spotify:artist:1urjDGTd4iBze91Z1W1gu7", "name": "Total"}], "date": "1996"}, "track_no": 5, "disc_no": 0, "date": "1996", "length": 282000, "bitrate": 320}], "spotify:track:6SkGfPa77E4giShVbk9N6R": [{"__model__": "Track", "uri": "spotify:track:6SkGfPa77E4giShVbk9N6R", "name": "Soon as I Get Home", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5NDMothbpdpq2xHqSjrrWn", "name": "Faith Evans"}], "album": {"__model__": "Album", "uri": "spotify:album:36G7gDkkRckUGU7lgG6nev", "name": "Faith", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5NDMothbpdpq2xHqSjrrWn", "name": "Faith Evans"}], "date": "1995"}, "track_no": 8, "disc_no": 0, "date": "1995", "length": 324000, "bitrate": 320}], "spotify:track:3kVIFDE3G89I2RPVkiRaRj": [{"__model__": "Track", "uri": "spotify:track:3kVIFDE3G89I2RPVkiRaRj", "name": "Cupid", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7urq0VfqxEYEEiZUkebXT4", "name": "112"}], "album": {"__model__": "Album", "uri": "spotify:album:5lSLGYViKHz22S8gEXz9Vc", "name": "112", "artists": [{"__model__": "Artist", "uri": "spotify:artist:7urq0VfqxEYEEiZUkebXT4", "name": "112"}], "date": "1996"}, "track_no": 5, "disc_no": 0, "date": "1996", "length": 252000, "bitrate": 320}], "spotify:track:6x53SJOV1PAZ8ZUwH4NFXQ": [{"__model__": "Track", "uri": "spotify:track:6x53SJOV1PAZ8ZUwH4NFXQ", "name": "Knockin\' da Boots", "artists": [{"__model__": "Artist", "uri": "spotify:artist:21gGD9dUby5ls0belA1wqZ", "name": "H-Town"}], "album": {"__model__": "Album", "uri": "spotify:album:1XXRMULRjSHEmWNxk9G1Cd", "name": "Fever for da Flavor", "artists": [{"__model__": "Artist", "uri": "spotify:artist:21gGD9dUby5ls0belA1wqZ", "name": "H-Town"}], "date": "1993"}, "track_no": 10, "disc_no": 0, "date": "1993", "length": 331000, "bitrate": 320}], "spotify:track:2yOm4lN7aTygtXanJFNFWU": [{"__model__": "Track", "uri": "spotify:track:2yOm4lN7aTygtXanJFNFWU", "name": "Any Time, Any Place", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4qwGe91Bz9K2T8jXTZ815W", "name": "Janet Jackson"}], "album": {"__model__": "Album", "uri": "spotify:album:7qIuZgsMkRuh7rzi4qVcpg", "name": "Janet", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4qwGe91Bz9K2T8jXTZ815W", "name": "Janet Jackson"}], "date": "1993"}, "track_no": 25, "disc_no": 0, "date": "1993", "length": 428000, "bitrate": 320}], "spotify:track:5CdJveJgiGXoGwDFqF6afp": [{"__model__": "Track", "uri": "spotify:track:5CdJveJgiGXoGwDFqF6afp", "name": "Freak Me", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3wVllS5itPK6rpHwfvNce4", "name": "Silk"}], "album": {"__model__": "Album", "uri": "spotify:album:1ujRHjYVLKXK7do7CnahUQ", "name": "Lose Control", "artists": [{"__model__": "Artist", "uri": "spotify:artist:3wVllS5itPK6rpHwfvNce4", "name": "Silk"}], "date": "1992"}, "track_no": 5, "disc_no": 0, "date": "1992", "length": 275000, "bitrate": 320}], "spotify:track:51QxenFmXlJXUN9mpvxlaL": [{"__model__": "Track", "uri": "spotify:track:51QxenFmXlJXUN9mpvxlaL", "name": "Nobody\'s Supposed to Be Here", "artists": [{"__model__": "Artist", "uri": "spotify:artist:601893mmW5hl1FBOykWZHG", "name": "Deborah Cox"}], "album": {"__model__": "Album", "uri": "spotify:album:16FPcGpqQfcvqpCLvZsWWD", "name": "One Wish", "artists": [{"__model__": "Artist", "uri": "spotify:artist:601893mmW5hl1FBOykWZHG", "name": "Deborah Cox"}], "date": "1998"}, "track_no": 3, "disc_no": 0, "date": "1998", "length": 262000, "bitrate": 320}], "spotify:track:1CrWoWuxupYY1vi1XRdpBX": [{"__model__": "Track", "uri": "spotify:track:1CrWoWuxupYY1vi1XRdpBX", "name": "Something in My Heart", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4D0WfOUqTzqKysXt33VL3j", "name": "Michel\'le"}], "album": {"__model__": "Album", "uri": "spotify:album:2PngFAB0v6216314TZRcGb", "name": "Michel\'le", "artists": [{"__model__": "Artist", "uri": "spotify:artist:4D0WfOUqTzqKysXt33VL3j", "name": "Michel\'le"}], "date": "1989"}, "track_no": 5, "disc_no": 0, "date": "1989", "length": 353000, "bitrate": 320}], "spotify:track:4htbAEZWr53J08x3dUv00W": [{"__model__": "Track", "uri": "spotify:track:4htbAEZWr53J08x3dUv00W", "name": "Giving Him Something He Can Feel", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5fikk4h5qbEebqK2Fc6e48", "name": "En Vogue"}], "album": {"__model__": "Album", "uri": "spotify:album:7d2qNq4zap02SoWdvr0caA", "name": "Funky Divas", "artists": [{"__model__": "Artist", "uri": "spotify:artist:5fikk4h5qbEebqK2Fc6e48", "name": "En Vogue"}], "date": "1992"}, "track_no": 6, "disc_no": 0, "date": "1992", "length": 236000, "bitrate": 320}], "spotify:track:2rkVoKVEMuct8SmEIGKzBw": [{"__model__": "Track", "uri": "spotify:track:2rkVoKVEMuct8SmEIGKzBw", "name": "Before I Let You Go", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2P3cjUru4H3fhSXXNxE9kA", "name": "Blackstreet"}], "album": {"__model__": "Album", "uri": "spotify:album:26yshjRCAGf1mLJtfTrlsb", "name": "Blackstreet", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2P3cjUru4H3fhSXXNxE9kA", "name": "Blackstreet"}], "date": "1994"}, "track_no": 12, "disc_no": 0, "date": "1994", "length": 300000, "bitrate": 320}], "spotify:track:3xhXKRGahWzcXF8rD5gUvd": [{"__model__": "Track", "uri": "spotify:track:3xhXKRGahWzcXF8rD5gUvd", "name": "Nothing Even Matters", "artists": [{"__model__": "Artist", "uri": "spotify:artist:336vr2M3Va0FjyvB55lJEd", "name": "D\'Angelo"}, {"__model__": "Artist", "uri": "spotify:artist:2Mu5NfyYm8n5iTomuKAEHl", "name": "Ms. Lauryn Hill"}], "album": {"__model__": "Album", "uri": "spotify:album:2Uc0HAF0Cj0LAgyzYZX5e3", "name": "The Miseducation of Lauryn Hill", "artists": [{"__model__": "Artist", "uri": "spotify:artist:2Mu5NfyYm8n5iTomuKAEHl", "name": "Ms. Lauryn Hill"}], "date": "1998"}, "track_no": 12, "disc_no": 0, "date": "1998", "length": 351000, "bitrate": 320}], "spotify:track:6xYd4zCVeSp80Un2Rl9wDs": [{"__model__": "Track", "uri": "spotify:track:6xYd4zCVeSp80Un2Rl9wDs", "name": "Cruisin\' - Carl Mackintosh Mix", "artists": [{"__model__": "Artist", "uri": "spotify:artist:336vr2M3Va0FjyvB55lJEd", "name": "D\'Angelo"}], "album": {"__model__": "Album", "uri": "spotify:album:1Owp8VOaFEk4r7zkvGOHmE", "name": "Brown Sugar", "artists": [{"__model__": "Artist", "uri": "spotify:artist:336vr2M3Va0FjyvB55lJEd", "name": "D\'Angelo"}], "date": "1995"}, "track_no": 7, "disc_no": 0, "date": "1995", "length": 385000, "bitrate": 320}], "spotify:track:4lRrk574qIHpoEEKC1zuam": [{"__model__": "Track", "uri": "spotify:track:4lRrk574qIHpoEEKC1zuam", "name": "At Your Best (You Are Love)", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0urTpYCsixqZwgNTkPJOJ4", "name": "Aaliyah"}], "album": {"__model__": "Album", "uri": "spotify:album:3E3QRjL4Cre7Krms420Irl", "name": "Age Ain\'t Nothing But A Number", "artists": [{"__model__": "Artist", "uri": "spotify:artist:0urTpYCsixqZwgNTkPJOJ4", "name": "Aaliyah"}], "date": "1994"}, "track_no": 6, "disc_no": 0, "date": "1994", "length": 291000, "bitrate": 320}]}}'
  • The attempt to lookup spotify:playlists:featured returns an empty result because Mopidy-Spotify doesn't support library.lookup() of Ref.Directory types. In which case, calling library.browse() instead makes perfect sense.
  • Later it takes one of the results, the Ref.Playlist spotify:playlist:37i9dQZF1DWVEvzGeX3eRs, and does a lookup of that. This returns a list of Tracks that it could presumably use. Why in that case does it still also do a library.browse()?

@jaedb
Copy link
Owner

jaedb commented Feb 11, 2021

@kingosticks the sole purpose (rightly or wrongly) of library.lookup is to fetch the name of the URI which we're displaying. I can see that, in the case of Mopidy-Spotify, there is enough data in the library.browse response to achieve everything Iris needs.

However many backends are not as complete as Mopidy-Spotify (I'm looking at you, Mopidy-Dleyna) and library.lookup returns an empty array, whereas library.browse returns Ref objects.

So for Iris to deliver a consistent experience across these backends, these double-up requests are necessary. A workaround could be to call library.browse first, and if there isn't sufficient data then call library.lookup as well, but this would need some scoping.

@kingosticks
Copy link
Contributor

I'm not sure I entirely follow that sequence (I thought the ideal sequence would always be lookup first, and if that's empty then fallback to browse) but I appreciate the backends provide inconsistent levels of support so it's not as simple as we'd like. I just wanted to double check it was as you expected. Cheers for the explanation.

@MrSurly
Copy link
Author

MrSurly commented Feb 11, 2021

FYI, adding caching to the mopidy-tidal backend eliminated the performance issues that spawned all of this.

@jaedb
Copy link
Owner

jaedb commented Feb 12, 2021

I'm looking at how we can improve this. The benefit of the double-up is that objects that are a Track Ref object is fetched, giving the full track object (for a more complete experience). But the cost is performance.

I would like to implement some kind of 'fetch full object on render' so we only need to get full objects when a track/album/playlist/etc is in view. But that is a separate piece of work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants