Back To School? Explore DSP & MIDI DIY with Blue Cat's Plug'n Script 3.2!
-
- KVRist
- 302 posts since 28 May, 2011
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")
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")
-
- KVRist
- 302 posts since 28 May, 2011
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
It hides the error message about the missing font, but the fatal error is still thrown, so the skin doesn't load
-
- KVRist
- 302 posts since 28 May, 2011
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
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
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5799 posts since 8 Sep, 2004 from Paris (France)
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).
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).
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5799 posts since 8 Sep, 2004 from Paris (France)
Fixed... One more thing to be released...!
-
- KVRist
- 302 posts since 28 May, 2011
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).
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).
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5799 posts since 8 Sep, 2004 from Paris (France)
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... .
Yes, cross-platform GUI is not an easy thing... .
-
- KVRist
- 302 posts since 28 May, 2011
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?
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?
-
- KVRist
- 302 posts since 28 May, 2011
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?
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?
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5799 posts since 8 Sep, 2004 from Paris (France)
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.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?
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).
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5799 posts since 8 Sep, 2004 from Paris (France)
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)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?