assurance-tunnel
assurance-tunnel
assurance-tunnel
assurance-tunnel

Guru Session #3: The Data Array Actor (March 25th, 2020 - 6pm CET)



  • Dear Community,

    As mentioned in my previous session, we're going to alternate between advanced topics (Wednesdays) and more introductory topics (Fridays) during each guru session. All levels are always invited to join these sessions, but today we're going to tackle the Data Array actor which is very powerful for managing data, but is also kind of high on Nerdtastic™ scale.

    6pm CET (Europe)
    5pm GMT (UK)
    1pm EDT (East Coast USA)
    10am PDT (West Coast USA)

    Live Stream URL will be posted here and on social media at 5:50pm CET. I'm looking forward to seeing you there!

    Best Wishes,
    Mark



  • Here's the download link for the file that accompanies this session. URL for the live stream at 5:50pm CET.



  • URL for the live stream. (Also works for viewing later!)


  • Beta Tester

    @markthanks so much for your sessions  really helping a lot  !

    I'm just trying to achieve this
    "no reset position if easy IO not finished" function that your were evoking,
    but I can 't remember the equivalent of "one bang" as called in max, 
    an actor that blocks input trig(a) if another trig(b) has not been input before repeating... 

    so I build this I suppose it ' s not ideal cos not really working as expected.. maybe a priority question, I'm sure there s simpler to find...


  • Tech Staff

    @bennnid

    Actors that came to my mind: comparator actor and Multi Blocker actor. Not sure if they work for that you want to achieve



  • Hello guys, I was a little bit disappointed, when Mark told about the new 'triangled' values.

    I actually once had a patch with alot of selector actors in one user actor. And as I sometimes had to increase the number of possible values for all of them, depending on the project. Instead of setting em bit by bit, I connected the value number input to a user actor input and changed it there once for all. If I understand it right, this isn't possible anymore?


    It was kind of a preset system for a lot of output actors which had all the same parameters, but might have different values on the same preset. As sometimes I had new ideas for some new parameters, I had to increase the number of all values at the selectors.


    It isn't an big deal, as I haven't used the patch for a while, anyway. But I wanted to speak against, it would never make sence to have the possibility in changing this value dynamically. Though it might not be to often that someone may need it this way.

    Best

    Dill


  • Beta Platinum

    The logic demonstrated in the sample patches provided with this 'home school' edition is enlightening. I mean, to think in a way that produces such efficiency and with such a deceptively simple implementation. It defies me.  



  • @dillthekraut said:

    But I wanted to speak against, it would never make sence to have the possibility in changing this value dynamically. Though it might not be to often that someone may need it this way.

    Well, I stand by this statement. I'll expand on our reasoning behind this decision my points on this. Let's consider the Selector actor.

    1) In the example below, the 'inputs' input has been increased from 3 to 6. The first three linked inputs still work. But the three that have been added do not have links, so no data can be passed from 'value 4', 'value 5', and 'value 6'. Given that these inputs cannot pass data, and that you cannot have Isadora create new links except through user interaction, what do you gain by changing this value from within the patch? 

    2) In the example below, the 'inputs' input has been reduced from 3 to 1. The first linked input still works, but the two that removed are gone now, as are the links that were connected to those two inputs. Furthermore, if you set the 'inputs' value to 3 again, the links that were previously there are not restored. (It's been that way since Isadora 1.)

    Again, given that Isadora does not have a "Create a Link Between Actors" actor, how could a real-time input to the something like the 'inputs' input of the Selector ever be useful in a real-world situation?

    I can tell you what was not useful: the number of support incidents where more novice users crashed Isadora and lost work when the unknowingly connecting a Wave Generator to inputs like this.

    In your example, you could add or remove inputs to several Selector (or similar) actors using one number. If you had a bunch of links in place and you reduced the number, I suppose that could save a bit of time -- the unneeded links would disappear but the existing ones would stay in place, and then you could copy and paste this system to a new patch, etc. If, however, you increased the number, you'd still have to manually create links to the new inputs, so for sure there is no substantial amount of time saved in that case.

    I'm honestly not trying to be argumentative here. I can tell you, this was discussed among the team extensively before we made this decision and we did not see a downside. We definitely saw an upside in terms of support tickets and reducing user confusion.

    Best Wishes,
    Mark



  • @bennnid said:

    but I can 't remember the equivalent of "one bang" as called in max, an actor that blocks input trig(a) if another trig(b) has not been input before repeating.


    I just looked up the documentation for "onebang" in Max. Here's a user actor that I think achieves the same functionality.

    onebang.iua3

    Best Wishes,
    Mark


  • Beta Tester

    dear @mark thanks for your one bang, I'll try this -;)
    I tried this other way maybe you can tell me why it doesn't work? 


  • Tech Staff

    @mark said:

    I can tell you what was not useful: the number of support incidents where more novice users crashed Isadora and lost work when the unknowingly connecting a Wave Generator to inputs like this.

     +1 students do this all the time. Sometimes I dont even have to walk over and see what they did - I can tell by the look on heir face.

    Its difficult because sometimes I think this is a design flaw but more often than not I don't. It's the beauty of real time interactive software. Sometimes we have to crash so we understand how/why not to do it again.

    You can do lots of things like this in Isadora like connecting a wave generator to the movie index of a movie player for example! 


  • Beta Platinum

    Hi 

    I couldn't be there live but watched it today. @mark great class again.

    I've been using a system to read and play values for a couple of years now. I only use one value that is a text input so I can store json strings. (I have user actors that convert all my midi controllers to a json string and also most of the video effects are in user actors that read json strings so I can connect everything with one line.) 

    with these two actors I can store and read json strings.

    It has a resolution of how many points per second have to be stored. This is also stored in the data array. 
    When this is read by the value reader it is possible to play the data slower, faster backwards,...

    The only problem is that it slows down my system if I use it intensively.

    Value player.iua3

    Value recorder.iua3

    Maybe someone can make it better. (sorry I havent commented my patch yet.)

    With kind regards 

    Gertjan Biasino


  • Beta Platinum

    @gertjanb said:

    Hi 
    I couldn't be there live but watched it today. @mark great class again.
    I've been using a system to read and play values for a couple of years now. I only use one value that is a text input so I can store json strings. (I have user actors that convert all my midi controllers to a json string and also most of the video effects are in user actors that read json strings so I can connect everything with one line.) 
    with these two actors I can store and read json strings.
    It has a resolution of how many points per second have to be stored. This is also stored in the data array. 
    When this is read by the value reader it is possible to play the data slower, faster backwards,...
    The only problem is that it slows down my system if I use it intensively.
    Value player.iua3
    Value recorder.iua3
    Maybe someone can make it better. (sorry I havent commented my patch yet.)
    With kind regards 
    Gertjan Biasino

     O yes if you want to try this out, fist make a folder called "Data" next to the Isadora file I always store all the data in this folder.