Blue Cat's Plug'n Script 3.3 Released - DSP DIY Summer?

Official support for: bluecataudio.com
Post Reply New Topic
RELATED
PRODUCTS
Crafters Pack$399.00Buy Plug'n Script$99.00Buy

Post

I would be glad to, yet I couldn't make a simple demo that crashes with default skin. I'll keep trying though.

Today I thought, maybe it happens like this: code in KUIML_WIDGET adds <ACTION_TRIGGER ... async="true" /> and then KUIML_WIDGET content gets reloaded (maybe when the event was scheduled to run but not yet executed). And when the event is finally executed the KUIML_WIDGET content has already changed, so it crashes.

How do think, can it be a possible reason?

Post

You should indeed avoid mixing several async tasks with stuff that reloads the skin. In this case there is no way to control the flow of events. But you could for example make sure that all your async tasks have been completed before re-loading the content of the skin. This cannot be done on the skin engine side because it could break the order of calls (which is currently guaranteed to be sequential), and we don't know what your scripts contain :-).

Post

By the way, idle refresh priority is the default - using "normal" with cpu intensive stuff may freeze the GUI of other plug-ins when used in the same DAW, so it should be used with care (I actually do not use anymore in any of the Blue Cat Audio plug-ins because of that).

Post

While trying to make a crashable example in the default skin (luckily I failed at that), I came to the conclusion that the problem was in how my skin was initially loading the custom ".kuiml" body (it was doing it asynchronously on window.onload). Probably it was not the safe way to do that. I've reworked that part to load ".kuiml" a bit later and synchronously, and now the crashes seem to be gone.

Thanks again for patience!

Post

Reloading a skin is already asynchronous (behind the scenes), so it is indeed not a good idea to play with async actions at the same time. Async is mainly useful when you want to make sure that the action is triggered after everything else has been updated in the model. It is very rare that you actually need it (but hey, I know who you are, you are probably the exception :-)).

Post

:D Yea, I'll try to be careful with async. Thanks!

Post

Could you please clarify, how persistent="true" works inside model.model? It's saved within plugin state, with preset?

Post

It's exactly the same as in the GUI. Persistent data will be saved in both presets and session unless they are locked (using the metadata.lock attribute): in this case they are only saved into session, nit in presets.

Post

Gathering a small beta-testers team for the upcoming release of a Plug'n Script based plugin.
Here are some screen shots:
link knobs.gif
groups dragging.gif
If you want to help with testing, contact me!
ilya@letimix.com
You do not have the required permissions to view the files attached to this post.

Post

I have a question about creating scalable GUI's.

In the default xml, I changed scalable to "true", and the skin and screw decorations scaled accordingly, but the knobs disappeared and my png decorations stayed the same size while stretching.

I haven't had much luck adding the svg I made in Inkscape to the Letimix skin decorations, but it seems to like png. Is it just a problem with the Inkscape svg format?

Also, would the knobs need to be animated svgs also?

Thanks,
Eric
Last edited by ericbridenbaker on Tue Aug 25, 2020 1:10 pm, edited 1 time in total.

Post

Eric, hi! If you're using Letimix Skin, the question is probably mostly for me.

1) If you mean that you're using LM Skin and you've set <MAKE_RESIZEABLE enabled="true"
then you should know, that it's experimental/new and oriented towards custom .kuiml mostly and not well tested with "auto-layouts" yet as well as with decorations. So for now I would suggest you use the default "zoom" icon for GUI resizing, and I will do some more investigation into "resizeable" thing some time later. Basically, I've just tested that it's possible with KUIML, but hadn't done much tweaking yet for it supporting everything. Resizeable controls are in my todo list.

2) Considering svg for decorations - I haven't tested that, true. Used only with bitmaped decorations. Added it in my todo.

3) (this is more to Blue Cat, but I think I can answer) Yes, by default the knobs use stripes both for PNG and SVG sources. I never used SVG striped knobs, I prefer in-skin-drawn knobs, like the ones starting with "LMR_" (you can open Skin Scanner in LM Skin and see available knobs there).

Post

Thanks Ilya, that clears things up for me. Will experiment more with the zoom icon.

Post

KUIML question to Blue Cat Audio:

Is PARAM_ANIMATOR attribute `duration_ms` accessible? I'd like to be able to adjust in realtime the speed (smoothness) of animation, and right now it says (`Unknown identifer. Object doesn't exist`) when trying to display (or change) value of `my_param_animator.duration_ms`

Strangely enough, `my_param_animator.refresh_time_ms` is accessible and works fine.

The manual says they are both exposed since v. 1.7

BTW is PARAM_ANIMATOR a TEMPLATE that combines TIMER and some scripts? I've made my own, but it would be interesting to see its implementation, if possible!

Post

ericbridenbaker wrote: Tue Aug 25, 2020 12:41 pm I haven't had much luck adding the svg I made in Inkscape to the Letimix skin decorations, but it seems to like png. Is it just a problem with the Inkscape svg format?

Also, would the knobs need to be animated svgs also?
You can indeed use SVG for knobs too (any type of image can be a svg file). It just needs to be in a filmstrip format.

SVG support is limited to simple svgs (style sheets are not supported for example). If you are using Inkscape, exporting as "Optimized SVG" should work most of the time. Just open the file in a text editor to check that there is no css (you may otherwise have to transfer the style attributes in the elements themselves).

Post

Blue Cat Audio wrote: Thu Aug 27, 2020 7:53 am
ericbridenbaker wrote: Tue Aug 25, 2020 12:41 pm I haven't had much luck adding the svg I made in Inkscape to the Letimix skin decorations, but it seems to like png. Is it just a problem with the Inkscape svg format?

Also, would the knobs need to be animated svgs also?
You can indeed use SVG for knobs too (any type of image can be a svg file). It just needs to be in a filmstrip format.

SVG support is limited to simple svgs (style sheets are not supported for example). If you are using Inkscape, exporting as "Optimized SVG" should work most of the time. Just open the file in a text editor to check that there is no css (you may otherwise have to transfer the style attributes in the elements themselves).
Thanks! Didn't realize that css could be embedded in an svg. Sorry for the delayed reply, I got busy for awhile but look forward to checking this out.

Post Reply

Return to “Blue Cat Audio”