HISE Logo Forum
    • Categories
    • Register
    • Login

    Type safety!

    Scheduled Pinned Locked Moved Scripting
    31 Posts 7 Posters 1.7k 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.
    • LindonL
      Lindon @d.healey
      last edited by Lindon

      @d-healey said in Type safety!:

      @Adam_G I think that means you are low on RAM. Try closing other programs that you are not using when compiling or reduce the number of threads that VS is using during the compilation.

      • its more likely to mean that the plugin is using too many png's or wav files stored inside the plugin itself - past about 50Mb (if I recall correctly) the compiler runs out of heap space....on Windows only

      HISE Development for hire.
      www.channelrobot.com

      1 Reply Last reply Reply Quote 1
      • Adam_GA
        Adam_G @d.healey
        last edited by

        @d-healey doh! you were right. too many other programs open

        LindonL 1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @Adam_G
          last edited by

          @Adam_G said in Type safety!:

          @d-healey doh! you were right. too many other programs open

          careful --- re-running the compile when th eissue is the one I pointed at can sometimes run successfully...

          HISE Development for hire.
          www.channelrobot.com

          1 Reply Last reply Reply Quote 0
          • Dan KorneffD
            Dan Korneff
            last edited by

            I'm running into some undefined parameter warnings that I could use a hand with.
            I have a function that adds a childPanel to an existing panel. The paint routine is triggering Warning: undefined parameter 0 if the panel hasn't been created yet, or if the childPanel has been removed.

            	inline function addButton(panel)
            	{
            	    local button = panel.addChildPanel();
            	    button.set("allowCallbacks", "Clicks & Hover");
            	    
            	    button.setPaintRoutine(function(g)
            	    {
            	        g.setColour(this.data.hover ? Colours.red : Colours.blue);
            		g.fillPath(myPath, [10, 5, 14, 14]);
            
            	    });
            
            	}
            

            Is there a better way to do this that won't throw these warnings?

            Dan Korneff - Producer / Mixer / Audio Nerd

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

              @Dan-Korneff

              	inline function addButton(panel)
              	{
                          if (!isDefined(panel))
                              return;
              
              	    local button = panel.addChildPanel();
              	    button.set("allowCallbacks", "Clicks & Hover");
              	    
              	    button.setPaintRoutine(function(g)
              	    {
              	        g.setColour(this.data.hover ? Colours.red : Colours.blue);
              		g.fillPath(myPath, [10, 5, 14, 14]);
              
              	    });
              
              	}
              

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

              Dan KorneffD 1 Reply Last reply Reply Quote 0
              • Dan KorneffD
                Dan Korneff @d.healey
                last edited by Dan Korneff

                @d-healey Perfect! Simple and effective.
                Actually, this method still returns errors

                Dan Korneff - Producer / Mixer / Audio Nerd

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

                  @Dan-Korneff

                  Actually, this method still returns errors

                  Explain

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

                  Dan KorneffD 1 Reply Last reply Reply Quote 0
                  • Dan KorneffD
                    Dan Korneff @d.healey
                    last edited by Dan Korneff

                    @d-healey I've added this to the childPanel functions:

                                if (!isDefined(panel))
                                    return;
                    
                    • Run the function that creates the child panel.
                    • Close the panel.
                    • Hit F5 to recompile All Scripts.

                    Then I get Warning: undefined parameter 0

                    After closer inspection, the warning is pointing to the line that contains fillPath. I can confirm that this path is being defined. It points to all paint routines

                    Dan Korneff - Producer / Mixer / Audio Nerd

                    1 Reply Last reply Reply Quote 0
                    • Dan KorneffD
                      Dan Korneff
                      last edited by Dan Korneff

                      Here's a basic example:

                      HiseSnippet 1334.3ocsW0uaaaCDWJIJs1acXEXO.b9OFjA7BrrcbhSPQasSxZ1VRLlSKJvPP.iDsMQjIMjnchQQd+1iydC1tizxRx4i1ZrI.KHd2u63cGu634tQReVbrLxxtv4yFyrr+VmdyDpgcFR4BqiOvx96bNgFqXQDCo1yFSiiYAV11q+KHA6BaXoe96W2lFRE9rTRVVePx8Y+NeDWkRs6a9MdX3Qz.147QYP23MG6KEcjgxIf8rtSUqwT+qoCXmRQXq4XYu4gAbkLpmhpXw.l1xfY8FJuQXv+AdL+pPFtvypGnHCYqNC4gAcS70XKK6M5l54qa77ev4Dd.eA8zHv2qYPRkHaLvdsmxj79JLI6LlzFFS5kN87i3iUobP64abNV.GH8oPnNqoXvZs1O+LmNR.gPs0H50rihfEKjvsY0pUHvqx6WrHDtiUjozHRWpfE5QdEIQRZPfllaICqRUHfbnTIHhYncMlEo3rXXSF8q8N6zLv+TwBktgGnFVZuZ3dBKGx3CFpJsGIg.MLTdSG38UvIcbo8J0IjCeP9Ix6jSYQkJdWdy73Nmc5kiopgYrT+HFD56BDcAvKgMd5fKCnJJf+O87fM0qZKsm3UaW3USLVrCRE94Ab71YmDJH+Z0qP1tFR1aYf6lEHPsUSTeMLDqivZgba0HCrZ.4FHtsqanVqJvdGjxtMxqNTAMpMm1NMPM0ZY04UGTSi53GaaHuvwV15pUCUQikgk2aeb00zfqHAddTKrdqbQTzeqCtViVYbXse5ssduygzCPp8vjP3inxcwSjlYOQvyHOuloVoQOU8LV4E6WbQVyVgRZ.lpd.jR3lKAAyy3hPtfQ5OQ3q3RAApAZOQojB2wXRc4hPJMuOw8G4wGv5CPClynbwBXjIholDI.EgKBk9zPxUZ4grOMPrpxT3qKsf8DQZXgFwVALJr0Sg741JTJi3FX5WFB5ZOYLGsRWSVMFCvy4FyUZJP2kqxpPVtLq7CuCPCP0eHmn.O0MIn3NnrF1mzuwmAHVSWaW0PdrwSFhJl7ZhgQ7VQr.xdKVMHhMC1zBF46CWGnqeWbPUApVAuYaLEC+cQB3+K10bp3HnKhaoytc1.lfzVFFTB2ubnBhn271P9.379b1s.51u+7yO6zRnQV2TGfsyzVw.l5c5lbtku.hy9PCJvFRBv28vA5SjShYImOoQZ1TP5ki1K6quhngYVkZ0K9f22nms7wibVP4Ebfj4BEflnwxP1Vii3XbvjtS5XvVJSX3tkUr1PhXiwjD2r9Ww6JVLsxwbcP48WTTIEmJUryDt5xI.LYYV86+f7v98QxvPVzCxFmkH5oDzULYzUrnJvkCgSXK.BW1l+F7M+xtA22b8SFfRwwBt5rwr4qOBxlvalwuu+88Vyu+B958Gi8ivQ.lSK8dUf1ArovLTlABJ3b.K9ZkbrF6nwRApA6mozbeQx3BXL2hCa8ycLweqasrcrwgrlk7g9pYPia9WyGUyb4bVJ46afCBkuuALJ28FYAFVRFLIjpxOAENp3bFvgRtwVvQSDPurYYGk7qXrppO4XUeol3Kc5xU9CeXabsGvFgiq+Orw4Ci9BmC62m4qRMvMbN5iq5jmels2zievITUDGSTNcxndPCSeFr6BH8IFyYVCSYMqqljC0iIBzK9G3YNSObs8bldILsFQ8ijW5aJEwwcetlBXSB8z8Ef+lArl3YoKOyFmGASeeouedUcOAqspBVeUErwpJ31qpfMWUA2YUEb2Ouf3eN5sSTxQlxFKqS5dntels8gBJjApyVs9W.ObaiA
                      

                      Load it up and hit F5

                      Dan Korneff - Producer / Mixer / Audio Nerd

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

                        @Dan-Korneff There's something really weird going on there because even if I delete everything in the script I still get the error when hitting F5.

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

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

                          Oh I found the solution (still not sure why it goes crazy even when the script was cleared though).

                          Child panels are kept between recompiles, so it's necessary to clear them all out before adding them. Just put this after you create the parent panel.

                          for (x in Panel1.getChildPanelList())
                          	x.removeFromParent();
                          

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

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

                          18

                          Online

                          1.7k

                          Users

                          11.8k

                          Topics

                          102.5k

                          Posts