Announcement

Collapse
No announcement yet.

NEW Script Connector Plugin V1.10.2.2

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

    #46
    I thought as much...

    however, you never know if you don't ask!

    Thanks again Stipus!

    --Dan
    Tasker, to a person who does Homeautomation...is like walking up to a Crack Treatment facility with a truck full of 3lb bags of crack. Then for each person that walks in and out smack them in the face with an open bag.

    Comment


      #47
      Héhé don't worry I was just joking about the french Dan...

      Stipus :

      I already have several scripts to control some of my music players. Obviously, they would need to be adapted for remote control ...

      The player I use the most is Winamp and I have a slew of vocal commands performing most of the functions through the WINAMP API. The way it is setup now, these scripts work only on the homeseer server.

      Ideally what I would like to do is be able to have multiple winamp applications running simulneously on different machines and being controlled by voice commands such as "Play artist STING on computer "X"....

      Then homeseer would execute the script remotely on the designated computer. In this example, it would dig out all songs by STING on the remote computer, add them to its winamp playlist and start playing it.

      joel

      Comment


        #48
        If you could send me those winamp controlling scripts, I may add the winamp commands to the scripts I'll be coding tomorow --> stipus at stipus dot com

        I'm going to first support Windows Media player, then maybe iTunes and WinAmp.
        --
        stipus

        Comment


          #49
          That's very generous of you !
          I'll send you some of the winamp scripts I use for you to look at, no problem.
          or portions thereof, as I imagine only the winamp control part is of interest to you...

          p.s. Oh and by the way, the scripts I use are old-timers... they're not .net (just yet)

          Comment


            #50
            Joel,

            I think 98% your scripts could very easily be moved to .Net and would then run as-is on the remote script client.

            Something like:

            winamp_play.txt
            Code:
            Sub main() 
             set Winamp = CreateObject("WinampCOM.Application")
             Winamp.Play
            End sub
            -->

            winamp_play.vb (untested)
            Code:
            Sub main( param As Object ) 
             Dim Winamp as Object = CreateObject("WinampCOM.Application")
             Winamp.Play()
            End sub
            However, as the WinampCom object only works with Winamp 2.x, I really think it would be better to use the Active Winamp plugin which seems to be very well supported.
            --
            stipus

            Comment


              #51
              I just finished a new script that can show very complex device strings, such as the device strings created by Jon's performance monitor script.

              The script works by embedding a mini internet explorer as a COM object.



              Unfortunately, this script doesn't work with the script client V0.5.2.2, as the activeX IE WebBrowser component needs the Single Threaded Apartment model.

              The V0.5.2.2 script client always uses the Multiple Threaded Apartment Model.
              In V0.6.2.2, each script can choose its own Apartment Model

              Apartment model is a quite complex notion, related to COM Object hosting.
              --
              stipus

              Comment


                #52
                Originally posted by stipus View Post
                Joel,

                I think 98% your scripts could very easily be moved to .Net and would then run as-is on the remote script client.

                Something like:

                winamp_play.txt
                Code:
                Sub main() 
                 set Winamp = CreateObject("WinampCOM.Application")
                 Winamp.Play
                End sub
                -->

                winamp_play.vb (untested)
                Code:
                Sub main( param As Object ) 
                 Dim Winamp as Object = CreateObject("WinampCOM.Application")
                 Winamp.Play()
                End sub
                However, as the WinampCom object only works with Winamp 2.x, I really think it would be better to use the Active Winamp plugin which seems to be very well supported.
                You maybe right, but I never liked the newer versions of Winamp from 3.X on. They are cumbersome and heavy. I always liked winamp 2 for its simplicity and the fact that it's straight to the point and needs very little computer resources to operate.

                Frankly, I dont care much about having 3000 skins, 59 plugins or 350 visualization or other type of effects... What I want is a simple music player !!

                But do whatever you like... This is your script connector application after all !

                p.s. I might grow to like the newer versions of winamp eventually...

                Comment


                  #53
                  fran_joel,

                  What is your hardware model?

                  Do you have multiple PCs running thier own Winamp? I use 9 winamps on one PC with 9 sound cards.

                  The script that I use, uses an external .exe to control winamp.

                  I'm sure that would work through the remote connector.

                  --Dan
                  Tasker, to a person who does Homeautomation...is like walking up to a Crack Treatment facility with a truck full of 3lb bags of crack. Then for each person that walks in and out smack them in the face with an open bag.

                  Comment


                    #54
                    Originally posted by drozwood90 View Post
                    fran_joel,

                    What is your hardware model?

                    Do you have multiple PCs running thier own Winamp? I use 9 winamps on one PC with 9 sound cards.

                    The script that I use, uses an external .exe to control winamp.

                    I'm sure that would work through the remote connector.

                    --Dan
                    Well Dan... I have 5 PCs spread throughout my house (1 tower, 2 compact form desktops, 1 small Fujitsu touchscreen laptop + 1 Macbook laptop) all running winamp and all connected to speakers. (That is without counting one Audrey and one Nokia 800 internet tablet).

                    I also have other non winamp related audio sources : one Audiotron and two Rios.

                    As far as my computer audio sources are concerned, I want to control each (single) winamp application on each computer (5) from any other computer or interface.

                    Note : My network is mostly wireless. I dont want to and can't run audio wires, or any wires, coz I don't have the room. Therefore having multiple sound cards on one PC is not a good option for me.

                    Besides wireless, I also use PLC ethernet bridges (these work great for Rios).

                    Joel

                    Comment


                      #55
                      Version 0.6.2.2 of the Script Connector plugin is released (see post #1 of this thread to download the attachement).

                      Change log since V0.5.2.2

                      - You can use a star (*) as the remote client name to exec a script on all connected Script Clients. This is usefull to send an alert message to all computers, for example with the marquee.cs script. This only works with scripts with a Sub Main(); not with scripts with a Function Main().

                      - Scripts now run in their own thread, and no more in a thread from the ThreadPool. This allows each script to specify the apartment model for hosted COM objects. Use the keywords #STA (Single Threaded Apartment Model) or #MTA (Multiple Threaded Apartment Model) at the beginning of the script to set the apartment model.

                      - Remote scripts can now return a value as an object to the calling script ! Use the new plugin API ExecFunc() to run a script with a Function Main(). The old API ExecScript() has been renamed to ExecSub(). This new feature opens a new world of possibilities for HomeSeer distributed scripting !

                      Example: Standard HomeSeer Script test3.vb running on the HomeSeer server
                      Code:
                      Sub Main( param )
                          Dim result As Object
                          result = hs.Plugin("Script Connector").ExecFunc( "ClientName", "remote_test_func.cs", Nothing )
                          hs.WriteLog( "Result CS", result)
                          result = hs.Plugin("Script Connector").ExecFunc( "ClientName", "remote_test_func.vb", Nothing )
                          hs.WriteLog( "Result VB", result)
                      End Sub
                      Remote script remote_test_func.vb running on a remote computer
                      Code:
                      Function Main( param As Object ) As Object
                       Main = "Hello from Remote VB Script"
                      End Function
                      Remote script remote_test_func.cs running on a remote computer
                      Code:
                      object Main( object param )
                      {
                       return "Hello from remote CSharp Script";
                      }
                      - Many new sample scripts have been added to the script directory. The script remote_light.cs (controlling only one light with a slider) is a new fixed version, as it was buggy.
                      Last edited by stipus; September 6, 2007, 04:08 PM.
                      --
                      stipus

                      Comment


                        #56
                        Just started to work on my Distributed HomeSeer Media Player script.

                        Goal: Control any player on any computer from any computer

                        There is a main control script that shows standard media player controls, and a media browse list starting with the list of registered computers. This main control script calls several other scripts on remote computers to browse directories and play/pause/start media and playlists. This heavily uses the ExecFunc() plugin API introduced in V0.6.2.2.
                        --
                        stipus

                        Comment


                          #57
                          Originally posted by stipus View Post
                          Just started to work on my Distributed HomeSeer Media Player script.

                          Goal: Control any player on any computer from any computer

                          There is a main control script that shows standard media player controls, and a media browse list starting with the list of registered computers. This main control script calls several other scripts on remote computers to browse directories and play/pause/start media and playlists. This heavily uses the ExecFunc() plugin API introduced in V0.6.2.2.
                          I'm tuned in...
                          Keep us posted!

                          Joel

                          Comment


                            #58
                            Distributed media player script just started to work as expected.

                            From any computer with the script client running, I can browse media on any other computer with the script client running, and remotely PLAY / STOP / PAUSE...



                            I started to implement with VLC Media Player, as I found an easy way to control it from remote scripts.
                            --
                            stipus

                            Comment


                              #59
                              Wow!

                              That's what I have to say about that!

                              --Dan
                              Tasker, to a person who does Homeautomation...is like walking up to a Crack Treatment facility with a truck full of 3lb bags of crack. Then for each person that walks in and out smack them in the face with an open bag.

                              Comment


                                #60
                                Target in sight... Fire all missiles !!

                                Great news!

                                Joel

                                Comment

                                Working...
                                X