• 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

    Dynamic List Control

    How To... ?
    control zoom zoomosc control panel virtual theatre
    6
    18
    2746
    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.
    • Woland
      Woland Tech Staff @bonemap last edited by Woland

      @bonemap said:

      However, the buttons and labels remain unlinked programmatically. And while there may be a convoluted backend process that could facilitate such a link its expensive in terms of patching and time dividend overall.  A request to consider dynamic button labels in the control panel feature set still makes sense to me, despite your exquisite and lateral patching prowess. Frankly I am awestruck by it. but somehow remain unconvinced that I would choose that route over a simpler implementation if offered by other OSC control software options.

       Yes, I just wanted to figure out what's possible now with the current version. I'm already brainstorming a feature request to make this far easier and much less tedious.

      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 |

      mark 1 Reply Last reply Reply Quote 1
      • mark
        mark @Woland last edited by

        @woland @michel @bonemap @liminal_andy @juriaan 

        Very good discussion here and it's clear that the ability to adjust the contents of the Radio Button control would be a super good new addition to that plugin's capabilities. To that end, I've just made Andy a version of the Radio Button control that I'm calling List Selector. This version of the plugin allows you to change the list by sending a list of carriage return separated strings into a second controller number.

        Now, it will be easy to update the Radio Control control to have this functionality once the we've gotten the Big Sur release out and the code is unfrozen. But right now I can't make any changes or @DusX and @Woland will slap me. ;-) In the meantime I've sent Andy the plugin so he won't have to abandon Isadora for this project.

        Best Wishes,
        Mark

        Media Artist & Creator of Isadora
        Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

        liminal_andy 2 Replies Last reply Reply Quote 2
        • liminal_andy
          liminal_andy @mark last edited by

          @mark I will keep an eye out for this and look forward to checking it out! I'll be sure to share what I end up doing with it for this client. 

          Andy Carluccio
          Zoom Video Communications, Inc.
          www.liminalet.com

          [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
          [...also a bunch of hackintoshes...]

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

            @mark based on how you built List Selector, how easy would a search option be for it? Or will that need to be handled by a JS actor doing substring checks?

            Andy Carluccio
            Zoom Video Communications, Inc.
            www.liminalet.com

            [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
            [...also a bunch of hackintoshes...]

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

              @liminal_andy said:

              @mark based on how you built List Selector, how easy would a search option be for it? Or will that need to be handled by a JS actor doing substring checks?

               I suppose a third input could be added where you gave a sub string and it searched the list. But what is the exact functionality here? You type a substring and it selects an item from the list?

              Best Wishes,
              Mark

              Media Artist & Creator of Isadora
              Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

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

                @mark To be specific: 

                There will be several hundred entries on the list, too many to scroll through for navigation. I need to be able to start entering a username into an input field and cull the dynamic list to only names containing the substring of what I am entering into the search box, exactly how the actor search feature functions. Then, I will still make a click to select the correct user from the reduced list. Finally, I will click a button to call the action on the selected user (pin, spotlight, etc.)

                Andy Carluccio
                Zoom Video Communications, Inc.
                www.liminalet.com

                [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
                [...also a bunch of hackintoshes...]

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

                  We're so close! Thanks to @mark's speedy brilliance, we now have a method of controlling the list from the node editor. Mark also provided a javascript actor to do the searching function. Now the last step is reconciliation with the data array when search is enabled. Any ideas on how to achieve this? Do we need a change so that when the dynamic list element knows it is being connected to a text input, it passes by label instead of by value? Or is there some trickery we can do to find the correct username from the data array actor even when search is culling the list?

                  Andy Carluccio
                  Zoom Video Communications, Inc.
                  www.liminalet.com

                  [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
                  [...also a bunch of hackintoshes...]

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

                    @liminal_andy said:

                    Thanks to @mark's speedy brilliance

                     cue the superhero theme music.

                    I don't know if I have the best solution for your unresolved procedure, because as you suggest a trigger sending the string as a parameter from the button list would be the most efficient and safest solution... But I would have thought you could deploy a text comparator comparing the search results from the JS search actor to the output of a second data array. If this data array cycled rapidly through its data while comparing the javascript search string it might stop at the matching line and provide a line reference number. I guess this requires you to have completely unique names for each line entry in the array data.

                    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

                    liminal_andy 1 Reply Last reply Reply Quote 1
                    • liminal_andy
                      liminal_andy @bonemap last edited by

                      @bonemap said:

                      <p>@liminal_andy said:</p> <blockquote>Thanks to @mark's speedy brilliance</blockquote> <p> cue the superhero theme music.</p><p>I don't know if I have the best solution for your unresolved procedure, because as suggested accessing the string parameter would be the most efficient and safest solution... But I would have thought you could deploy a second data array to write temporary assignments that precede your search event and output the string required for the next step in the chain.</p><p>best wishes</p><p>Russell</p>

                       clever, I wonder if there is a simple way for me to re-use the JS code that culls the dynamic list to act upon a copy database, simultaneously pruning it so the list and the database remain in sync.

                      Andy Carluccio
                      Zoom Video Communications, Inc.
                      www.liminalet.com

                      [R9 3900X, RTX 2080, 64GB DDR4 3600, Win 10, Izzy 3.0.8]
                      [...also a bunch of hackintoshes...]

                      bonemap mark 2 Replies Last reply Reply Quote 0
                      • bonemap
                        bonemap Izzy Guru @liminal_andy last edited by

                        @liminal_andy said:

                        clever

                         I have reflected on this a liitle more and edited my response.

                        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
                        • mark
                          mark @liminal_andy last edited by

                          @liminal_andy said:

                           clever, I wonder if there is a simple way for me to re-use the JS code that culls the dynamic list to act upon a copy database, simultaneously pruning it so the list and the database remain in sync.

                          There is. You just need to store the index of the items with the lines in JS, do the filtering, and then split the outputs to give a list of the indexes and a list of the text. You can then use the list of indexes to look up the item in the original list.

                          Sending the test file that includes this functionality to you now.

                          function main()
                          {
                              var outStringIndexes = "";
                              var outStringLines = "";
                              var inputLines = arguments[0].match(/[^\r\n]+/g);
                              var i;
                              var indexedLines = [ ];
                              for (i=0; i<inputLines.length; i++) {
                                  var rec = [ i+1, inputLines[i] ];
                                  // print(rec[0] + " " + rec[1] + "\n");
                                  indexedLines.push(rec);
                              }
                              for (i=0; i<inputLines.length; i++) {
                                  var needle = arguments[1].toLowerCase();
                                  var haystack = indexedLines[i][1].toLowerCase();
                                  if (haystack.includes(needle)) {
                                      outStringIndexes += indexedLines[i][0] + "\n";
                                      outStringLines += indexedLines[i][1] + "\n";
                                  }
                              }
                              return [outStringIndexes, outStringLines];
                          }

                          Best Wishes,
                          Mark

                          Media Artist & Creator of Isadora
                          Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

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