Blue Cat's Plug'n Script 3.3 Released - DSP DIY Summer?
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5932 posts since 8 Sep, 2004 from Paris (France)
Please welcome Blue Cat's Plug'n Script 3.3, the ultimate tool for DSP DIY!
With many new features to build your own custom user interface (GUI) and export it with plug-ins, KUIML 2.7 GUI programming language support, and many other improvements and fixes, it is a recommended update!
The update is free for existing customers (from the link received by email upon purchase), and new customers can get Plug'n Script at a special introduction price (20% off), either alone, or as part of the Crafters Pack bundle until July 10th.
New in Blue Cat's Plug'n Script 3.3:
- Custom graphics and resource files are now be copied when exporting scripts as independent VST, VST3, AU or AAX plug-ins (SCRIPT_DATA_PATH folder).
- New version of the KUIML GUI programming language (2.7), with new widgets, new mouse and keyboard events handling features, system script function to execute shell commands and more.
- New version of the Angelscript Engine (2.34).
- New high resolution graphics for knobs.
- New background mode ("None") to create entirely custom user interfaces.
- New icon for the Plug'n Script Application.
- Reduced disk footprint.
- Fixed crash in exported VST3 plug-in when using input strings in scripts.
- Fixed crashes when using build-time script in KUIML widgets.
- Fixed gui.capture objects that could be exposed twice in KUIML objects.
- Fixed png or svg images alpha mask not properly loaded (was ignored)
- Fixed ignore_missing attribute for LOAD_FONT that still triggered an error.
- Mac application now fully supports dark mode on Mac OS Mojave and newer.
- Mac: fixed settings panel rendering issues in dark mode on Mac OS Mojave and newer.
- Mac: Fixed keyboard not responding in registration panel in some host applications (LUNA, Garage Band...).
- Mac: Fixed demo version that could hang Logic when reloading projects using the plug-in.
- Mac: fixed Retina scaling issue on buffered widgets in apps built with Mac OS 10.14 SDK and newer.
Enjoy!
With many new features to build your own custom user interface (GUI) and export it with plug-ins, KUIML 2.7 GUI programming language support, and many other improvements and fixes, it is a recommended update!
The update is free for existing customers (from the link received by email upon purchase), and new customers can get Plug'n Script at a special introduction price (20% off), either alone, or as part of the Crafters Pack bundle until July 10th.
New in Blue Cat's Plug'n Script 3.3:
- Custom graphics and resource files are now be copied when exporting scripts as independent VST, VST3, AU or AAX plug-ins (SCRIPT_DATA_PATH folder).
- New version of the KUIML GUI programming language (2.7), with new widgets, new mouse and keyboard events handling features, system script function to execute shell commands and more.
- New version of the Angelscript Engine (2.34).
- New high resolution graphics for knobs.
- New background mode ("None") to create entirely custom user interfaces.
- New icon for the Plug'n Script Application.
- Reduced disk footprint.
- Fixed crash in exported VST3 plug-in when using input strings in scripts.
- Fixed crashes when using build-time script in KUIML widgets.
- Fixed gui.capture objects that could be exposed twice in KUIML objects.
- Fixed png or svg images alpha mask not properly loaded (was ignored)
- Fixed ignore_missing attribute for LOAD_FONT that still triggered an error.
- Mac application now fully supports dark mode on Mac OS Mojave and newer.
- Mac: fixed settings panel rendering issues in dark mode on Mac OS Mojave and newer.
- Mac: Fixed keyboard not responding in registration panel in some host applications (LUNA, Garage Band...).
- Mac: Fixed demo version that could hang Logic when reloading projects using the plug-in.
- Mac: fixed Retina scaling issue on buffered widgets in apps built with Mac OS 10.14 SDK and newer.
Enjoy!
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5932 posts since 8 Sep, 2004 from Paris (France)
And thanks to Ilya Orlov (a.k.a. " Letimix"), Plug'n Script developer of the year, there are now two great video tutorials to get started with Plug'n Script and create your own VST plug-in:
https://www.youtube.com/watch?v=UuKffpOFgWY
https://www.youtube.com/watch?v=If0t5fjc-YU
Do not miss his Plug'n Script website either, it's full of great resources for Plug'n Script developers!
https://www.youtube.com/watch?v=UuKffpOFgWY
https://www.youtube.com/watch?v=If0t5fjc-YU
Do not miss his Plug'n Script website either, it's full of great resources for Plug'n Script developers!
-
- KVRAF
- 1972 posts since 14 Mar, 2006
No doubt he is the PNS programmer extraordinare! I am looking forward to seeing what is possible with the updates to angelscript and KUML. I am also really curious what could be done with the scripting extension.
MacPro 5,1 12core x 3.46ghz-96gb MacOS 12.2 (opencore), X32+AES16e-50
-
- KVRist
- 307 posts since 28 May, 2011
Yohoooo!!! As always, great to see PnS evolving! Thank you for your work, Blue Cat Audio!
Dewdman42, thanks!
A couple questions:
1) I see there's a new "scaling" attribute that seems to work for all elements? Maybe some notes on that?
2) What is a "new background mode ("None") to create entirely custom user interfaces."? How to use it?
Dewdman42, thanks!
A couple questions:
1) I see there's a new "scaling" attribute that seems to work for all elements? Maybe some notes on that?
2) What is a "new background mode ("None") to create entirely custom user interfaces."? How to use it?
-
- KVRist
- 307 posts since 28 May, 2011
A fresh update to Letimix Skin is available to compliment newly released PnS 3.3.
Download * Tutorial * What's new
Download * Tutorial * What's new
You do not have the required permissions to view the files attached to this post.
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5932 posts since 8 Sep, 2004 from Paris (France)
(1) There is indeed an experimental scaling attribute but it is not fully implemented - I don't think it is documented either. Where did you see it?
(2) There is an example that shows this background mode. It just removes the entire background so that you can draw your own or load an image instead.
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5932 posts since 8 Sep, 2004 from Paris (France)
Well done!ilyaorlov wrote: ↑Wed Jun 17, 2020 7:38 am A fresh update to Letimix Skin is available to compliment newly released PnS 3.3.
Download * Tutorial * What's new
-
- KVRist
- 307 posts since 28 May, 2011
If found it cause I had "scaling" attr for my custom knobs and "image_scaling" for the factory knobs, and after update they both started to work for factory knobs. I checked and found that scaling works on mostly everything, which is cool. Can we not rely on that yet?Blue Cat Audio wrote: ↑Mon Jun 22, 2020 10:33 am (1) There is indeed an experimental scaling attribute but it is not fully implemented - I don't think it is documented either. Where did you see it?
Ah, I see!(2) There is an example that shows this background mode. It just removes the entire background so that you can draw your own or load an image instead.
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5932 posts since 8 Sep, 2004 from Paris (France)
There is actually something like this in KUIML already, but it's not mature enough yet to be made public. It's a rather complex topic actually, if you want to create arrays that are truly compile-time safe (which is not the case in most languages).
-
- KVRist
- 307 posts since 28 May, 2011
That's interesting!
I've got a bunch of params holding number of instances in each group.
instances_in_group0
instances_in_group1
... etc
and param "group" holding current group number
So if in KUIML I want to get number of instances in current group I have first alias these params to array of params in AngelScript, then do work in AngelScript and return it back to KUIML.
It would be good if we could do it in KUIML only somehow.
I've got a bunch of params holding number of instances in each group.
instances_in_group0
instances_in_group1
... etc
and param "group" holding current group number
So if in KUIML I want to get number of instances in current group I have first alias these params to array of params in AngelScript, then do work in AngelScript and return it back to KUIML.
It would be good if we could do it in KUIML only somehow.
-
ericbridenbaker ericbridenbaker https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=200163
- KVRer
- 29 posts since 5 Feb, 2009
Fantastic platform! I had some plugins exported and running right away.
I'm pretty new to coding, though I'm quite used to various modular DSP environments. Getting the hang of it though. Adding parameters, tweaking the math etc.
What I'd like to try next is to chain a few different effects in the same code. Example, compressor into a delay, or a filter into a clipper etc. So I'm trying to get a handle on how to route the serial processing. If I'm using processSample, and ioSample, do I need to define intermediate audio streams for each effect? And would I need to use void processSample more than once in the same code?
Thanks, Eric
I'm pretty new to coding, though I'm quite used to various modular DSP environments. Getting the hang of it though. Adding parameters, tweaking the math etc.
What I'd like to try next is to chain a few different effects in the same code. Example, compressor into a delay, or a filter into a clipper etc. So I'm trying to get a handle on how to route the serial processing. If I'm using processSample, and ioSample, do I need to define intermediate audio streams for each effect? And would I need to use void processSample more than once in the same code?
Thanks, Eric
-
- KVRist
- 307 posts since 28 May, 2011
Hey, Eric!
I'd say you probably just process each sample by your compressor function first, then by delay function, they by filter, etc. Just like if you had multiple plugins, they'd work one after another. You definitely use processSample (or processBlock) just once in your code and do your processing inside it.ericbridenbaker wrote: ↑Mon Jul 20, 2020 11:06 am What I'd like to try next is to chain a few different effects in the same code. Example, compressor into a delay, or a filter into a clipper etc. So I'm trying to get a handle on how to route the serial processing. If I'm using processSample, and ioSample, do I need to define intermediate audio streams for each effect? And would I need to use void processSample more than once in the same code?
-
- KVRist
- 307 posts since 28 May, 2011
I'm experimenting now with shared memory on both Windows and Mac, using CreateFileMapping/MapViewOfFile on Windows and shm_open/mmap on Mac. So far it seems to be ok. The question is: if I want to share audio streams, do I have to copy all the data.samples into/from this shared memory, or I can just pass a pointer to data.samples into another instance of a plugin?
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5932 posts since 8 Sep, 2004 from Paris (France)
You definitely have to copy the entire buffers there, as the memory pointed by the data.samples pointer will be modified for every call to the Process function.ilyaorlov wrote: ↑Wed Jul 22, 2020 6:17 am I'm experimenting now with shared memory on both Windows and Mac, using CreateFileMapping/MapViewOfFile on Windows and shm_open/mmap on Mac. So far it seems to be ok. The question is: if I want to share audio streams, do I have to copy all the data.samples into/from this shared memory, or I can just pass a pointer to data.samples into another instance of a plugin?