Announcement

Collapse
No announcement yet.

Timing problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Timing problem

    I have just started experimenting seriously with the plug-in again and have run into a puzzle.

    I want to switch several zones to the computer sound card as source, then play a wave file and/or run a TTS announcement, then switch back to the state the zones were originally in.

    I can do all those things without difficulty, but I cannot get them to sequence properly. Even though 'Wait for script to finish' is checked, the wave/speech occurs before the zones come on. What do I need to do to make HS wait until the plug-in has finished switching the zones before playing a sound?
    Mike____________________________________________________________ __________________
    HS3 Pro Edition 3.0.0.548, NUC i3

    HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

    #2
    Bump

    Here is some more detail with a simple test event.

    Sitting next to the CAV, with the local zone on, I hear "1...1...1", then "Ding", as I would expect. But, the target zone may or may not come on before the 'Ding'. If I comment out the Speak 1 lines, then 'Ding' reproducibly occurs before the target zone is turned on.

    The script:
    Code:
        Public Sub Main(ByVal Parms As Object)
      
        End Sub
    
        Sub Computer(ByVal strZ As String)
    
            Dim intZone as Integer = CInt(strZ)
            Dim intSource As Integer = 6
            Dim objRuss As Object = hs.Plugin("BLRussound")
    
            hs.Speak("1", True)            'debug
    
            objRuss.SetZoneSource(1,intZone,intSource)
    
            hs.Speak("1", True)            'debug
    
            objRuss.SetZonePower(1,intZone,"On")
    
            objRuss = Nothing
    
            hs.Speak("1", True)            'debug
     
        End Sub
    Attached Files
    Mike____________________________________________________________ __________________
    HS3 Pro Edition 3.0.0.548, NUC i3

    HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

    Comment


      #3
      Are you using an speech proxy like BLSpeech?
      Cheers,
      Bob
      Web site | Help Desk | Feature Requests | Message Board

      Comment


        #4
        Originally posted by Blade View Post
        Are you using an speech proxy like BLSpeech?
        No, I'm not.

        I think I've found a solution, though with pros and cons. It appears that the plug-in inserts some conservatively long delays when sending RNET commands, to allow the system to respond. I could add wait commands to compensate, I think, but when I want to switch several zones, that can result in a noticeable delay. Originally, I was using my own scripts to interact with the CAV, but the bug in the serial port call-back routine created a problem for tracking the current state of the zones. BLRussound solves that.

        Now I can let the plug-in do most of the work, but use direct scripting functions when I need to have more control over the timing. The trick is to allow HS and the plug-in access the same com port. To do that I use SerialSplitter to create two virtual ports tied to the same physical port.

        I've just implemented the scheme, and so far it seems to be working exactly as I want. It's a bit complex for what seems like such a simple task, but that may be the price to pay.
        Mike____________________________________________________________ __________________
        HS3 Pro Edition 3.0.0.548, NUC i3

        HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

        Comment


          #5
          Similar problem here...

          I continue to have a timing delay/issue when the BLRussound turns on/off a zone and when BLSpeech processes the TTS. Frequently, the speakers are turned back off by the time the TTS is processed. I've tried delays and several other things (e.g. my own scripts to control the Russound On/Off). Nothing has worked very well.

          Blade, do you have any idea what could cause the timing to be off?

          Mike, can you share additional detail on how you are getting this to work with SerialSplitter? I found and downloaded what I think is the software from Eltima. I tried splitting the port and could not get it to work. Any additional details are greatly appreciated.d

          Matt

          Comment


            #6
            There are delays you can set in BLSpeech to wait and you can also set a delay per speaker in BLSpeech.
            I know some users have had to play with the delays.
            Cheers,
            Bob
            Web site | Help Desk | Feature Requests | Message Board

            Comment


              #7
              Originally posted by mwhitley View Post
              Mike, can you share additional detail on how you are getting this to work with SerialSplitter? I found and downloaded what I think is the software from Eltima. I tried splitting the port and could not get it to work. Any additional details are greatly appreciated.
              Matt,
              I use the serial splitter to allow me to share the CAV com port with two serial connections from HS. I've attached a screen shot of the configuration screen. One connection is used by the BLRussound plug-in. I use the other for a VB com link using the OpenComPort command. I use that link to send RNET commands directly to the CAV when I want it to respond in the shortest possible time.

              Some years ago I started controlling my CAV with scripts, but had some problems because the internal HS serial callback function is not reliable. BLRussound solved that problem, but is just a bit slow to turn on a zone when I request it, so I now have implemented my hybrid approach. I wouldn't recommend it necessarily, but it works for me.

              I shared my scripting functions a while back on the HST Russound plug-in forum. If you want to see what they're like and can't find them, I'll post them again.
              Attached Files
              Mike____________________________________________________________ __________________
              HS3 Pro Edition 3.0.0.548, NUC i3

              HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

              Comment


                #8
                I was having the same problem, I Was working with Blade some time ago to resolve the problem, I decide to go with a different software to control speaking and playing music on my Cav 66.

                Bigmack48
                Last edited by BIGMACK48; December 28, 2010, 12:46 PM.

                Comment


                  #9
                  Follow up

                  Originally posted by BIGMACK48 View Post
                  I was having the same problem, I Was working with Blade some time ago to resolve the problem, I decide to go with a different software to control speaking and playing music on my Cav 66.

                  Bigmack48

                  Bigmack48,

                  Can you share what software you are using to control speaking and music with the Russound? I am trying to solve the timing/delay problems I was having with BLSpeech annd BLRussound but can't find a reliable solution. I am trying to avoid sending my own com port commands as it seems a bit tedious. However, I will go there with no alternatives. BLSpeech does not handle the Russound speaker switching effectively.

                  Matt

                  Comment


                    #10
                    Clarification

                    Originally posted by Uncle Michael View Post
                    Matt,
                    I use the serial splitter to allow me to share the CAV com port with two serial connections from HS. I've attached a screen shot of the configuration screen. One connection is used by the BLRussound plug-in. I use the other for a VB com link using the OpenComPort command. I use that link to send RNET commands directly to the CAV when I want it to respond in the shortest possible time.

                    Some years ago I started controlling my CAV with scripts, but had some problems because the internal HS serial callback function is not reliable. BLRussound solved that problem, but is just a bit slow to turn on a zone when I request it, so I now have implemented my hybrid approach. I wouldn't recommend it necessarily, but it works for me.

                    I shared my scripting functions a while back on the HST Russound plug-in forum. If you want to see what they're like and can't find them, I'll post them again.
                    Mike,

                    To clarify, you are NOT using the HST Russound plugin as well as the BLRussound plugin? If I read your message correctly, you are splitting the com port from the Russound box into two ports, one for BLRussound and the other for your own custom commands. Is this correct?

                    Matt

                    Comment


                      #11
                      If you are using BLRussound and BLSpeech you will want to make sure you have both updated builds for these plugins as I made changes to BLSpeech today that should help a lot with the speech timings.

                      I worked my brother in law today with his Russound system and BLRussound and BLSpeech and we got his speaking working great. I had to make a change to BLSpeech to fix it.

                      He is using a BLSpeech zone and has assigned all of the speakers (or Russound zones) to the zone and assigned the zone as the default zone for speech in the BLSpeech options. He also assigned the default source for speech in the options.
                      Cheers,
                      Bob
                      Web site | Help Desk | Feature Requests | Message Board

                      Comment


                        #12
                        Originally posted by mwhitley View Post
                        Mike, If I read your message correctly, you are splitting the com port from the Russound box into two ports, one for BLRussound and the other for your own custom commands. Is this correct?
                        Yes, that is exactly what I'm doing. However, my 'custom' commands are just standard RNET commands that I send independently of BLRussound. In fact, at present I'm only sending independent Zone Source and Zone On commands when I interrupt for an announcement. I let the plug-in put the zones back the way they were. I try to be careful to be sure the last command to each zone comes from the plug-in so that it doesn't get confused about zone state.
                        Mike____________________________________________________________ __________________
                        HS3 Pro Edition 3.0.0.548, NUC i3

                        HW: Stargate | NX8e | CAV6.6 | Squeezebox | PCS | WGL 800RF | RFXCOM | Vantage Pro | Green-Eye | Edgeport/8 | Way2Call | Ecobee3 | EtherRain | Ubiquiti

                        Comment


                          #13
                          Will try the update

                          Originally posted by Blade View Post
                          If you are using BLRussound and BLSpeech you will want to make sure you have both updated builds for these plugins as I made changes to BLSpeech today that should help a lot with the speech timings.

                          I worked my brother in law today with his Russound system and BLRussound and BLSpeech and we got his speaking working great. I had to make a change to BLSpeech to fix it.

                          He is using a BLSpeech zone and has assigned all of the speakers (or Russound zones) to the zone and assigned the zone as the default zone for speech in the BLSpeech options. He also assigned the default source for speech in the options.
                          Thanks, Blade. I will try the updated versions of BLRussound and BLSpeech before I put additional time into an alternative solution. I like both of the products tremendously. The only flaw is the timing/sequencing of the source/power of the zones/speakers. Otherwise, I have no complaints. Thanks for the updates.

                          Matt

                          Comment


                            #14
                            Originally posted by Blade View Post
                            If you are using BLRussound and BLSpeech you will want to make sure you have both updated builds for these plugins as I made changes to BLSpeech today that should help a lot with the speech timings.

                            I worked my brother in law today with his Russound system and BLRussound and BLSpeech and we got his speaking working great. I had to make a change to BLSpeech to fix it.

                            He is using a BLSpeech zone and has assigned all of the speakers (or Russound zones) to the zone and assigned the zone as the default zone for speech in the BLSpeech options. He also assigned the default source for speech in the options.
                            Blade,

                            I installed the new BLRussound and BLSpeech plugins. I set the speakers/zones as you describe, defined the default speech source in the BLSpeech options and I still get the same problem. I went back and reset the entire Russound box and started over. This did not help.

                            The wait commands (whether defined within BLSpeech or in a script run before speech) do not work. The TTS begins immediately. The Russound finally comes on about 4 to 5 seconds later (even if I remove all of the waits/delays) first blasting the Tuner (Source 1) and eventually switches over to the Computer (Source 2 used TTS). By that time, the speech is done. It also often fails to return to the previous zone.

                            I can send you screen shots, logs or whatever you need. I can't figure this thing out. I wish you could just come over to my house as well.

                            Matt

                            Comment


                              #15
                              Originally posted by Uncle Michael View Post
                              Yes, that is exactly what I'm doing. However, my 'custom' commands are just standard RNET commands that I send independently of BLRussound. In fact, at present I'm only sending independent Zone Source and Zone On commands when I interrupt for an announcement. I let the plug-in put the zones back the way they were. I try to be careful to be sure the last command to each zone comes from the plug-in so that it doesn't get confused about zone state.

                              Thanks for the clarification. When you say that you let the plug-in put the zones back the way they were, can you elaborate. Is this through a script? If so, can you send me an example?

                              Thanks!

                              Matt

                              Comment

                              Working...
                              X