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

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!

Post

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

Post

:D :tu:

Post

Nice.

Post

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!

Post

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

Post

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).

Post

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

Post

Thanks for your explanations!

Post

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.

Post

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?

Post

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).

Post

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.

Post

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?

Post

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.

Post Reply

Return to “Blue Cat Audio”