• 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

    keep actors values in and out synced (data array)

    How To... ?
    6
    14
    1727
    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.
    • bonemap
      bonemap Izzy Guru @DillTheKraut last edited by bonemap

      @dillthekraut

      Hi,

      When you imply ‘deeply nested’ how many layers of user actor are there?

      Is it an option to bring the Data Array out of the depths and route the outputs to the deeper layers?

      You say,

      “ If the data is recalled, the inputs stay the same, while the outputs and the loaded data change. If write is hit, all data is overwritten, with the still standing inputs, even if there should be one value changed only.“

      However this sounds like expected behaviour of the Data Array. When we recall a line of the data, the corresponding data set is sent to the outputs. In my experience the recall leave the inputs unchanged, as you suggest. When data is appended through the ‘write’ trigger a corresponding complete line of data is replaced based on the values at the inputs. Therefore, if an input value remains unchanged it is still being overwritten with the same value as represented at the input.

      Best wishes

      Russell

      http://bonemap.com | Australia
      Izzy STD 4.2 | USB 3.6 | + Beta
      MBP 16” 2019 2.4 GHz Intel i9 64GB AMD Radeon Pro 5500 8 GB 4TB SSD | 14.5 Sonoma
      Mac Studio 2023 M2 Ultra 128GB | OSX 15.3 Sequoia
      A range of deployable older Macs

      D Aidan 2 Replies Last reply Reply Quote 0
      • D
        DillTheKraut @bonemap last edited by

        Hello @bonemap,

        thank you for your answers.

        I generaly like to put things into user actors for several reasons. Main one is, to be able to easily update everything, as I often have multiple instances of the same functions (or in a lot of scenes). On the other hand, this issue is not limited to the data array actor. Therefor I would need have every actor I need to change the value, to stay on the main level, contradicting the user actor intention.


        You are right about the data arrays behaviour beeing expected. My question however is, how to work around it in the most save way. In two of my projects I have more then 15 of those actors with 10 or more values each. If I want to change only one value for an index, I need to update all other values, as those might be on a state of a different index.

        In both cases changes of the outputs doesn't reflect to the controllers, connected to the inputs.

        bonemap 1 Reply Last reply Reply Quote 0
        • bonemap
          bonemap Izzy Guru @DillTheKraut last edited by

          @dillthekraut

          Hi,

          I understand, I think, and it does sound annoying to have the Data Array in user actors that update saved changes from one instance to all other instances. It appears then that you need some kind of trigger that will reset the Data Array inputs - and I have had this issue before. I think tried to solve it by having a value loopback system from the Data Array outputs to the data array inputs, but I don't remember the exact patch and there must have been value delays and/or gates to separate updating the inputs from receiving new values.

          Best Wishes

          Russell

          http://bonemap.com | Australia
          Izzy STD 4.2 | USB 3.6 | + Beta
          MBP 16” 2019 2.4 GHz Intel i9 64GB AMD Radeon Pro 5500 8 GB 4TB SSD | 14.5 Sonoma
          Mac Studio 2023 M2 Ultra 128GB | OSX 15.3 Sequoia
          A range of deployable older Macs

          D 1 Reply Last reply Reply Quote 0
          • m_theater
            m_theater last edited by m_theater

            @DillTheKraut , perhaps that helps the screenshot shows a panel for an artist to fine tune position of projector surfaces. It isn't nested but the values are feed through.

            best clemens

            sample_data_array_panel.izz

            avk4.net

            D 1 Reply Last reply Reply Quote 2
            • D
              DillTheKraut @bonemap last edited by

              @bonemap

              Good point, I wasn't realy aware of the fact, them getting updated every time you save changes of 'cloned' user actors. I most times don't use the internal save mode and try to have a function, which reads from txt files as often as needed. But I'll keep that in mind in future.


              @m_theater 

              thank you for your example. I guess this is what I most times go with and what @bonemap meant with value loop.
              This way another issue is solved, which is, that value changes are not directly reflected on the outputs.

              Would it be a feature request worth, that would offer two new options?

              1. keep outputs updated with the inputs. If input is changed, it immidiately gets reflected on the output.
              2. if using the recall value, not only the outputs are recalled, but the input values change to the loaded data. The index value would then still offer an edit of other indexes without changing the input data.

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

                @dillthekraut said:

                Would it be a feature request worth, that would offer two new options?
                1. keep outputs updated with the inputs. If input is changed, it immidiately gets reflected on the output.
                2. if using the recall value, not only the outputs are recalled, but the input values change to the loaded data. The index value would then still offer an edit of other indexes without changing the input data.

                #1 I don't think this makes sense, since the output should be providing data read from the Data array text file. When 'replace' is triggered the inputs are reflected in the outputs. This makes sense since now the text file contains these values. Any values entered as inputs are 'temporary values' until a Data Array operation (like replace) adds the values to the document.
                Since the Inputs and Outputs are separate, it allows you to create feedback controls which show the current recorded values, the current input values, and compare them as required.

                #2 this would create a special case where Isadora doesn't work this way for any other actors, and I feel it might limit the flexibility of the Data Array in someway. 
                The demo file is great, it shows how you can logically break apart the inputs and outputs, thanks @m_theater :)
                It might be a little more work but the separation really allows a lot of possibilities.

                We are considering some new data types (a table of data is one), this would likely come with Controls designed for viewing this data. The goal is to make it easier to deal with data sets, and to maintain the fastest possible processing of the data. I know Mark has been putting a lot of thought into this, but we can't offer any timeline just yet.

                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.

                D 1 Reply Last reply Reply Quote 1
                • D
                  DillTheKraut @m_theater last edited by

                  @m_theater

                  How did you reconnect the data array outputs to the inputs? Or didn't you?
                  To keep them in sync, I add an user actor which is only 'piping the data, as it is forbidden to reconnect output and input directly. At the same time it can be used for some extra logic to alter the data. You can see the highlighted connections in the first screenshot.
                  It is an example which is a surtitle text editor. There are three data array actor as I wanted to show the next and the previous title simultaniously and needed to see the previous and following title times (It was a timelined show).
                  This was the editor only. The player which played the texts (with up to three lines) had 15 separated surtitle player as there was 15 parallel projections. Therefor 15 seperated data arrays with up to 150 lines.


                  m_theater 1 Reply Last reply Reply Quote 0
                  • D
                    DillTheKraut @DusX last edited by DillTheKraut

                    @dusx

                    Thank you for your opinion on this. I see your points, and saw them before as well, which is why I see these features as an option. Like a switch to choose how it works.
                    As you see in my previous post, the work around quickly at least tripples the editing time and makes it much more complex (I see, that this example is an extreme, anyway). Especialy if you have different data types (string, integer, etc.) you have to adjust all of them manualy. Let alone the naming of the in and outputs.

                    Woland 1 Reply Last reply Reply Quote 0
                    • m_theater
                      m_theater @DillTheKraut last edited by

                      @dillthekraut

                      in the example, the Value I/O connection is based around the control panel.

                      So i utilised the show linked value option in the x/y 2d slider. (and this is the feedback you asked for)


                      Using a "dummy" useractor to pipe through values to the beginning of the chain is something i did as well i other cases.

                      But i am asking myself, if it would be better to filter the message for an change "kind of a feedback killer" attached is a screenshot what i mean.

                      avk4.net

                      1 Reply Last reply Reply Quote 2
                      • Aidan
                        Aidan @bonemap last edited by

                        @bonemap Hi Russell,

                        You indicate that there is a limit to the number of layers of user actors that may be nested and still updated. Have you an official number for this limitation?

                        Thx

                        Aidan

                        MacBookPro15,1, Intel Core i9, 2.3 GHz, Processors: 1, Cores: 8, RAM 16 GB, Radeon Pro 560X 4 GB
                        Intel UHD Graphics 630 1536 MB
                        Isadora 3.08f11

                        bonemap DusX 2 Replies Last reply Reply Quote 0
                        • bonemap
                          bonemap Izzy Guru @Aidan last edited by

                          @aidan

                          Hi Aidan,

                          I don’t know the answer to that. Might need to get an official team member to fill in the blank. 

                          Best wishes

                          Russell

                          http://bonemap.com | Australia
                          Izzy STD 4.2 | USB 3.6 | + Beta
                          MBP 16” 2019 2.4 GHz Intel i9 64GB AMD Radeon Pro 5500 8 GB 4TB SSD | 14.5 Sonoma
                          Mac Studio 2023 M2 Ultra 128GB | OSX 15.3 Sequoia
                          A range of deployable older Macs

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

                            @aidan said:

                            Have you an official number for this limitation?

                             I don't know.. I haven't hit it, but updates/saves can start to become slow once you have many large/deep user actors.
                            It's possible the number is 999 (as this is the limit on a few things internally) but I think @mark is the only person who can give you a definitive answer.

                            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
                            • Woland
                              Woland Tech Staff @DillTheKraut last edited by

                              @dillthekraut said:

                              the work around quickly at least tripples the editing time and makes it much more complex (I see, that this example is an extreme, anyway). Especialy if you have different data types (string, integer, etc.) you have to adjust all of them manualy. Let alone the naming of the in and outputs.

                              Unfortunately, this is kind of the only way I can think of, but you could use JSON Parser and JSON Bundler from the Add-Ons Page to make your life a bit easier (hopefully)

                              https://recordit.co/xRM4ojCDo8

                              Example file: wrapped-data-array.zip

                              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