HISE Logo Forum
    • Categories
    • Register
    • Login

    How do I find and remove objects in an array?

    Scheduled Pinned Locked Moved Scripting
    23 Posts 2 Posters 374 Views
    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.
    • d.healeyD
      d.healey @VirtualVirgin
      last edited by d.healey

      @VirtualVirgin For those functions (some, filter, etc.) the first parameter should be a function.

      8ecde93d-8e0d-4864-9392-6862b29b2606-image.png

      Edit: I just realised you're doing the javascript arrow function thing, we don't have that in HISE.

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      VirtualVirginV 1 Reply Last reply Reply Quote 0
      • VirtualVirginV
        VirtualVirgin @d.healey
        last edited by

        @d-healey said in How do I find and remove objects in an array?:

        @VirtualVirgin For those functions (some, filter, etc.) the first parameter should be a function.

        8ecde93d-8e0d-4864-9392-6862b29b2606-image.png

        Edit: I just realised you're doing the javascript arrow function thing, we don't have that in HISE.

        No, the arrow function definitely works:

        Screenshot 2025-01-28 at 5.00.15 PM.png

        You can listen to my orchestral mockups here:
        https://www.virtualvirgin.net/

        d.healeyD 1 Reply Last reply Reply Quote 1
        • d.healeyD
          d.healey @VirtualVirgin
          last edited by d.healey

          @VirtualVirgin

          Oh that's good to know, thanks!

          Now I can do this kind of thing:

          Engine.showYesNoWindow("A title", "Some text", response => {
          	Console.print(response);
          });
          

          You could replace this

          	if (sRow && sCol)
          		return true;
          	else
          		return false;
          

          With return sRow && sCol

          But this doesn't solve your issue. Can you make a simple snippet that demonstrates the issue?

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          VirtualVirginV 1 Reply Last reply Reply Quote 0
          • VirtualVirginV
            VirtualVirgin @d.healey
            last edited by VirtualVirgin

            @d-healey
            I found where the problem is taking place:

                        selectedNotes.push
                        (
            	            selectedNotes.filter(function (c) 
            	            {
            	                var cx = c.col * cellWidth;
            	                var cy = height - (c.row + 1) * cellHeight;
            	
            	                return 
            	                (
            	                    cx + cellWidth > x1 &&
            	                    cx < x2 &&
            	                    cy + cellHeight > y1 &&
            	                    cy < y2
            	                );
            	            })
                        );
            

            This selectedNotes.push is pushing an object inside an array to the selectedNotes array, whereas I only need it to push an object to the array.
            So the current result is looking like [[{"row":42, "col":4}]]
            but I need it to just look like [{"row":42, "col":4}]
            I am not sure how I modify that to just use a the object and not have it wrapped in that extra array.

            You can listen to my orchestral mockups here:
            https://www.virtualvirgin.net/

            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @VirtualVirgin
              last edited by

              @VirtualVirgin Add [0] after the parenthesis e090f3a3-5ac8-4143-bc41-ba907ae5f7c9-image.png

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              VirtualVirginV 1 Reply Last reply Reply Quote 0
              • VirtualVirginV
                VirtualVirgin @d.healey
                last edited by

                @d-healey Almost...
                that turns it into an object, but it only returns one selection to the list instead of all of the noteCells under the selection rectangle area.
                Without the [0] it returns all of them, but inside an array.

                You can listen to my orchestral mockups here:
                https://www.virtualvirgin.net/

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @VirtualVirgin
                  last edited by

                  @VirtualVirgin In that case after it returns them, just grab the [0] element from that array.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  VirtualVirginV 1 Reply Last reply Reply Quote 0
                  • VirtualVirginV
                    VirtualVirgin @d.healey
                    last edited by

                    @d-healey Whoops... is there a panic button of some sort for feedback loops? I got stuck in one.

                    You can listen to my orchestral mockups here:
                    https://www.virtualvirgin.net/

                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @VirtualVirgin
                      last edited by

                      @VirtualVirgin What do you mean?

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      VirtualVirginV 1 Reply Last reply Reply Quote 0
                      • VirtualVirginV
                        VirtualVirgin @d.healey
                        last edited by

                        @d-healey I added a for loop after that function and it seems to be stuck in the loop

                        You can listen to my orchestral mockups here:
                        https://www.virtualvirgin.net/

                        d.healeyD 1 Reply Last reply Reply Quote 0
                        • d.healeyD
                          d.healey @VirtualVirgin
                          last edited by

                          @VirtualVirgin What does the loop do?

                          Libre Wave - Freedom respecting instruments and effects
                          My Patreon - HISE tutorials
                          YouTube Channel - Public HISE tutorials

                          VirtualVirginV 1 Reply Last reply Reply Quote 0
                          • VirtualVirginV
                            VirtualVirgin @d.healey
                            last edited by

                            @d-healey

                            for (i = 0; i < noteCells; i++)
                                 selectedNotes.push(noteCells[i]);
                            

                            It's not resolving because I meant to use "i < noteCells.length",
                            so I am stuck with a spinning wheel and a sluggish HISE.

                            I'll just force quit it.
                            Just didn't know if there is a button similar to "all notes off" to stop the processing.

                            You can listen to my orchestral mockups here:
                            https://www.virtualvirgin.net/

                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @VirtualVirgin
                              last edited by

                              @VirtualVirgin Can you just hit compile again?

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

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

                              17

                              Online

                              1.7k

                              Users

                              11.9k

                              Topics

                              103.7k

                              Posts