• 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

    Comparator actor behaviour ?

    How To... ?
    8
    24
    12266
    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.
    • N
      nZo last edited by

      Thanks Mark for detailed explanation.

      Actor's behavior seems logical. Process execution speed did not allow me to see what happens, look like both result.

      perhaps made on a dev code a short delay before analyse theses values for case 2 values put in on same (relative) time ...

      1 Reply Last reply Reply Quote 0
      • danshorten
        danshorten last edited by

        Had a flight this morning so spent 15 mins doing a quick inelegant but reliable patched solution to your problem.

        The thing is you are changing the numbers in your comparator one at a time giving you 3 combinations of numbers.

        Ie  you start with numbers A & B and end with C & D  giving you the following sequence of changes.

        AB

        CB

        CD

        So of course you get a true/false outcome for each combination.

        By ignoring the changes and then simply comparing the final pair you will get what I think it is you are after.

        First solution that came to mind is patched and attached.

        Hope it helps.

        Dan

        BTW: in the patch trigger delay 2a and 2b need to be longer than trigger delay 1 but don’t need to be the values I have set. (the process needs at least .2 seconds to complete though i.e. min vals of 0.2 & 0.4 – on my laptop anyway)

        I have also set initialize values for the toggles and gates.

        6aee35-random-comparator-solution.izz

        1 Reply Last reply Reply Quote 0
        • danshorten
          danshorten last edited by

          SS of above 0084e4-screen-shot-2015-04-03-at-13.31.16.png

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

            A clean fix using Javascript actor.

            function debug(printString)
            { if (DebugMode){ print(printString + "\n"); } }
            
            function main() { 
            DebugMode = true; 
             op = parseInt(arguments[0]); 
            // op 1, lessthan 
            // op 2, greaterthan 
            
            in1 = parseFloat(arguments[1]); 
            in2 = parseFloat(arguments[2]); 
            debug("1= " + in1 + " 2= " + in2);
            if (op === 1){ if (in1 < in2) { 
             opOut = 1; 
             debug("out1= " + opOut); 
             }else{
             opOut = 0; 
             debug("out2= " + opOut); 
             } } 
             if (op === 2){ if (in1 > in2) { 
             opOut = 1; 
             debug("out1= " + opOut); 
             }else{
             opOut = 0; debug("out2= " + opOut); 
             } } 
             outVals = [opOut] 
             debug("vals= " + outVals ); 
             return outVals; 
            } 
            

            The attached file shows how I set this up. The above Javascript goes into the JavaScript actor... its basic and needs expanding, but it works. ( @Michel seems like I can't format the Javascript code anymore.. and HTML view auto extends so you can't make edits.) 0a354b-compareviajs.jpg

            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
            • danshorten
              danshorten last edited by

              @DusX

              Nice!

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

                @Mark

                I was surprised that this worked, since I believed that the Javascript would run each time a value arrives, 
                but in fact it seems that all values received during the cycle are used. Is this correct?
                If so it makes for an easy way to trap incoming values for a synchronized process.

                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
                • N
                  nick last edited by

                  This javascript version produces the same behaviour as the comparator actor for me - sending two values from random value actors both triggered from a single actor produces the intermediate result when the first input has changed, and the final result when the second input changes.

                  MacBook Pro 11.5.2

                  1 Reply Last reply Reply Quote 0
                  • N
                    nick last edited by

                    I would use this to give single trigger when both are changing 'simultaneously'. The short delay means the intermidaite value gets lost.

                    The value on the trigger can be adjusted to a longer delay if it is unreliable. The final comparator can be omitted if you just want the value 0 or 1 from the comparison - it is there to recreate the true false triggers.
                    Nick

                    93d8f5-simultaneouscomparator.izz

                    MacBook Pro 11.5.2

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

                      Strange. I expected the js to behave the same. I expected to have to add some logic to require both values be new. ( or like) But I couldn't see any double outputs.

                      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
                      • N
                        nick last edited by

                        Heres monitor output generated - first set of zeros created by changing value 2 to zero (1 was aready set to 0) - so just one output as only 1 input changed.

                        Then clicked on trigger value at top once which generates the next two sets, where the intermediate 'incorrect' value appears.
                        The final two sets of values (where nothing changes) are generated by changing the value of input 1 from 1 to 2

                        a08cfa-comp.jpg

                        MacBook Pro 11.5.2

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

                          Ok. Well that's really what it should do... I just hadn't noticed and thought it served the purpose. I will write a version that works.. Using the simultaneous actor to trigger the action.

                          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
                          • N
                            nZo last edited by

                            @ dusX : I don't know yet how to use javascript but you're caught my attention. I puts me as possible !
                            @ nick : I return integrate your solution in my rectangle generator and I post the patch right here very soon
                            @ danshorten : your patch are true but not very stable on result for me . i just keeping searching.

                            A big thanks to all for your help and your efficiency.

                            nZo

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

                              Dear All,

                              Well, it seems pretty clear that I need to address this in the actual Comparator actor. The behavior isn't intuitive in the case cited here.
                              Best,
                              Mark

                              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