Announcement

Collapse
No announcement yet.

SqueezeBox plugin V2.3.0 beta

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

    SqueezeBox plugin V2.3.0 beta

    Attached is Version 2.3.0 of the SqueezeBox plug-in.

    Changes:
    • Player HS2 devices are not automatically created as players are discoverred. For each player, you enable or disable HS2 device creation or defletion from the plug-in status page. After upgrading, you will need to navigate to the plug-in status page to enable devices for players.
    • Once devices have been created, the initial device names can be overwritten using custom device names.
    • HSTouch notifications are collapsed and sent to HSTouch at the rate specified by the setting "Player Monitoring Interval".
    • There is a new configuration option in the plug-in configuration page to notify HSTOuch of player's current track position (Time) changes. If the current track position (Time) is not used in any screen, disabling it decreases overhead.
    • There is a new configuration option in the plug-in configuration page to make the plug-in the Primary Speak Proxy or not. If enabled, the plugin-in calls hs.SpeakProxy to tell HS2 to speak. If disabled it will not notify HS2 and another Speak Proxy plug-in should do so.
    • When a Speaker Client is specified in the plug-in "Speaking" configuration, only the text spoken for this host will be played on Squeezebox players. As before, if WaveIn is used, it specifies the speaker client that is to stream audio to LMS.
    • Internal implementation changes to related to LMS and player status update as well as related to speaking text on players.


    Beta Update V2.3.0.1:
    • Fixed issue when a player reconnects after after an LMS forget message
    • Fixed issue related to speaking text to a Speaker Client not matching the one defined in the plug-in configuration.


    Beta Update V2.3.0.2:
    • Logic changes when a player disconnects
    • Logic changes when processing TTS messages (With this version the last 10 wav/mp3 files are kept).


    Beta Update V2.3.0.3:
    • Fixed playing Spotify Radio stations with Music API PlayMusic
    • Various other fixes.


    Beta Update V2.3.0.4:
    • After TTS announcement, restoring song time as it was prior to TTS including when when player was paused.


    Update V2.3.0.5:
    • Release version of 2.3.0.4 sent to Updater. Removing beta version from this thread as it is now in the updater.


    Beta Update V2.3.0.6:
    • Extended maximum number of IR signals to 256 (was 64 in prior versions).
    • Removing attached version from this thread since available via updater.
    Last edited by pcp; February 10, 2014, 06:21 PM. Reason: Version is now available in HS2 Updater

    #2
    Hi,

    I have just installed the new beta, whilst HS was stopped and Squeezeplayers turned off. I restarted HS and then turned on one SqueezePlayer. I got the entry "Kitchen -- LMS New" for the player but it still shows as disconnected on the HS status page and on the plugin Status page.

    I then ticked the checkbox against the player on the plugin status page and it then showed the correct "start code" but it still shows as disconnected.

    I can control the player ok through LMS so it is connected to LMS.

    Is there a further step I am missing with this new beta?

    Thanks.

    Comment


      #3
      Ok, some initial feedback.

      One of my players now shows as connected on the plugin status page (no ip address or model shows up). But I have turned on one other and this has not gone to the connected state?

      HS fired a TTS event while streaming BBC radio to the connected player, and the speech came out ok but then the radio streaming did not restart.

      I then tried a manual TTS event and now nothing is heard on the connected joggler (doesn't show any signs of having it's playlist altered, just carries on). And the speech was not heard from my connected HS speaker client too! On checking the mp3 and wav files, they have not been re-generated and show the speech from the earlier event that HS triggered.

      Ahh, I have just looked in the Speech Queue and it shows my manual TTS messages there?

      I was wondering why the new plugin should stop HS clients speaking, so reread your release notes.

      In your release notes you state :
      "There is a new configuration option in the plug-in configuration page to make the plug-in the Primary Speak Proxy or not. If enabled, the plugin-in calls hs.SpeakProxy to tell HS2 to speak. If disabled it will not notify HS2 and another Speak Proxy plug-in should do so."
      When you refer to "another speak proxy" - does HS act as a speak proxy? I have left the defaults when the beta plugin was installed which has Primary Speak Proxy checked. Should this be unchecked to allow HS to speak to the client as well?

      So, a few teething issues I have here. I will carry on experimenting...

      Comment


        #4
        Getting further....
        I unchecked Primary Speak Proxy and suddenly the squeeplayers all connected and show IP address, title and model on the plugin status page.

        I fired another TTS event and speech came out on all players - yipee! And the streaming radio restarted on the one that was already playing - great.

        The only problem now is that the speech was not sent to the HS speaker client, nor was there the usual TTS HS log entry. If I uncheck "Enable Speak Proxy" I get TTS through the HS speaker client not not through the squeezeplayers. Is this intentional that it's one or the other and not both simultaneously? With the previous version it went to all squeezeplayers and the HS speaker.

        Comment


          #5
          Thanks for the feedback. When you initially use this beta, it tries to use the older settings to configure the new approahc; I will try to reply your scenario to see if it did not use it correctly.

          When you initially looked at the status screen and they were saying disconnected, do you know if the plug-in was already connected to the LMS server? I need to look at the code, it might say disconnected in the plug-in as long as it has not received any update from LMS. Terminology might be confusing and maybe should use a different initial state. One change in this version is that I delay the connection and query of all player configuration by a few ms and do not fully complete it in the plugin initialization routine (to do any i/o setup outside of the HS2 initialization calls and in a different thread).

          "Primary Speak Proxy" should always be checked by default except if you use another speak proxy (BLSpeech or other similar ones). If you un-check it and don't have another Speak Proxy telling HS2, the text will never be spoken on Clients. "Enable Speak Proxy" should be checked if you want to speak text via the SqueezeBox players. And for now do not specify any client in "Speaker Client", i.e. leave it blank (I will check if some of these combinations do not produce desired behavior) and is optional anyways. To summarize with "Speaker Client", "Primary Speak Proxy" checked and "Enable Speak Proxy" checked you should have the configuration from the prior plug-in version.

          Comment


            #6
            Thanks for that. Replies below...

            Originally posted by pcp View Post
            When you initially looked at the status screen and they were saying disconnected, do you know if the plug-in was already connected to the LMS server?
            Sorry, I didn't look at the connection device status of the plugin at the time. Looking back through the HS log though, I can see the message "SqueezeBox Info~!~Connected to Logitech Media Server (LMS)" at startup of HS after I installed the new beta. As I also got the "SqueezeBox Info~!~Kitchen -- LMS New" message when turning on a squeezeplayer, I assume it was connected.

            Originally posted by pcp View Post
            "Primary Speak Proxy" should always be checked by default except if you use another speak proxy (BLSpeech or other similar ones). If you un-check it and don't have another Speak Proxy telling HS2, the text will never be spoken on Clients. "Enable Speak Proxy" should be checked if you want to speak text via the SqueezeBox players. And for now do not specify any client in "Speaker Client", i.e. leave it blank (I will check if some of these combinations do not produce desired behavior) and is optional anyways. To summarize with "Speaker Client", "Primary Speak Proxy" checked and "Enable Speak Proxy" checked you should have the configuration from the prior plug-in version.
            Weird, I wonder if it has got into a funny state already?

            A timeline of the events after installing the new beta (whilst on lunch at work)
            Default options were : Enabled Speak Proxy and Primary Speak Proxy both checked. Speakr Client field blank.

            When I arrived home, no squeezeplayers were turned on, I have a sort- of "welcome" TTS event fire when I arrive home. This was played back through a HS speaker client ok. Shortly afterwards, 2 squeezeplayers were turned on. (Although only one showed as connected)

            One (the connected one) was streaming BBC radio when an event triggered that had TTS included. This played back on the connected squeezeplay ok and then didn't continue with the BBC stream. I was not within range of the HS speaker client so cannot tell if this worked.

            I wonder if it got into a strange state at this point.

            Any further TTS attempts seemed to just go onto the plugin speaker queue. The only way to get TTS to the squeezeplayers was by turning off "Primary Speak Proxy". This then caused TTS to play on the squeezeplayers but not on the HS speaker client.
            Then by unchecking "Enabled Speak Proxy", the HS speaker client would start working but the squeezeplayer speach would stop.

            I will try restarting HS now and see if anything changes from this.

            Note, I do not have any other speak proxy software/plugin.

            Thanks,
            John

            Comment


              #7
              Before I restarted HS, I did a couple of more tests.

              Like I said, to get TTS tp the Squeezeplayers I had to uncheck "Primary Speak Proxy" and leave "Enabled Speak Proxy" checked, although this didn't produce TTS through the HS speaker client.

              I have just re-checked the Primary Speak Proxy option and now speach comes through all the squeezplayers and the HS speaker client!!

              Un-checking the Primary Speak Proxy results in speech to just the squeezeplayers.

              Checking it again gives speech back to all squeezeplayers and HS client.

              So it sounds like an initialisation issue with some of the variables?

              I left the Enabled Speak Proxy and Primary Speak Proxy checked and performed a HS restart.

              A TTS event test gave speech to all squeezeplayers and HS speaker client. All is ok now. Weird. Sounds like the first time the plugin runs some of the options weren't initialised to the correct state.

              So that's all ok now.

              Not to be a nuisance but....one small other thing. Sometimes after playing TTS speech to a squeezeplayer that is "stopped" (i.e. was playing music but stop pressed), after the speech stops the stopped music plays for half a second or so. Not a big issue but can startle you a bit!

              Thanks,
              John

              Comment


                #8
                Thanks for the update. Yes looks like some initial setup after the upgrade.

                I need to look at the the "track & pause" restore. When the plug-in sends the commands to restore the track, I believe it will start playing and the subsequent pause will stop it, but there could be a small latency. I don't think there is a way to make a track active and remain in pause in one command, but will check. Will look more into it.

                Comment


                  #9
                  Ok thanks. A little more info.

                  I have a third squeezeplayer that wasn't on during my testing last night. Once I seemed to have the status/speech working ok after the HS restarts, I turned on this player and it remained disconnected, although the HS log showed a "LMS New" message. It was only when I unchecked the Primary Speak Proxy option that it became connected.

                  Comment


                    #10
                    Hi Philppe,

                    I have been able to narrow the issue down somewhat.

                    When I returned home from work today, I turned on 2 players. Both gave a "LMS New" entry in the log but neither showed as connected. I then performed an update on the plugin config page, then the plugin set each player to connected.

                    So as a test, I turned off a player and waited until the "LMS forget" log entry was seen (about 5 mins) for that player.I then turned it back on again. After the "LMS New" log entry, the player still showed disconnected. (I got the player connected again by updating the config page)
                    I then repeated the above but turned the player back on after 1 minute, before the "LMS forget" log entry. This time I got a "LMS reconnect" log entry and the player showed as connected (TTS/control was ok).

                    So it seems to be once a player reconnects after being "forgotten", it doesn't seem to show as connected until a save is done on the configuration page. (Even just pressing SAVE on the config page without changing any parameters does the trick).

                    Hope this helps.

                    Comment


                      #11
                      I am unsure of if it is just me, but I am not having much luck with the speaker proxy on this one, I run Airplay speak (testing) and have tried with the primary proxy on and off but it does not seem to want to actually play the TTS message, i have a feeling it might have something to do with the NIC and which one is being used (since i use a virtual machine). I noted that even though the Homeseer server has a Bind IP address set, the actual speaker proxy appears to be using a different IP address (not the Bind one).
                      HS3 PRO, Win10, WeatherXML, HSTouch, Pushover, UltraGCIR, Heaps of Jon00 Plugins, Just sold and about to move so very slim system.

                      Facebook | Twitter | Flickr | Google+ | Website | YouTube

                      Comment


                        #12
                        Originally posted by JimBob View Post
                        Hi Philppe,

                        I have been able to narrow the issue down somewhat.

                        When I returned home from work today, I turned on 2 players. Both gave a "LMS New" entry in the log but neither showed as connected. I then performed an update on the plugin config page, then the plugin set each player to connected.

                        So as a test, I turned off a player and waited until the "LMS forget" log entry was seen (about 5 mins) for that player.I then turned it back on again. After the "LMS New" log entry, the player still showed disconnected. (I got the player connected again by updating the config page)
                        I then repeated the above but turned the player back on after 1 minute, before the "LMS forget" log entry. This time I got a "LMS reconnect" log entry and the player showed as connected (TTS/control was ok).

                        So it seems to be once a player reconnects after being "forgotten", it doesn't seem to show as connected until a save is done on the configuration page. (Even just pressing SAVE on the config page without changing any parameters does the trick).

                        Hope this helps.
                        Thank you and will look at it during the weekend. This version of the plug-in relies more on LMS notifications; when you press save or disconnect/reconnect (from the HS Device page) you actually force a full refresh.

                        Comment


                          #13
                          Originally posted by travisdh View Post
                          I am unsure of if it is just me, but I am not having much luck with the speaker proxy on this one, I run Airplay speak (testing) and have tried with the primary proxy on and off but it does not seem to want to actually play the TTS message, i have a feeling it might have something to do with the NIC and which one is being used (since i use a virtual machine). I noted that even though the Homeseer server has a Bind IP address set, the actual speaker proxy appears to be using a different IP address (not the Bind one).
                          I recommend as a starting point to use the following settings: "Speaker Client" as an empty string, "Primary Speak Proxy" checked, "Enable Speak Proxy" checked and "Use MP3" checked as well. Also ensure that at least for one of the LMS player you defined a "Speak Volume" that is greater than zero. You could also check in the plug-in html directory if it created a wav+ mp3 file. If that does not work and you could collect a log file with debug/verbose debug enabled and send it to me I check for any issues.

                          Comment


                            #14
                            I posted an updated beta version; check the first dialog.

                            Comment


                              #15
                              Thanks for the quick action Philippe.

                              I have loaded the new beta and can confirm that the issue I described above is fixed and the players reconnect fine after being "forgotten". TTS works fine to each player once connected.

                              Thanks.

                              Comment

                              Working...
                              X