Announcement

Collapse
No announcement yet.

SqueezeBox plugin V2.0.0 beta 2

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #76
    I have to look into it if I can always get the sync states... would an API call returning a status be fine as I am not sure were I could show it otherwise in the current HS2 devices?

    Comment


      #77
      Originally posted by kenm View Post
      I get the same error (ok, similar text) when I select the Pandora app. It appears to have something to do with where the image files are stored for apps and possibly some expected default base path.

      In fact, the Pandora icon doesn't show up as album art when using the plug-in MusicAPI but it does show up on the SB Radio display.

      Let me know what I can do to help debug.

      Ken
      When I checked a while back the pandora "song info" contained a full url for the artwork, which is what the plug-in was using to retrieve the image. Are you using SB Server 7.5?

      Comment


        #78
        Originally posted by heatvent View Post
        Have another question. I want to have a button and indicator in HSTouch to select/show which squeezeboxes are currently synchronized. I see that you can sync/unsync either via an event action or using the SB API. However, is there a way to see if a given player is synchronized? I don't really care which player they are synchronized to. I plan to have sqeezeplay on my HS PC and name it server and then sync each squeezebox/zone to that instance of squeezeplay. Then use HSTouch to control the server squeezeplay and the other zones should follow suit. Or is there a better way to do this?
        Heatvent, sorry for no answer. The solution you found in post #3 is similar to what I did. For the sync status I have created an interim solution till pcp (maybe) add this as a feature: I created a vitual switch that is controlled by a script to monitor the sync status. On = in sync, Off = no sync. The script (and hence the sync/unsync) is triggered by a button: ref above you call the script as Squeezebox_sync.vb("Sync","Squeezeslave 2") where "Sync" is the sub division and "Squeezeslave 2" is the unit you want to sync to.

        The script itself:

        Code:
        Sub Sync(ByVal parm As Object)
        
            Dim hspi As Object = hs.plugin("SqueezeBox")
        
            If hspi Is Nothing Then
                hs.WriteLog("SqueezeBox Script", "Plugin not found!")
                Exit Sub
            Else
                hs.WriteLog("SqueezeBox Script", "Found plugin " & hspi.Name()) 
            End If
        	
            
            If hs.isoff("P1") then
                hspi.PlayerSendCLICommand(parm, "sync 1")
                hs.execx10("P1","on",0)
            Else
                hspi.PlayerSendCLICommand(parm, "sync -")
                hs.execx10("P1","off",0)		
            End If
        
        End Sub
        where P1 is the virtual switch in the hs server. If you want to monitor the sync status you just monitor P1 if on or off. Let me know if any further explanation is needed. Not a bulletproof solution, but it works!
        Last edited by ; May 20, 2010, 01:03 AM.

        Comment


          #79
          Originally posted by pcp View Post
          I have to look into it if I can always get the sync states... would an API call returning a status be fine as I am not sure were I could show it otherwise in the current HS2 devices?
          I think that would at the very least be useful to check status/update a virutal device.

          What I may end up doing after looking into the capabilities of the musicAPI and multizoneAPI is have HS Touch control an instance of squeezeplay on my HS server and leave all of the SB's in sync with that server. Then just turn on/off the squeezeboxes in each room for control of location. On/off status can easily be tracked. It would be useful to ensure that a given squeezebox is sync'd before turning on the zones. This probably can be done with a simple script to turn on/off the SB and also checks sync status and if not in a sync'd state, forces the SB to sync with my HS server.

          If anyone has other ideas or sees some inherent control issues with this setup, please let me know.

          pcp, just to make sure you don't miss this, the text status in the musicAPI for shuffle returns "unknown" for 2 of the 3 shuffle states. Any idea if this is a problem in the SB plugin or if it is some type if incompatibility with the musicAPI shuffle states and squeezecenter?

          Comment


            #80
            Originally posted by pcp View Post
            When I checked a while back the pandora "song info" contained a full url for the artwork, which is what the plug-in was using to retrieve the image. Are you using SB Server 7.5?
            Yes, Version: 7.5.0 - r30464 @ Thu Apr 1 05:51:56 PDT 2010

            Interesting... I just tried to reproduce the error and I wasn't able to get it using two different players, one being SqueezePlay and the other being an SB Radio.

            I've attached a couple of debug logs for your review. The one from a couple of days ago shows the exception while the two from today show it working correctly on two different players. The player called "Test" from a couple of days ago is now called "Office" in today's logfiles.

            I'll try to reproduce the exception again a little later today when I get some time.

            Thanks,
            Ken
            Attached Files
            "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

            Comment


              #81
              In the log from the 17th, I also see that at some point the artwork for the SB Radio was retrieved from http://radiotime-logos.s3.amazonaws.com/p47177q.png. Did you only see the issue for the "test" player?

              I don't think I can resolve this as the SB server sent the information for the status information for the current song with an artwork_url as a relative url (plugins/Pandora/html/images/icon.png) to a default image within the plugin on the SB server rather then the full url to the image on the internet. Also note that after the exception (on 9:07:28) when it tried to fetch the artwork from the above broken artwork, a song from Pondera was played (on 9:07:29) and as a follow up (1 second later in the log), the artwork url provided by the SB server was complete (http://images-sjl-t2-1.pandora.com/i..._455W_455H.jpg) and used by the HS2 squeezebox plug-in.

              So I guess without fully understanding the conditions, occasionally the SB server Pondera plugin does not return the full artwork url, but rather to its default icon/image, which the HS2 squeezebox plugin cannot retrieve since not a fully qualified URL.

              Comment


                #82
                Originally posted by pcp View Post
                So I guess without fully understanding the conditions, occasionally the SB server Pondera plugin does not return the full artwork url, but rather to its default icon/image, which the HS2 squeezebox plugin cannot retrieve since not a fully qualified URL.
                Since I see this error in my log a lot, it's probably because I use Pandora a lot. And a plug-in for my alarm clock and some other sounds.

                PHP Code:
                http://localhost:9000/plugins/Sounds/html/images/icon.png 
                If you detect that it's a relative URL, and append it to the url of the squeeze center (in my case it's localhost:9000) maybe that would work for the default icons?
                Joe (zimmer62)

                BLSecurtiy, AC-RF2, RCS Serial Thermostats, RFXCOM SMarthome SwitchLinc, mcsXap, Global Cache GC100, SqueezeBox, TWA_ONKYOINTEGRA, BLLogMonitor, BLPlugins, BLRadar, BLSpeech, BLZLog.aspx, HSTouch (Windows, iPhone, iPod), USB Mimo touchscreens, VMWare Server, Vortexbox, Windows Home Server, MyMovies, Windows Media Center, X10, ZWave, and much much much more.

                Comment


                  #83
                  Is anyone using SqueezeSlave with the plugin? If so, I was wondering if anyone has been able to rename the player to something like Office. I know how to do this with SqueezePlay but can't seem to be able to do this with SqueezeSlave. I want to use SqueezeSlave so I can install as a service. Alternatively, if there is a way to run SqueezePlay as a tray icon that might be a good route as well.

                  Thanks

                  Comment


                    #84
                    Originally posted by zimmer62 View Post
                    Since I see this error in my log a lot, it's probably because I use Pandora a lot. And a plug-in for my alarm clock and some other sounds.

                    PHP Code:
                    http://localhost:9000/plugins/Sounds/html/images/icon.png 
                    If you detect that it's a relative URL, and append it to the url of the squeeze center (in my case it's localhost:9000) maybe that would work for the default icons?
                    For Pandora the icon that's giving us fits is the big "P" that is displayed sometimes. I don't know what state of the plug-in that causes this to be displayed since most of the time it displays album cover art which has a full url path.

                    From examining "install.xml" for several plug-ins they all appear to have a relative url defined for their default icon so it seems that this would happen for just about any plug-in that would try to display their default icon. For example, Napster and Sirius Radio both have relative icons paths.

                    I verified that the relative URL being returned is, in fact, relative to the Squeezecenter base URL so for local server icons it would be possible to construct the full URL.

                    Ken
                    "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

                    Comment


                      #85
                      Originally posted by heatvent View Post
                      Is anyone using SqueezeSlave with the plugin? If so, I was wondering if anyone has been able to rename the player to something like Office. I know how to do this with SqueezePlay but can't seem to be able to do this with SqueezeSlave. I want to use SqueezeSlave so I can install as a service. Alternatively, if there is a way to run SqueezePlay as a tray icon that might be a good route as well.

                      Thanks
                      I use squeezeslave and renamed the slave in the Squeezebox server interface. That is as far I know the only way to do it.

                      Wim
                      -- Wim

                      Plugins: JowiHue, RFXCOM, Sonos4, Jon00's Perfmon and Network monitor, EasyTrigger, Pushover 3P, rnbWeather, BLBackup, AK SmartDevice, Pushover, PHLocation, Zwave, GCalseer, SDJ-Health, Device History, BLGData

                      1210 devices/features ---- 392 events ----- 40 scripts

                      Comment


                        #86
                        I tried that but everytime I go back in settings from the web interface, it reverts back to the default squeezeslave name. Have you experienced this? Are you using any command line switches when starting squeezeslave?

                        Comment


                          #87
                          Originally posted by heatvent View Post
                          I tried that but everytime I go back in settings from the web interface, it reverts back to the default squeezeslave name. Have you experienced this? Are you using any command line switches when starting squeezeslave?
                          Yes I am using command line switches, because I have two soundcards, one squeezeslave for each soundcard.

                          squeezeslave -D --retry -m00:00:00:00:00:02 -o12

                          -d gives a simple display,
                          --retry makes sure a connection is held
                          -m emulates a mac adress a
                          -o is the adress for the soundspeakers

                          -h gives you help on parameters.

                          The squeezeserver binds the name to the mac address, so maybe you have to use the -m parameter to set a mac address, so you are sure it is always the same?

                          Wim
                          -- Wim

                          Plugins: JowiHue, RFXCOM, Sonos4, Jon00's Perfmon and Network monitor, EasyTrigger, Pushover 3P, rnbWeather, BLBackup, AK SmartDevice, Pushover, PHLocation, Zwave, GCalseer, SDJ-Health, Device History, BLGData

                          1210 devices/features ---- 392 events ----- 40 scripts

                          Comment


                            #88
                            Thanks, I will give it a try. I'm betting the mac address will help. Although I thought this wouldn't be an issue with just 1 squeezeslave because I think it defaults to all zero's and a 1 on the end. But let me try it.

                            Comment


                              #89
                              OMG this is awesome! Wim, thanks a bunch for the help. I installed squeezeslave as a service on 3 pc's (one is my HS server that I sync everything too). I now have a behind the scenes music player with no floating application (i.e. squeezeplay). If I want to control the music I can go to the sc web interface or my HS touch display. Exactly what I was looking for! Thanks again!

                              Comment


                                #90
                                Originally posted by zimmer62 View Post
                                Since I see this error in my log a lot, it's probably because I use Pandora a lot. And a plug-in for my alarm clock and some other sounds.

                                PHP Code:
                                http://localhost:9000/plugins/Sounds/html/images/icon.png 
                                If you detect that it's a relative URL, and append it to the url of the squeeze center (in my case it's localhost:9000) maybe that would work for the default icons?

                                Good point about prepending it with the SB server URL. I will try this approach in the plug-in (and an option to disable the messages about fetching the artwork if it fails).

                                Comment

                                Working...
                                X