• Isadora
  • Get it
  • Forum
  • Help
  • ADD-ONS
  • Newsletter
  • Impressum
  • Dsgvo
  • Impressum
Forum

Navigation

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

    [LOGGED] Max JavaScript Actor Outputs Increase

    Feature Requests
    javascript zoomosc osc zoom virtual theatre
    3
    8
    262
    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.
    • liminal_andy
      liminal_andy last edited by Woland

      I am using Bernie's ( @peuclid ) wonderful Javascript actor for calculating the position of anyone on a Zoom call from a gallery input and some live ZoomOSC data. The maximum number of video feeds in the gallery view currently supported by Zoom is 49. The JS actor needs 3 outputs reserved for metadata (number of videos, width of each box, height of each box) and then two additional outputs for every video feed to provide horizontal and vertical pans. For a full Zoom call, this is 3 + 2 * 49 = 102, which is in excess of the 99 outputs allowed by a JS actor. Can we increase the limit so that this workflow can function for Zoom calls of any size? I've got a client who wants to use Isadora to power a video matrix for some broadcast events, and they'll need all 49 it seems.

      Andy Carluccio
      Zoom Video Communications, Inc.
      www.liminalet.com

      [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
      [...also a bunch of hackintoshes...]

      mark 1 Reply Last reply Reply Quote 1
      • mark
        mark @liminal_andy last edited by

        @liminal_andy said:

        Can we increase the limit so that this workflow can function for Zoom calls of any size?

        Since that's not going to happen overnight, what about changing the way the actor functions:

        1) First output is JSON record with calls + width + height { "calls":3, "width":100, "height":75 }
        2) Subsequent outputs are horz and vert { "horz":1, "vert":1 }

        Could be JSON arrays as well if that's simpler:

        1) First output is JSON array with calls + width + height [ 3, 100, 75 ]
        2) Subsequent outputs are horz and vert [ 1, 1 ]

        Then you could use the JSON Parser actor to extract the values.

        If this could happen, the existing 99 outputs could accommodate 98 people on the call.

        For this use case, if you simply did #1, you'd have enough for 49 people on the call. (1st output with three items leaves 98 more outputs, divided by 2 gives 49 people.)

        Best Wishes,
        Mark

        Media Artist & Creator of Isadora
        Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

        liminal_andy peuclid 2 Replies Last reply Reply Quote 0
        • liminal_andy
          liminal_andy @mark last edited by

          @mark Yep, 1 is my current workaround. Just logging this for the future I suppose, if it's possible. Thanks!

          Andy Carluccio
          Zoom Video Communications, Inc.
          www.liminalet.com

          [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
          [...also a bunch of hackintoshes...]

          mark 1 Reply Last reply Reply Quote 0
          • mark
            mark @liminal_andy last edited by

            @liminal_andy said:

            just logging this for the future I suppose, if it's possible. Thanks!

            It's totally possible... 99 was an arbitrary limitation. I didn't think we'd ever get to the point where people would need that many. But Isadora users continue to amaze.

            Best Wishes,
            Mark

            Media Artist & Creator of Isadora
            Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

            1 Reply Last reply Reply Quote 1
            • peuclid
              peuclid @mark last edited by

              @mark I hadn't heard of the JSON Parser actor until now. That's really helpful and makes output cleaner. Rather than a big array where we need to keep track of what element is where, we can have nice names associated with everything.

              Thanks,

              Bernie

              Bernie Bernstein
              MacBook Pro (13-inch M1 2020) 16GB, MacOS Monterey- Izzy 3.1.1 (ARM)
              Based in Newton, MA USA

              mark 1 Reply Last reply Reply Quote 0
              • mark
                mark @peuclid last edited by

                @peuclid said:

                I hadn't heard of the JSON Parser actor until now. That's really helpful and makes output cleaner.

                 Just take note that it's not included with the main application; people need to download those plugins.

                Best Wishes,
                Mark

                Media Artist & Creator of Isadora
                Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

                peuclid 1 Reply Last reply Reply Quote 0
                • peuclid
                  peuclid @mark last edited by

                  @mark Yup, I saw that. That's a nice one to have. Perhaps some day it can get included in the product.

                  I just updated my repo with the sample code to do it that way but left an escape hatch to revert to the old version.

                  There's now a variable `OLDSTYLE` that can be set to `true` to return the play array, but the new default is to return values like:

                  [
                      {
                          count: <# frames in gallary>,
                          width: <width of each of the frames>,
                          height: <height of each of the frames>
                      },
                      {
                          panH: <H position for frame 1>,
                          panV: <V position for frame 1>
                      },
                      {
                          panH: <H position for frame 2>,
                          panV: <v position for frame 2>
                      },
                      {
                          panH: <H position for frame 3>,
                          panV: <V position for frame 3>
                      }
                      ...
                  ]
                  

                  Bernie Bernstein
                  MacBook Pro (13-inch M1 2020) 16GB, MacOS Monterey- Izzy 3.1.1 (ARM)
                  Based in Newton, MA USA

                  mark 1 Reply Last reply Reply Quote 2
                  • mark
                    mark @peuclid last edited by

                    @peuclid

                    <3 ;-)

                    Media Artist & Creator of Isadora
                    Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

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