Back To School? Explore DSP & MIDI DIY with Blue Cat's Plug'n Script 3.2!

Official support for: bluecataudio.com
Post Reply New Topic
RELATED
PRODUCTS
Plug'n Script

Post

A couple more ideas/wishes:

1) "change_on_type" attribute for TEXT_FIELD (as well as for TEXT_EDIT_BOX)
2) for VST3 exported plugins way to set plugin type ("Fx|Dynamics")

Post

And "TABLE_ROW" has no "visible" or "display" attributes yet? To dynamically show/hide table rows.

Post

And "ignore_missing" in LOAD_FONTS doesn't work properly.
It hides the error message about the missing font, but the fatal error is still thrown, so the skin doesn't load :)

Post

And there seems to be no "RelMoveTo" mentions in manual:
https://www.bluecataudio.com/Vault/Skin ... _path.html

BTW it would be cool to know current Path position (like set via MoveTo), maybe this way after using path.Text we could find the position where we are and so calculate text width.

And there are no "GRID", "RULER" and "COLOR_SCALE" in KUIML Elements index:
https://www.bluecataudio.com/Vault/Skin ... index.html

Post

Thanks for the feedback. That's a few more items for the todo list! :-)

I'll have a look at the LOAD_FONT thing - it has indeed not been tested if I remember well (you are probably the only one using it).

Post

Fixed... One more thing to be released...!

Post

Thanks! I appreciate it!

Post

I was testing my skin on Mac recently, and found almost no compatibility issues, which I must say is huge. You did a great job of making everything work the same way!!

Still found a couple of things:
1) While exporting on Mac plugin GUID is required for all formats (cannot be empty), though on Windows its required for VST3 only as I understand.
2) Angelscript's filesystem.copyFile routine doesn't work properly on Mac, just copies the name of the file and no data (leaves it with length of 0 bytes). And returns -1 (failure). So we have to use read/write method to copy files (like you did in GenerateExtraDataToTemp).

Post

Thanks for the heads up. Looks like an Angelscript bug. I'll have to investigate. The GUID thing is odd.

Yes, cross-platform GUI is not an easy thing... :-).

Post

(a question resolved)

Post

I found a way we can intercommunicate between the same plugin instances via global.model (shared.model) parameters. I'm really glad to find out that it's possible, is it ok to use it?

1) I've seen model examples in "BC Gain" and in "Plug-n-Script" and can't understand is global.model and shared.model the same thing?

2) Now I'm interested, is it theoretically possible to intercommunicate between different (exported) plugins somehow (without compiling extra dll with shared memory)? Maybe like the same idea with model but shared between all instances of all exported PnS plugins? If it is technically possible at all. Like I have exported "Test Tone" plugin and "Analyzer" plugin and they can communicate the same way? Or only the same plugins can talk to each other this way?

Post

Another question is about bypassing/unbypassing plugins.

I'm doing a plugin for gain matching. One at the beginning of the chain, one on the end.
All works fine except for unbypassing. If my ending plugin is doing gain reduction say -12 db, when I unbypass the whole chain of plugins (in Cubase) I hear a short spike of loud sound, like the plugin doesn't start to work immediately.

I've checked and found the same behaviour in BC Gain. Do you understand what I mean? Is it kind of a "soft-unbypass" or something like that? Can it be disabled?

Post

ilyaorlov wrote: Fri Feb 28, 2020 3:39 pm I found a way we can intercommunicate between the same plugin instances via global.model (shared.model) parameters. I'm really glad to find out that it's possible, is it ok to use it?

1) I've seen model examples in "BC Gain" and in "Plug-n-Script" and can't understand is global.model and shared.model the same thing?

2) Now I'm interested, is it theoretically possible to intercommunicate between different (exported) plugins somehow (without compiling extra dll with shared memory)? Maybe like the same idea with model but shared between all instances of all exported PnS plugins? If it is technically possible at all. Like I have exported "Test Tone" plugin and "Analyzer" plugin and they can communicate the same way? Or only the same plugins can talk to each other this way?
That's indeed what we use to make our plug-ins communicate with each other - it performs synchronization between instances. It is not entirely ready for public usage (error reporting is not efficient, and communication is a bit limited as all object types are not supported). It will however only work for a single plug-in.

To communicate between different plug-ins you would need to use a virtual file or a socket, or shared system memory with appropriate synchronization. So it is probably a better idea to have a single plug-in with two variants (you select in the GUI if it is the analyzer or the test tone generator).

global.model is the model for the global preferences. It is indeed shared across instances and has a special mechanism to be saved automatically. However it cannot access the dsp model.
shared.model is what can be used for instant communication. But it has no persistency capabilities (it is just a communication layer).

Post

ilyaorlov wrote: Fri Mar 13, 2020 5:38 pm Another question is about bypassing/unbypassing plugins.

I'm doing a plugin for gain matching. One at the beginning of the chain, one on the end.
All works fine except for unbypassing. If my ending plugin is doing gain reduction say -12 db, when I unbypass the whole chain of plugins (in Cubase) I hear a short spike of loud sound, like the plugin doesn't start to work immediately.

I've checked and found the same behaviour in BC Gain. Do you understand what I mean? Is it kind of a "soft-unbypass" or something like that? Can it be disabled?
Bypass is indeed doing crossfades to avoid clicks and pops. You can avoid that using the on/off ffunction in Cubase. But there is currently no option to perform the bypass inside of a script. It may be added in the future though (I am just afraid it might be confusing for most people)

Post

Thank you for clarification!

Post Reply

Return to “Blue Cat Audio”