Load project and have to compile again
-
I have a big project with a peculiar issue, when I load it everything looks fine except for one panel that doesn't update, I have to manually press the compile button and then it update
Anybody has a clue what could be wrong? -
@ulrik Does it print a compile timeout message on the console? If yes, you can raise that limit in the settings.
-
@Christoph-Hart No it doesn't print out any timeout messages, only "Skipping changed() callback...."
-
@ulrik could be call order, maybe it's referring to a component that has not yet been created, or a global that's not yet initialized
globals and components persist between recompiles, and globals don't go away even if you remove the code
-
@aaronventure said in Load project and have to compile again:
globals and components persist between recompiles
Oh that reminds me of an idea: I could clear out the globals when you use the "Recompile all scripts" tool function (or Shift + F5), I'm used to close and restart HISE when I need a "full reset", but this should be actually taken care of by that function...
-
@Christoph-Hart Sounds good.
-
@Christoph-Hart What about unloading fonts too, so you can load a different font with the same pretty name?
-
@d-healey Maybe I'll ask whether to do that (and if yes I can also clear out the image / audio file pools so you get the "real" first compile experience).
-
@Christoph-Hart Here's an idea:
Once you press the shortcut, the window pops up, has a few checkboxes on what to clear (globals, components, image pool, audio file pool etc).
OK (selected by default so repetitive usage is just +Enter)
CancelRemember selection PER PRESET/XML.
-
Remember selection PER PRESET/XML.
Why? Is there a reason why it shouldn't just be persistent?
Might be a candidate for my new multipage dialogue system.
-
@aaronventure said in Load project and have to compile again:
@Christoph-Hart Here's an idea:
Once you press the shortcut, the window pops up, has a few checkboxes on what to clear (globals, components, image pool, audio file pool etc).
OK (selected by default so repetitive usage is just +Enter)
CancelRemember selection PER PRESET/XML.
This is all getting wildly too complicated ....
-
@Christoph-Hart said in Load project and have to compile again:
Why? Is there a reason why it shouldn't just be persistent?
Come to think of it, no.
-
@Christoph-Hart I think I found the reason it didn't update.
I had 6 slider packs in a separate ScriptProcessor, all of them registered withSLP1.registerAtParent(0); SLP2.registerAtParent(1); etc...
In the main script I have 6 slider packs connected to the separate script processors slider packs using this connection:
const Data1= Engine.createAndRegisterSliderPackData(0); const Data2 = Engine.createAndRegisterSliderPackData(1); etc... slp1.referToData(Data1); slp2.referToData(Data2); etc...
I chosed that type of connection because I needed a DisplayCallback for each one of those slider packs, I couldn't find any other way to get that type of callback, is there?
Any way, in the external script processor I changed the
SLP1.registerAtParent(0); to use the SLP1.referToData(Data1); method instead, and that fixed my problem.
What kind of connection is preferred if you can't connect them via the Property Editor?