Create VST, VST3 and Audio Units with Plug'n Script 3.1

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

Post

Blue Cat's Plug'n Script 3.1 is finally here!

This new version is now available as a standalone application, in addition to the usual plug-ins formats. And it now lets you export your creations as independent VST, VST3 or Audio Unit plug-ins!

The update is free for registered customers, and if you do not own the plug-in yet, it is available for purchase for $79 or 79 EUR (instead of 99) until December 15th, check it out!

As usual, the update for V3 users can be downloaded from the same location as the original full version (link received by email upon purchase).

https://www.youtube.com/watch?v=w1hHvHHL0js

What's New:
- Now available as a standalone application.
- Export plug-in in VST3 and Audio Unit plug-in formats.
- Faster graphical user interface loading.
- New version of the Angelscript engine (2.32) with improved performance and new add-ons (datetime, filesystem).
- Last loaded preset is now remembered in session and displayed in the presets menu.
- Plug-in state can now be reverted to the last loaded preset.
- Improved scalable graphics for icons and buttons.
- Dropped support for legacy RTAS and DirectX plug-ins formats.

Enjoy!

Post

Thanks a lot!!!! Super-excited, testing new features!

Post

:tu:

Post

Another plugin made with Plug-n-Script. Thanks for version 3.1! VST3 and datetime used :)

https://youtu.be/Cmh56I9rA8U

Post

simple_fft_analyzer.png
Now working on a FFT analyzer and got a few questions about KUIML, please.

1. How to get sample rate in KUIML?
<PARAM_TEXT param_id="dsp.sample_rate" /> throws error
( though <PARAM_TEXT param_id="dsp.connected_outputs_count" /> works )

2. Can we somehow access param in KUIML script not only via it's name/id, but via it's index?
For example, I have bunch of params

<REPEAT count="30" start="0">
<PARAM id="level$index$" min="-120" max="24" default="0" />
</REPEAT>

Is it possible to iterate over these params in the KUIML script later?

Or maybe I can make an AngelScript array in KUIML and LINK my created PARAMS to that array values?
You do not have the required permissions to view the files attached to this post.

Post

Sorry for the late reply - took a few days off :-). This looks like a great project!

Are you using your own skin or a .kuiml file loaded into the plug-in? (1) looks like an issue with parameters stripping as the sample rate is not used in the main skin.

Regarding ()2, there is a trick to map static data into a script array, as KUIML does not have arrays yet: the idea is simply to initialize an array of pointers to parameters (array<Kt::Param@>) during skin loading:
1. Define the array in a script file:

Code: Select all

array<Kt::Param@> paramsArray(30);
2. In the skin, create an action for each parameter that is triggered upon skin loading:

Code: Select all

<REPEAT count="30">
<!-- Map param to array element -->
<ACTION_TRIGGER event_id="window.loaded.value_changed" condition_formula="window.loaded==1" script="@paramsArray[$index$]=level$index$" requires="level$index$"/>
<REPEAT>
You can then access the parameters in scripts using paramsArray[x]!

Hope this helps!

Post

Thanks for your reply! It's great that i can have an array of params!

I could make it work putting @ before assigning, like that:
<ACTION_TRIGGER event_id="window.loaded.value_changed" condition_formula="window.loaded==1" script="@paramsArray[$index$]=level$index$" requires="level$index$"/>

Regarding sampleRate - yes, I use my own .kuiml subskin, and don't know how to get sampleRate (only if I send it manually using one of outputParams).

Post

I found KUIML FORMULA_CURVE really cool for viewing formulas/graphs. Really nice for learning!
Now testing: http://letivyshe.ru/i/misc/formulas_viewer.gif
You do not have the required permissions to view the files attached to this post.

Post

ilyaorlov wrote: Wed Jan 02, 2019 6:23 pm I could make it work putting @ before assigning, like that:
<ACTION_TRIGGER event_id="window.loaded.value_changed" condition_formula="window.loaded==1" script="@paramsArray[$index$]=level$index$" requires="level$index$"/>
Indeed! Sorry for the typo - we have fixed the post for future reference.
ilyaorlov wrote: Wed Jan 02, 2019 6:23 pm Regarding sampleRate - yes, I use my own .kuiml subskin, and don't know how to get sampleRate (only if I send it manually using one of outputParams).
It makes sense. Since the sample_rate attribute is not used in the main skin, it gets stripped by the compiler before your kuiml file is loaded. We will have to update the plug-in to fix this. In the meantime you can indeed expose it as an output parameter.

Post

ilyaorlov wrote: Thu Jan 03, 2019 6:35 pm I found KUIML FORMULA_CURVE really cool for viewing formulas/graphs. Really nice for learning!
Now testing: http://letivyshe.ru/i/misc/formulas_viewer.gif
Very nice! :tu:

Have you seen the FORMULA_SURFACE too? You can get pretty nice (and useful) 3D graphs:

Image

Post

Hey!

Yea, FORMULA_SURFACE is incredible, as most of KUIML is :) I hardly imagine the amount of time spent on it. You did a great job!

I'd like to share an updated "FORMULA VIEWER" made for visualizing formulas via FORMULA_CURVE.
http://letivyshe.ru/i/misc/formula_viewer_v1b.gif

I made it while learning FFT and FIR filters, because I wanted to see how Sinc and Window Functions look like while changing parameters etc. Maybe someone else will be interested.

This tool let's you add and view other formulas as well. Adding formulas in KUIML is as simple as:
<FORMULA name="Hann window" value="0.5*(1-cos(2*pi*x/(N-1)))" />

There're plenty or tricks to learn from that KUIML, so maybe it'll be helpfull for many of us.
Posted the code to https://github.com/bluecataudio/plugnsc ... er/Scripts
The name of the script is "formula_viewer".

Updated: added several more examples here:
https://github.com/ilyaorlovru/plug-n-script-examples
Last edited by ilyaorlov on Mon Jan 28, 2019 12:49 pm, edited 1 time in total.

Post

As I'm learning more and more of KUIML I'm missing a place to share the knowledge/tips-n-tricks.
The KUIML manual is quite good, though it sometimes lacks examples, some articles are outdated and some examples don't work already.

I imagine it would be great to be able to comment on KUIML manual pages to add examples and to fix outdated things and errors when finding them.

I imagine maybe a blog or a Facebook page about Plug-N-Script and KUIML would be a great place to share tips-n-tricks and to learn from each other. If anyone's also interested, I'd like to hear your thoughts. Mail me. ilya2k@gmail.com

Post

ilyaorlov wrote: Thu Jan 17, 2019 10:22 am I'd like to share an updated "FORMULA VIEWER" made for visualizing formulas via FORMULA_CURVE.
Image

There're plenty or tricks to learn from that KUIML, so maybe it'll be helpfull for many of us.
Posted the code to https://github.com/bluecataudio/plugnsc ... er/Scripts
The name of the script is "formula_viewer".
It looks very nice! Thanks for sharing! I don't see a pull request for the code in github though.

Post

ilyaorlov wrote: Thu Jan 17, 2019 10:28 am As I'm learning more and more of KUIML I'm missing a place to share the knowledge/tips-n-tricks.
The KUIML manual is quite good, though it sometimes lacks examples, some articles are outdated and some examples don't work already.

I imagine it would be great to be able to comment on KUIML manual pages to add examples and to fix outdated things and errors when finding them.

I imagine maybe a blog or a Facebook page about Plug-N-Script and KUIML would be a great place to share tips-n-tricks and to learn from each other. If anyone's also interested, I'd like to hear your thoughts. Mail me. ilya2k@gmail.com
A wiki would be ideal but it is quite a lot of work to put in place and maintain. Feel free to post in this forum or send us your remarks by emails if you find mistakes. There are also some (advanced) undocumented features that should make their way to the doc hopefully soon.

Post

I'm really interested in both binary data communication between KUIML<->CXX as well as Undocumented features :)) Though I'd have to read the full manual once again to understand existing options better.

I like a lot how PHP manual is made with "user contributed notes".
http://php.net/manual/en/function.substr-count.php

I think something like that for KUIML manual would be nice.

P.S. What email can I use to send you some notes on KUIML manual one day?
Last edited by ilyaorlov on Mon Jan 28, 2019 12:51 pm, edited 1 time in total.

Post Reply

Return to “Blue Cat Audio”