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

Navigation

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

    Processing Midi Control Watchers and Sends

    How To... ?
    midi optimization
    2
    7
    1615
    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

      W10 PRO 5960X@4.2Ghz (in a 4U case), 64GB RAM @ 2800, RTX 3090, Behringer UMC404HD audio interface, Izzy 3 USB
      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.

        W10 PRO 5960X@4.2Ghz (in a 4U case), 64GB RAM @ 2800, RTX 3090, Behringer UMC404HD audio interface, Izzy 3 USB
        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 Link: https://support.troikatronix.com/support/tickets/new
          TroikaTronix Support Policy: https://support.troikatronix.com/support/solutions/articles/13000064762
          TroikaTronix Add-Ons Page: https://troikatronix.com/add-ons/

          | Isadora 2.6.1 + 3 | Mac Pro (Late 2013), macOS 10.14.6, 3.5GHz 6-core, 1TB SSD, 64GB RAM, Dual AMD FirePro D700s | Macbook Pro (Retina, 15", Mid 2015), macOS 10.11.4, 2.8GHz Intel Core i7, 16GB RAM, Intel Iris Pro 1536 MB |

          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.

            W10 PRO 5960X@4.2Ghz (in a 4U case), 64GB RAM @ 2800, RTX 3090, Behringer UMC404HD audio interface, Izzy 3 USB
            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 Link: https://support.troikatronix.com/support/tickets/new
              TroikaTronix Support Policy: https://support.troikatronix.com/support/solutions/articles/13000064762
              TroikaTronix Add-Ons Page: https://troikatronix.com/add-ons/

              | Isadora 2.6.1 + 3 | Mac Pro (Late 2013), macOS 10.14.6, 3.5GHz 6-core, 1TB SSD, 64GB RAM, Dual AMD FirePro D700s | Macbook Pro (Retina, 15", Mid 2015), macOS 10.11.4, 2.8GHz Intel Core i7, 16GB RAM, Intel Iris Pro 1536 MB |

              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.

                W10 PRO 5960X@4.2Ghz (in a 4U case), 64GB RAM @ 2800, RTX 3090, Behringer UMC404HD audio interface, Izzy 3 USB
                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 Link: https://support.troikatronix.com/support/tickets/new
                  TroikaTronix Support Policy: https://support.troikatronix.com/support/solutions/articles/13000064762
                  TroikaTronix Add-Ons Page: https://troikatronix.com/add-ons/

                  | Isadora 2.6.1 + 3 | Mac Pro (Late 2013), macOS 10.14.6, 3.5GHz 6-core, 1TB SSD, 64GB RAM, Dual AMD FirePro D700s | Macbook Pro (Retina, 15", Mid 2015), macOS 10.11.4, 2.8GHz Intel Core i7, 16GB RAM, Intel Iris Pro 1536 MB |

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