• Products
    • Isadora
    • Get It
    • ADD-ONS
    • IzzyCast
    • Get It
  • Forum
  • Help
  • Werkstatt
  • Newsletter
  • Impressum
  • Dsgvo
  • Press
  • Isadora
  • Get It
  • ADD-ONS
  • IzzyCast
  • Get It
  • Press
  • Dsgvo
  • Impressum

Navigation

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags

    TCP In Watcher - Text question

    How To... ?
    3
    9
    2332
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jhoepffner
      jhoepffner last edited by

      Hello, I am working on a patch allowing dialogue with lanbox. By example, if I need the list of channel value in a Cue step, I send with TCP Send Data "* AD 00 A8 02 #" to lanbox and I have an answer. The problem is the length of the answer is variable, depending on how channel are defined in the cue step.
      For reception, If I use that in TCP In Watcher - Text actor:
      "" SceneFlag:int=2x numberOfChannels:int=4x channelNumber:int=4x channelValue:int=2x channelNumber:int=4x channelValue:int=2x channelNumber:int=4x channelValue:int=2x channelNumber:int=4x channelValue:int=2x channelNumber:int=4x channelValue:int=2x
      If I have 5 or less channel active, it works, if I have more, there is no result.
      My first solution is to use independent receptor for each channel:
      first: "
      " SceneFlag:int=2x numberOfChannels:int=4x channelNumber:int=4x channelValue:int=2x
      second: "?????????????" channelNumber:int=4x channelValue:int=2x
      third: "???????????????????" channelNumber:int=4x channelValue:int=2x
      fourth: "?????????????????????????" channelNumber:int=4x channelValue:int=2x
      etc. But it's not very elegant for 256 channels…
      I search a solution to
      – have conditional output for TCP in watcher
      – or to have a raw output of TCP in watcher as to compute it in javascript and output the value of each channel.
      If someone could help?
      Thank you,
      Jacques d7e78d-capture-decran-2016-01-13-a-22.17.36.png

      Jacques Hoepffner http://hoepffner.info
      GigaByte 550b / Ryzen 7 3800X / Ram 64 Go / RTX 3090 24 Go / SSD 2 To / raid0 32 To
      MBP 13' i5 2.6 Ghz 16 Go / Intel Iris / macOs 10.11.6 / izzy 2.6.1 + 3.0.3b2
      MBP 15' i7 2.6 Ghz 16 Go / GTX 650M 1Go/ MacOs10.13.3 / Izzy 2.6.1
      MSI GS65 i7 3.6 Ghz 32 Go / GTX 1070 8 Go / Windows 10 / Izzy 3.0.3b2

      1 Reply Last reply Reply Quote 0
      • DusX
        DusX Tech Staff last edited by

        you can use:

        msg:string={00-FF}
        to return all values.
        That might allow you to get a string you can parse with Javascript.

        Troikatronix Technical Support

        • New Support Ticket Link: https://support.troikatronix.com/support/tickets/new
        • My Add-ons: https://troikatronix.com/add-ons/?u=dusx
        • Profession Services: https://support.troikatronix.com/support/solutions/articles/13000109444-professional-services

        Running: Win 11 64bit, i7, M.2 PCIe SSD's, 32gb DDR4, nVidia GTX 4070 | located in Ontario Canada.

        1 Reply Last reply Reply Quote 0
        • jhoepffner
          jhoepffner last edited by

          Thank you DusX, that helps me a lot, now I have to parse and calculate those bloody hexa characters…

          Jacques Hoepffner http://hoepffner.info
          GigaByte 550b / Ryzen 7 3800X / Ram 64 Go / RTX 3090 24 Go / SSD 2 To / raid0 32 To
          MBP 13' i5 2.6 Ghz 16 Go / Intel Iris / macOs 10.11.6 / izzy 2.6.1 + 3.0.3b2
          MBP 15' i7 2.6 Ghz 16 Go / GTX 650M 1Go/ MacOs10.13.3 / Izzy 2.6.1
          MSI GS65 i7 3.6 Ghz 32 Go / GTX 1070 8 Go / Windows 10 / Izzy 3.0.3b2

          1 Reply Last reply Reply Quote 0
          • gunther
            gunther last edited by

            With the "*AD" command you also get the number of channels. I include an actor, LanboxSceneFader, which uses a cuestep as playback information. Here I read the number of channels, then loop through the channels to perform an action. In this case a multiplication with a fader value.

            Maybe this gives you an idea for your programming?
            301bca-lanbox-channel-fader.iua

            Izzy 3 USB | Win10 64bit | various hardware: I5, I7

            1 Reply Last reply Reply Quote 0
            • jhoepffner
              jhoepffner last edited by

              @DusX, for info here is the script I wrote to parse the lanbox cueStep channel info (24 channels here), far more elegant!

              thanks a lot, Jacques

              function main()

              {

              var tcpRecept = arguments[0];

              var out = [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];

              var test = tcpRecept.charAt(0);

              if (test == "*")

              {

              var channelNumber = parseInt((tcpRecept.slice(3,7)), 16);

              for (i = 0; i < channelNumber; i++)

              {

              var channel = parseInt((tcpRecept.slice((7+6i),(11+6i))), 16);

              var value = parseInt((tcpRecept.slice((11+6i),(13+6i))),16);

              out [channel-1] = value;

              }

              return out;

              }

              }

              Jacques Hoepffner http://hoepffner.info
              GigaByte 550b / Ryzen 7 3800X / Ram 64 Go / RTX 3090 24 Go / SSD 2 To / raid0 32 To
              MBP 13' i5 2.6 Ghz 16 Go / Intel Iris / macOs 10.11.6 / izzy 2.6.1 + 3.0.3b2
              MBP 15' i7 2.6 Ghz 16 Go / GTX 650M 1Go/ MacOs10.13.3 / Izzy 2.6.1
              MSI GS65 i7 3.6 Ghz 32 Go / GTX 1070 8 Go / Windows 10 / Izzy 3.0.3b2

              1 Reply Last reply Reply Quote 0
              • jhoepffner
                jhoepffner last edited by

                @gunther

                Thank you for your advice, I know and I made and i use some actors like that.
                The project is more ambitious, as to show all the level in one cueStep, change it individually and record it changed, in blind or show mode. I am on the good way but I need to use javascript because TCP in Watcher doesn't like when there is some empty output (so it it doesn't output anything) and also because TCP Send data accept only 9 parameters (I want to send 64 channel level at the same time).
                Thank you for your help.
                Jacques

                Jacques Hoepffner http://hoepffner.info
                GigaByte 550b / Ryzen 7 3800X / Ram 64 Go / RTX 3090 24 Go / SSD 2 To / raid0 32 To
                MBP 13' i5 2.6 Ghz 16 Go / Intel Iris / macOs 10.11.6 / izzy 2.6.1 + 3.0.3b2
                MBP 15' i7 2.6 Ghz 16 Go / GTX 650M 1Go/ MacOs10.13.3 / Izzy 2.6.1
                MSI GS65 i7 3.6 Ghz 32 Go / GTX 1070 8 Go / Windows 10 / Izzy 3.0.3b2

                1 Reply Last reply Reply Quote 0
                • DusX
                  DusX Tech Staff last edited by

                  @jhoepffner

                  Thanks for sharing...
                   its exactly these types of solutions that really add to the value of the forum.

                  Troikatronix Technical Support

                  • New Support Ticket Link: https://support.troikatronix.com/support/tickets/new
                  • My Add-ons: https://troikatronix.com/add-ons/?u=dusx
                  • Profession Services: https://support.troikatronix.com/support/solutions/articles/13000109444-professional-services

                  Running: Win 11 64bit, i7, M.2 PCIe SSD's, 32gb DDR4, nVidia GTX 4070 | located in Ontario Canada.

                  1 Reply Last reply Reply Quote 0
                  • jhoepffner
                    jhoepffner last edited by

                    function main()
                    {
                    var tcpRecept = arguments[0];
                    var tranche = arguments[1];
                    var out = [];
                    for (ii = 0; ii < 64; ii++)
                    {
                    out[ii] = -1;
                    }
                    var test = tcpRecept.charAt(0);
                    if (test == "*")
                    	{
                    	var channelNumber = parseInt((tcpRecept.slice(3,7)), 16);
                    	for (i = 0; i < channelNumber; i++)
                    		{
                    		var channel = parseInt((tcpRecept.slice((7+6*i),(11+6*i))), 16);
                    		var value = parseInt((tcpRecept.slice((11+6*i),(13+6*i))),16);
                    		out [channel-1] = value;
                    		}
                    	return out;
                    	}
                    }
                    

                    Jacques Hoepffner http://hoepffner.info
                    GigaByte 550b / Ryzen 7 3800X / Ram 64 Go / RTX 3090 24 Go / SSD 2 To / raid0 32 To
                    MBP 13' i5 2.6 Ghz 16 Go / Intel Iris / macOs 10.11.6 / izzy 2.6.1 + 3.0.3b2
                    MBP 15' i7 2.6 Ghz 16 Go / GTX 650M 1Go/ MacOs10.13.3 / Izzy 2.6.1
                    MSI GS65 i7 3.6 Ghz 32 Go / GTX 1070 8 Go / Windows 10 / Izzy 3.0.3b2

                    1 Reply Last reply Reply Quote 0
                    • jhoepffner
                      jhoepffner last edited by

                      that's the new version for 64 channels, a bit more compact

                      Jacques Hoepffner http://hoepffner.info
                      GigaByte 550b / Ryzen 7 3800X / Ram 64 Go / RTX 3090 24 Go / SSD 2 To / raid0 32 To
                      MBP 13' i5 2.6 Ghz 16 Go / Intel Iris / macOs 10.11.6 / izzy 2.6.1 + 3.0.3b2
                      MBP 15' i7 2.6 Ghz 16 Go / GTX 650M 1Go/ MacOs10.13.3 / Izzy 2.6.1
                      MSI GS65 i7 3.6 Ghz 32 Go / GTX 1070 8 Go / Windows 10 / Izzy 3.0.3b2

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post