Type safety!
-
@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
-
@d-healey doh! you were right. too many other programs open
-
@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...
-
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?
-
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]); }); }
-
@d-healey Perfect! Simple and effective.
Actually, this method still returns errors -
-
@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 -
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 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.
-
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();