Announcement

Collapse
No announcement yet.

The Spotty Spotify implementation

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts

  • Originally posted by ButC
    ... And in the android app I still cannot see a way to save or follow the Daily mixes. Is it a Spotify for iOS only feature, maybe? I noticed that it can be done in the desktop app as well. But as Michael points out, they're static, right?
    I don't have an android device to test and confirm so I will leave it to someone else to advise. The Daily mixes are static though. Since we cannot delete the mixes from the LMS app you could just go to the desktop app and add today's mix and delete yesterday's mix from there. Not ideal but doable. I enjoy the daily mixes but I also enjoy the Genre and Mood mixes which are periodically updated along with my Discover Weekly and Release Radar. Between all of those playlists I am usually covered whenever I feel like hearing something new.

    Comment


    • Spotty v0.7.5 - preparing for a 1.0 release...

      Here's the next update for you brave testers:
      • split albums into albums/compilations/singles
      • improve handling of credential changes
      • show error 429 info, should it arise (rate limit exceeded)


      I assume we still haven't seen the "429 - rate limit exceeded" error. But if you see unexpected behavior, please check the Spotty settings. There would be a message telling you about the 429 error (if it happened). I'd be very much interested to get log snippets in that case. As I plan to release this plugin on the main repository, soon, the probability of issues due to too many API requests will rise.
      Michael

      "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
      (LMS: Settings/Information)

      Comment


      • Originally posted by mherger
        Here's the next update for you brave testers:
        • split albums into albums/compilations/singles
        • improve handling of credential changes
        • show error 429 info, should it arise (rate limit exceeded)
        Cool! And the new release categories seems to work very well.
        /Stig
        rockland.dk - last.fm/user/rockland - discogs.com/user/StigNygaard - flickr.com/photos/stignygaard
        Server: LMS 8.1.1(LmsUpdate) - 1610364019 @ Jan 14 2021 on Synology DS716+II (DSM6.2+Perl5.24). Clients: RPi3 (Max2Play, 7" touch, HiFiBerry Digi+ Pro), SB Touch, OrangeSqueeze/SqueezePlayer. Main HiFi: Marantz PM6005 & F3/Lyd Audiovector 2.

        Try my Art Grabr for fetching big cover-art from various sites - And Album Linkr for a better last.fm desktop browser experience...

        Comment


        • Originally posted by Stig Nygaard
          Cool! And the new release categories seems to work very well.
          Good to know!

          I think I mis-interpreted my comment in the code. The albums list does indeed come with an album_type value. But that value is not always what people would expect. The classic Best Of vs. Various Artists issue: is a Best Of considered a compilation? Or is a compilation an album with various artists?... Spotify's interpretation is that a Best Of is a compilation.
          Michael

          "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
          (LMS: Settings/Information)

          Comment


          • Originally posted by mherger
            Is a Best Of considered a compilation? Or is a compilation an album with various artists?... Spotify's interpretation is that a Best Of is a compilation.
            ...and I think most would agree with Spotify! That is certainly how I would expect a "best of" to be listed.

            I would define a compilation as an album "compiled" from tracks previously released on other albums, or as singles, regardless of the performer.

            Cambridge English Dictionary:

            "compile"
            kəmˈpʌɪl
            verb
            produce (a list or book) by assembling information collected from other sources.
            Matt
            SqueezeBoxes: 2 x piCorePlayers
            Server: One of the piCorePlayers
            Livingroom: pCP, Linn LP12, Naim 72/Hi-cap/110/Headline amp, B&W CM2 speakers
            Dining: piCorePlayer, Steljes NS3 active speakers

            Comment


            • Originally posted by TheLastMan
              ...and I think most would agree with Spotify! That is certainly how I would expect a "best of" to be listed.
              Heh... totally not how I deal with compilations. Wikipedia says:

              A compilation album comprises tracks which are compiled from other recordings, either previously released or unreleased. The tracks must be from several performers; if from several performers there may be a theme, topic or genre which links the tracks. When the tracks are by the same recording artist, it is considered an anthology, the album may be referred to as a retrospective album.
              Now we don't have the concept of anthologies...

              But then the same article lists the Greatest Hits top of the list of common types of compilations:

              "Greatest hits", "best of", or "singles collection" LPs, gathering together an artist's or a group's best-known songs. If the artist or group continues to record, compilers commonly include one or more previously unreleased tracks as an incentive for fans to buy the album, even if they already have the other material on the compilation.
              Not of much help. I'm confused.

              Michael

              "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
              (LMS: Settings/Information)

              Comment


              • Don't believe everything you read on Wikipedia!

                A "Compilation" album is a much broader term than the narrow definition here. Compilation is a process, not a thing, it is the act of compiling. The compilation of musical tracks is the act of gathering them together in one album. The compilation of poems or short stories is the act of gathering them together in one book.

                A "best of" is "compiled" from an artists previous recordings. "Various artists" albums are also "compiled" from those artists' previous recordings, either to fit a genre, mood or other theme.

                ... and don't get me started on "curated"!!
                Last edited by TheLastMan; 2017-06-28, 13:29.
                Matt
                SqueezeBoxes: 2 x piCorePlayers
                Server: One of the piCorePlayers
                Livingroom: pCP, Linn LP12, Naim 72/Hi-cap/110/Headline amp, B&W CM2 speakers
                Dining: piCorePlayer, Steljes NS3 active speakers

                Comment


                • Originally posted by maddymarc
                  I've had Spotty working pretty well for a few days. Well done, Michael! And thank you for keeping LMS up to date with Spotify!

                  I have noticed a strange thing though. I'm getting the nebulous "illegal file descriptor or filehandle" error piling up in the LMS log file when Spotty is playing. There will be many listed in a very short bit of time. Though there isn't any problem with the audio. Here's an example:

                  "[17-06-14 14:20:43.2904] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134. ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9ca5ee4)"

                  If I switch to local music the errors stop. I'm pretty sure I wasn't seeing these with the Triode-based Spotify Protocol Handler.

                  Any ideas what it could be?

                  Cheers!
                  Originally posted by mherger
                  What platform are you using this on?
                  Sorry for my late reply. LMS is running on a Win10 machine. Version 7.9.1 - 1496913376 @ Thu Jun 8 10:23:46 CUT 2017.
                  I have two hardware SBs and one piCorePlayer on a pi2B. They are all hardwired -- no wireless.

                  Comment


                  • Originally posted by maddymarc
                    Sorry for my late reply. LMS is running on a Win10 machine. Version 7.9.1 - 1496913376 @ Thu Jun 8 10:23:46 CUT 2017.
                    I have two hardware SBs and one piCorePlayer on a pi2B. They are all hardwired -- no wireless.
                    Oh, now I see it, too. I thought this would happen when skipping tracks, pausing etc. But it actually happens when letting a track play through. I'll have to investigate this. Thanks for the heads up!
                    Michael

                    "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
                    (LMS: Settings/Information)

                    Comment


                    • Originally posted by mherger
                      Here's the next update for you brave testers:
                      • split albums into albums/compilations/singles
                      • improve handling of credential changes
                      • show error 429 info, should it arise (rate limit exceeded)


                      I assume we still haven't seen the "429 - rate limit exceeded" error. But if you see unexpected behavior, please check the Spotty settings. There would be a message telling you about the 429 error (if it happened). I'd be very much interested to get log snippets in that case. As I plan to release this plugin on the main repository, soon, the probability of issues due to too many API requests will rise.
                      Spotty 0.8.0 running here, so far so good :-)
                      @ Home: LMS 7.9 on Raspberry Pi3 max2play, Squeezebox Touch, Squeezebox Radio, Squeezebox Boom, Denon AVR 2312, Apple TV4
                      @ Work: LMS 7.9 on Windows 10, Squeezebox Duet (2X), Squeezebox Classic, Denon AVR 1909

                      Comment


                      • Originally posted by strim
                        Spotty 0.8.0 running here, so far so good :-)
                        Here everything fine as well
                        MacOS 10.12.5 LMS 7.9.1

                        Comment


                        • Working perfectly

                          As always a big thankyou to Michael H.......working perfectly on Odroid XU4 using......

                          LMS 7.9.1

                          "Ubuntu"
                          VERSION="15.04 (Vivid Vervet)"

                          Best regards.

                          Comment


                          • NOt Loading log- in

                            HI Michael, decide to replace the old with the new today and have a little problem


                            Logitech Media Server Version: 7.9.1 - 1498799744 @ Fri Jun 30 05:24:42 CUT 2017
                            Hostname: Cooler-Master
                            IP: 192.168.1.***
                            HTTP Port: 9000
                            OS: Windows 10 - EN - cp1252
                            Platform: 8664
                            Perl Version: 5.14.1 - MSWin32-x86-multi-thread
                            Audio::Scan: 0.95
                            Database Version: DBD::SQLite 1.34_01 (sqlite 3.7.7.1)
                            Total Players Recognized: 1
                            Click image for larger version

Name:	9.png
Views:	1
Size:	7.2 KB
ID:	1562827

                            I try to enter my details and get this

                            Click image for larger version

Name:	8.png
Views:	1
Size:	89.1 KB
ID:	1562828

                            Any ideas?

                            ronnie
                            Last edited by Man in a van; 2017-07-01, 18:50.

                            Comment


                            • In the context menu, the option LastFM: Love this track always returns "Empty" for me.

                              The last lines from server.log:


                              [17-06-30 21:19:06.8633] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9aa0e9c)
                              [17-06-30 21:19:06.8649] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9aa0e9c)
                              [17-06-30 21:24:00.0166] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0180] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0197] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0211] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0225] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0238] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0249] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0267] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0280] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0292] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0304] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0317] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0330] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-06-30 21:24:00.0344] Slim::Networking::IO::Select::__ANON__ (131) Error: Select task failed calling Slim::Web::HTTP::sendStreamingResponse: illegal file descriptor or filehandle (either no attached file descriptor or illegal value): at /Slim/Networking/IO/Select.pm line 134.
                              ; fh=Slim::Web::HTTP::ClientConn=GLOB(0x9abae6c)
                              [17-07-01 05:31:58.6143] Slim::Utils::PluginManager::shutdownPlugins (418) Warning: error running Slim::Plugin::UPnP::Plugin->shutdownPlugin: Can't locate object method "shutdown" via package "Slim::Plugin::UPnP::MediaServer" at C:/PROGRA~1/SQUEEZ~1/server/Slim/Plugin/UPnP/Plugin.pm line 57.
                              [17-07-01 05:32:46.5519] main::init (387) Starting Logitech Media Server (v7.9.1, 1498651562, Wed Jun 28 12:15:37 CUT 2017) perl 5.014001 - MSWin32-x86-multi-thread
                              [17-07-01 05:33:07.6317] Slim::Utils::PluginManager::load (393) Warning: Couldn't call Slim::Plugin::UPnP::Plugin->initPlugin: Can't locate Net/IPv4Addr.pm in @INC (@INC contains: C:\ProgramData\Squeezebox\Cache\InstalledPlugins C:\PROGRA~1\SQUEEZ~1\server\Plugins\MusicArtistInf o\lib C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\MusicArtistInfo\lib C:\ProgramData\Squeezebox\Cache\InstalledPlugins C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\IckStreamPlugin\lib C:\PROGRA~1\SQUEEZ~1\server\CPAN\arch\5.14\MSWin32-x86-multi-thread C:\PROGRA~1\SQUEEZ~1\server\CPAN\arch\5.14\MSWin32-x86-multi-thread\auto C:\PROGRA~1\SQUEEZ~1\server\CPAN\arch\5.14.1\MSWin 32-x86-multi-thread C:\PROGRA~1\SQUEEZ~1\server\CPAN\arch\5.14.1\MSWin 32-x86-multi-thread\auto C:\PROGRA~1\SQUEEZ~1\server\CPAN\arch\MSWin32-x86-multi-thread C:\PROGRA~1\SQUEEZ~1\server\CPAN\arch\5.14 C:\PROGRA~1\SQUEEZ~1\server\lib C:\PROGRA~1\SQUEEZ~1\server\CPAN C:/PROGRA~1/SQUEEZ~1/server C:\WINDOWS\TEMP\pdk-SYSTEM-2988\ C:\PROGRA~1\SQUEEZ~1\server) at C:/PROGRA~1/SQUEEZ~1/server/Slim/Plugin/UPnP/Discovery.pm line 15.
                              BEGIN failed--compilation aborted at C:/PROGRA~1/SQUEEZ~1/server/Slim/Plugin/UPnP/Discovery.pm line 15.
                              Compilation failed in require at C:/PROGRA~1/SQUEEZ~1/server/Slim/Plugin/UPnP/Plugin.pm line 34.
                              [17-07-01 05:33:23.6989] Plugins::IckStreamPlugin::PlayerManager::_performP layerInitialization (336) Initializing SqueezeLite (D0F6BCF8-9E75-461E-A000-56E83CCFC262)
                              //Johan

                              Windows 10
                              Logitech Media Server Version: 8.3.0 - 1666760196 @ Wed Oct 26 07:17:03 WEDT 2022
                              Local Player Plugin (Squeezelite)
                              Intel Compute Stick M3

                              Comment


                              • uninstall official Spotify plugin

                                Installed the 'new' Spotty and uninstalled the Spotify control handler, but I guess the official Spottify plugin can be uninstalled too?


                                Click image for larger version

Name:	Knipsel.JPG
Views:	1
Size:	22.4 KB
ID:	1562833
                                Last edited by Nomen Nescio; 2017-07-01, 19:34.
                                LMS 8.3 (latest nightly) on Windows 10 (latest) as a Server (and Raspberry PiCoreplayer as backup LMS)
                                Squeexebox Touch's
                                Squeezebox Boom's
                                Squeezebox Radio's
                                Squeezebox Classic
                                Picoreplayer's

                                Comment

                                Working...
                                X
                                😀
                                🥰
                                🤢
                                😎
                                😡
                                👍
                                👎