Hi! Recently, I’ve been getting this error message, usually when I try to save a patch. The renderer windows then close. It says I’m using too many strings - but that can’t be true, since I barely have any in there. I have a slight suspicion that it might be related to Kairos, but I’m not sure. I’m using it quite extensively for a 20-minute audiovisual piece, so I have a large timeline with lots of tracks and GlobalChannels.
Interesting. First time seeing this. Would it be possible to send us that patch/project of yours so we can try to understand what part is causing this?
Thanks. Unfortunately, the patch is very large and needs some files, and the error can’t be reproduced with just a part of it. Is there maybe another option which could help - like a log file, for example?
That’s scary. After putting so much work into the piece.
But I am confident that we’ll find a way.
The model of the timeline gets part of the program, and it’s just too much. And yes, in fact, typically that’s how we deal with models: They get written into a pin (which is part of the program), so that you don’t have to manage extra files for timelines and such.
In your case, it sounds like this approach hits a limit. And maybe sometimes it is also more intuitive to separate the program from the design/composition models. So let’s try that.
I am not saying it’s easy and let’s try together step by step. I don’t have the full-blown solution yet, but let’s try this first step:
Came up with a node that allows me to persist channels in an external file:
used it twice for both models, feeding two file names
Saved them manually by clicking the Save-IOBoxes
Alt-right-clicked the white input pins in order to remove the model from the code
When I now restart, the PersistModelExternally nodes load the files and push the models to the Timeline and the KairosEditor
If that works for you, we can maybe find a workflow that allows you to continue working with the external files without the need to Alt-right-click those pins all the time.
KairosEditor and Timeline still write to the connected pins, thus the patch file doesn’t get smaller :( Let’s see if a newer vvvversion can prevent that.
Still, the Model in the pins doesn’t get part of the target code, thus the C# compiler shouldn’t throw that annoying error.
So this should be the solution that allows you to continue working!
PLEASE make sure that
you make some backups of your patches
once you have your model files, immediately make a copy to not lose your data while patching.
Note that the whole approach probably only works on a version of your patch where you didn’t get the error. You need a running program to be able to do the pull.
Maybe to be extra cautious: patch in stopped state and only run when ready to go.
Check your backup folder for older versions of your patch.
Thank you so much for your help and this detailed explanation. In the meantime I deleted a few channels which I don’t necessarily need, so I don’t get the error anymore.
But I tried your solution and it worked very well - my patch became 8 MB lighter!!! ;-)
One more question: Does it cost much performance to run that large Kairos Timelines? The Kairos Editor window as such takes a lot of performance, so I reduce it to the minimal size. But maybe you have some other ideas?
Regarding performance, I can’t tell. I never used it to such extensive degree. So you tell us! What I do know is that Kairos is built carefully with performance in mind.
So for the final show after deleting the editor everything should still run as expected as the UI is not needed for playing the timeline.
And if performance while editing becomes a problem, maybe try to have a timeline per chapter. And then play one after the other. That way the UI only needs to display one chapter, not the whole piece. Maybe.
But I would only do this if it becomes cumbersome to work.