• 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
FORUM

Navigation

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

    Processing Midi Control Watchers and Sends

    How To... ?
    midi optimization
    2
    7
    2359
    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.
    • J
      jtsteph last edited by

      Hello,

      I am in the midst of revising a project in which my goal is to be able to snapshot the state of my midi controllers (200+ parameters X 4 tracks = 800+).

      The project is for an improvised audio reactive performance group in which I manipulate 4 tracks of video with various filters and transforms with parameters that can be driven by audio. It works beautifully but lacks the ability to have any stored parameters so I am working from scratch each time. I am unable to store a snapshot currently as all of the midi is being processed in nestled User Actors.


      My plan, currently, is to move all of the midi out into the top level scene and connect it back into the user comps which = hundreds of user inputs/outputs. In addition to being able to restore the settings with a sanpshot, I will need to send these values back to the controller to update the values and displays on the controller (BCR2000 + others).

      I am wondering about the processing overhead of the midi watcher actors and  midi send actors. With the four tracks of video I am looking at 800+ control watchers. I guess I have always been using that many watchers embedded in user actors, but I am curious what the overhead on these actors are.

      In addition, if anyone has any tips as to how I might optimize this (IE would it be better practice to direct connect everything using user input/outputs, or use Set and Get Global Values actor to transmit the values), I would be grateful.


      Best, Justin

      Isadora 4.0.2, W11 PRO 13700K (in a 4U case), 128GB RAM, 4 Lane M.2 Storage, RTX 3090, Ultraleap Motion 2, Behringer UMC404HD audio interface, Streamdeck XL, Streamdeck+, KorgNano Kontrol2.
      Website: http://justinstephenson.com

      1 Reply Last reply Reply Quote 1
      • J
        jtsteph last edited by

        So a couple of quick tests revealed that the global set and get don't seem to effect processing, especially when minimizing the actor so the GUI does not have to update the numbers on screen. It seems that it would be a quick way to get values from midi controllers in the top level into various user actors without spaghetti.

        Now it is down to methodology for setups - whether I would like to build this as a scene-by-scene thing with one or two snapshots per scene (not using global values), or if I would like to have it all in one scene using global values and a whole pile of snapshots.


        I think I'm leaning towards the scene by scene method as it's more verbose. Time to make some noodles :-) I'll post some insane captures when I get things running.

        Isadora 4.0.2, W11 PRO 13700K (in a 4U case), 128GB RAM, 4 Lane M.2 Storage, RTX 3090, Ultraleap Motion 2, Behringer UMC404HD audio interface, Streamdeck XL, Streamdeck+, KorgNano Kontrol2.
        Website: http://justinstephenson.com

        Woland 1 Reply Last reply Reply Quote 0
        • Woland
          Woland Tech Staff @jtsteph last edited by Woland

          @jtsteph

          Be careful naming your Set and Get Global Values actors between Scenes. If they have the same names in all your Scenes you might run into problems (unless you connect an Enter Scene Trigger to a Recall Snapshot actor and ignore initializing values at anything). Just be careful that you don't overwrite data that you meant to keep when you transition between Scenes.

          Another way to avoid this pitfall is to tie the names of the Set and Get Global Values actors to the Scene number that they're in, ensuring that they're always unique and never conflict.

          Simple Concept Part 1/2


          Simple Concept Part 2/2


          Here is the simple line that I wrote inside the Text Formatter that make is add "Global #s Scene " and add the Scene Number onto the end, creating a unique name for each Scene's Get/Set Global Values actors:


          You can also use Broadcaster and Listener actors so that you don't need to physically connect the Text Formatter actor (which makes the unique name for the Set/Get Global Values actors in the Scene) to every instance of a Get Global Values actor in each Scene (as some/many will be inside User Actors/Macros).


          Here is an example >>>ISADORA PATCH<<< as well.

          Best wishes,

          Woland

          TroikaTronix Technical Support
          New Support Ticket: https://support.troikatronix.com/support/tickets/new
          Support Policy: https://support.troikatronix.com/support/solutions/articles/13000064762
          Add-Ons: https://troikatronix.com/add-ons/ & https://troikatronix.com/add-ons/?u=woland
          Professional Services: https://support.troikatronix.com/support/solutions/articles/13000109444

          | Isadora Version: all of them | Mac Pro (Late 2013), macOS 10.14.6, 3.5GHz 6-core, 1TB SSD, 64GB RAM, Dual AMD FirePro D700s |

          1 Reply Last reply Reply Quote 0
          • J
            jtsteph last edited by

            Thanks @Woland ! This is very helpful. Using the scene number actor as an index for the Global Values name will make this work much easier. I was just beginning to put together a monster patch with 200+ values going into it. It offends my sense of using "nestling" to keep the top level simple. Especially, so, when also sending the snapshot values back to the controller on the scene change to update the values there. I will reframe my working process to incorporate this.

            Isadora 4.0.2, W11 PRO 13700K (in a 4U case), 128GB RAM, 4 Lane M.2 Storage, RTX 3090, Ultraleap Motion 2, Behringer UMC404HD audio interface, Streamdeck XL, Streamdeck+, KorgNano Kontrol2.
            Website: http://justinstephenson.com

            Woland 1 Reply Last reply Reply Quote 0
            • Woland
              Woland Tech Staff @jtsteph last edited by

              @jtsteph said:

              Thanks @Woland ! This is very helpful. Using the scene number actor as an index for the Global Values name will make this work much easier. I was just beginning to put together a monster patch with 200+ values going into it. It offends my sense of using "nestling" to keep the top level simple. Especially, so, when also sending the snapshot values back to the controller on the scene change to update the values there. I will reframe my working process to incorporate this.

              I'd love to see an example Patch of what you're working on once you've finished (if you are comfortable sharing).

              We'd love it if you could tag us when and if you share any photos or videos on social media so that we can share them with our followers too. We're always excited to see what our users around the world create with Isadora and love to celebrate our community!

              Facebook, Twitter: @troikatronix
              Instagram: @troikatronix_isadora 

              Also feel free to join the Isadora User Group on Facebook (if you haven't already).

              Best wishes,

              Woland

               

              TroikaTronix Technical Support
              New Support Ticket: https://support.troikatronix.com/support/tickets/new
              Support Policy: https://support.troikatronix.com/support/solutions/articles/13000064762
              Add-Ons: https://troikatronix.com/add-ons/ & https://troikatronix.com/add-ons/?u=woland
              Professional Services: https://support.troikatronix.com/support/solutions/articles/13000109444

              | Isadora Version: all of them | Mac Pro (Late 2013), macOS 10.14.6, 3.5GHz 6-core, 1TB SSD, 64GB RAM, Dual AMD FirePro D700s |

              1 Reply Last reply Reply Quote 0
              • J
                jtsteph last edited by

                I will do. Always happy to share. I just put a gallery up from the show we did at Sound Symposium. I will tag you on it now.

                Isadora 4.0.2, W11 PRO 13700K (in a 4U case), 128GB RAM, 4 Lane M.2 Storage, RTX 3090, Ultraleap Motion 2, Behringer UMC404HD audio interface, Streamdeck XL, Streamdeck+, KorgNano Kontrol2.
                Website: http://justinstephenson.com

                Woland 1 Reply Last reply Reply Quote 2
                • Woland
                  Woland Tech Staff @jtsteph last edited by

                  @jtsteph said:

                  I will do. Always happy to share. I just put a gallery up from the show we did at Sound Symposium. I will tag you on it now.

                   Can't wait to see!

                  TroikaTronix Technical Support
                  New Support Ticket: https://support.troikatronix.com/support/tickets/new
                  Support Policy: https://support.troikatronix.com/support/solutions/articles/13000064762
                  Add-Ons: https://troikatronix.com/add-ons/ & https://troikatronix.com/add-ons/?u=woland
                  Professional Services: https://support.troikatronix.com/support/solutions/articles/13000109444

                  | Isadora Version: all of them | Mac Pro (Late 2013), macOS 10.14.6, 3.5GHz 6-core, 1TB SSD, 64GB RAM, Dual AMD FirePro D700s |

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