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

Official support for: bluecataudio.com
RELATED
PRODUCTS
Plug'n Script
User avatar
Blue Cat Audio
KVRAF
Topic Starter
5561 posts since 8 Sep, 2004 from Paris (France)

Post Fri Aug 30, 2019 5:36 am

Please welcome Blue Cat's Plug'n Script 3.2!

What's New:
- DSP script can now be encrypted upon export.
- DSP script can now define output strings to share any kind of data with the user interface.
- Export plug-in in AAX format for Pro Tools and Media Composer (for registered AVID developers).
- New presets browser with built-in search (also available in exported plug-ins).
- New version of the KUIML GUI programming language: drag and drop, canvas widget, build time scripting, lazy loading and more.
- New oscilloscope sample script (output strings feature demo).
- MIDI Program Change preference is now saved into session instead of global preferences, so each instance can now use different MIDI channels. It is also saved in the user default preset.
- VST3: added program change support for VST3 plug-in format.
- VST3: added MIDI output support for VST3 plug-in format.
- Faster GUI rendering on recent Mac OS systems (up to 5x faster on level meters).
- Improved GUI loading time when using many widgets.
- Fixed an issue with MIDI control that did not always work properly when the plug-in GUI was open.
- VST: the user interface is now properly resized in Cubase on Windows.
- Improved plug-in and app listing in Windows 10 start menu.
- Fixed wrong value set by SetProgram function in built-in MIDI library.
- Fixed built-in library not always copied to user documents folder.
- Fixed scripts menu order on Mac OS Sierra and newer.
- Fixed: native widgets in custom user interfaces used to be visible before the layout was done.

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, either alone (79 USD/EUR instead of 99) or as part of the Crafters Pack bundle until September 30th.

Image

Enjoy!

ilyaorlov
KVRist
301 posts since 28 May, 2011

Post Fri Aug 30, 2019 6:44 am

Yeaaaaaaaaaaaaaah! :) :party: :party: :party: :party: :party: :party: :party:

User avatar
Blue Cat Audio
KVRAF
Topic Starter
5561 posts since 8 Sep, 2004 from Paris (France)

Post Fri Aug 30, 2019 6:51 am

:D :tu:

FLWrd
KVRian
628 posts since 18 May, 2010

Post Sun Sep 01, 2019 1:08 am

Nice.

User avatar
Blue Cat Audio
KVRAF
Topic Starter
5561 posts since 8 Sep, 2004 from Paris (France)

Post Mon Sep 02, 2019 12:43 am

Feel free to join this new Plug'n Script developers Facebook group (created by PnS users) if you are interested in learning and sharing your experience!

fairlyclose
Banned
2525 posts since 4 Jul, 2019

Post Mon Sep 02, 2019 1:20 am

are there any midi processing plugins yet eg simple algorithmic processing, random passing of notes etc?

User avatar
Blue Cat Audio
KVRAF
Topic Starter
5561 posts since 8 Sep, 2004 from Paris (France)

Post Mon Sep 02, 2019 2:10 am

There are already a few built-in MIDI effects, such as transpose, random velocity, note range filter, transpose... And it is not very complicated to write more (MIDI effects are usually easier to write than audio effects as it doe snot requires digital signal processing at all).

User avatar
Blue Cat Audio
KVRAF
Topic Starter
5561 posts since 8 Sep, 2004 from Paris (France)

Post Mon Sep 02, 2019 5:06 am

Since Plug'n Script 3.2 now supports AAX plug-in format export, you might also be interested in checking out our tutorial to create AAX plug-ins for Pro Tools and Media Composer with Plug'n Script, as there is an extra step required to make the plug-ins compatible with AVID applications.

Image

ilyaorlov
KVRist
301 posts since 28 May, 2011

Post Mon Sep 02, 2019 6:33 am

Thanks for your explanations!

ilyaorlov
KVRist
301 posts since 28 May, 2011

Post Tue Dec 03, 2019 4:00 am

Hello! I'm experimenting (for a long time) with <VARIABLE script="..." />
and should report that it often crashes the DAW if there's any error in script.
For example, I write a bad script inside VARIABLE (or it suddenly fails because of other issues), it shows error message, and on the next reload it crashes Reaper (/Cubase). I suppose, maybe it's related to windows owners/handlers? I noticed the same when I don't close properly error message and reload script, if i then close error message, the DAW fails.

ilyaorlov
KVRist
301 posts since 28 May, 2011

Post Tue Dec 03, 2019 4:04 am

BTW I use it this way in the templates to see if template variable was set or not:

<LOCAL_VARIABLE id="VAR_IS_NOT_SET" script="string s = &quot;$var$&quot;; if ((s[0] == 36) and (s[s.length-1] == 36)) return &quot;1&quot;; else return &quot;0&quot;;" />
<REPEAT count="$VAR_IS_NOT_SET$"><TEMPLATE_INNER_CONTENT /></REPEAT>

So if LOCAL_VARIABLE failes, REPEAT also failes after it, because formula is wrong now. Maybe there's a way to set default value to VARIABLE if script evaluation fails?

ilyaorlov
KVRist
301 posts since 28 May, 2011

Post Tue Dec 03, 2019 4:46 am

Let me simplify the example:

<TEMPLATE id="TEST">
<LOCAL_VARIABLE id="MYVAR" script="array&lt;string> ar = {&quot;0&quot;, &quot;1&quot;}; return ar[4];" />
<TEXT value="$MYVAR$" />
</TEMPLATE>

<TEST />

I use this code inside KUIML_WIDGET (in .kuiml file). Surely this code throws error (Index out of bounds in _LocalScript_ ...).
If you change the script inside LOCAL_VARIABLE and try to reload it (no matter it is now right or not) the DAW will crash.

My guess it's because of popup message windows that lose it's parent (or smth like that maybe).

User avatar
Blue Cat Audio
KVRAF
Topic Starter
5561 posts since 8 Sep, 2004 from Paris (France)

Post Wed Dec 04, 2019 1:53 am

Is this really specific to scripted variables? It looks like a more general issue with skin errors that a reported in a modal window. Or is it really different in this particular case?

I don't think a default value on failure is a good idea. It is probably a better practice to make sure that the script cannot badly fail with an exception.

Typically in this example:

Code: Select all

<LOCAL_VARIABLE id="VAR_IS_NOT_SET" script="string s = &quot;$var$&quot;; if ((s[0] == 36) and (s[s.length-1] == 36)) return &quot;1&quot;; else return &quot;0&quot;;" />
<REPEAT count="$VAR_IS_NOT_SET$"><TEMPLATE_INNER_CONTENT /></REPEAT>
It is probably safer to simply check the length of the string first.

ilyaorlov
KVRist
301 posts since 28 May, 2011

Post Wed Dec 04, 2019 3:52 am

It is of course possible to prevent basic errors this way, and should be done. Though when main script fails, the VARS script also fails somewhy (can't yet undestand why), and the DAW crashes. So when I'm using templates with VARS with script, if the main script in KUIML_WIDGET fails, after that DAW crashes.

I can make a demo script later after I check everything once again.

Maybe make an option for SKIN to save errors to file instead of popup windows?

ilyaorlov
KVRist
301 posts since 28 May, 2011

Post Fri Dec 06, 2019 3:10 am

Ok, here's a working example 1.

Code: Select all

<SKIN>
	<TEMPLATE id="TEST">
		<LOCAL_VARIABLE id="MYVAR" script="array&lt;string> ar = {&quot;0&quot;}; return ar[0];" />
		<TEXT value="$MYVAR$" />
	</TEMPLATE>

	<TEST />
</SKIN>>
It works. Lets make an error and change return ar[0] to return ar[1]. Reload, we get popup error. Ok. Change the script back to return ar[0]. Reload. DAW (Reaper, Win64 in my case) crashes.

Return to “Blue Cat Audio”