Blue Cat's Plug'n Script 3.32 Released
-
- KVRist
- 37 posts since 29 Nov, 2022
Is Plug'n Script capable of playing multiple samples at once? I see there's WaveFile.hxx and the ability to load and play an individual sample, but if you wanted to build something capable of triggering multiple samples, would it be possible? Thanks
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5843 posts since 8 Sep, 2004 from Paris (France)
You can indeed load multiple wave files and play them all together. The built-in file loader does not include resampling though, so you may have to include samples for different sample rates or implement a resampler.
-
- KVRist
- 37 posts since 29 Nov, 2022
Hello again - what determines the buffer size for the processBlock() function, and is there a way of knowing what it would be ahead of time (or do we have to use data.samplesToProcess)? Thanks
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5843 posts since 8 Sep, 2004 from Paris (France)
The host determines the buffer size, and it may change for each call (it depends on the host - all apps do not behave the same), hence the data.samplesToProcess field. You can however know the max possible buffer size upon initialization to preallocate your internal buffers (as shownin the delay samples).
-
- KVRist
- 184 posts since 28 Nov, 2009
Please consider increasing the 8 channel limit, there's a massive gap in the industry for useful tools to work in spatial audio. Plugins like Plogue Bidule & Krushview Element can be a little bit restrictive / not as easy to script imo.
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5843 posts since 8 Sep, 2004 from Paris (France)
There are indeed more and more needs for multichannel audio these days!
-
- KVRist
- 37 posts since 29 Nov, 2022
When writing native scripts, should we use the delete command in the shutdown() function to deallocate resources (in C++)? I find that the plugin crashes upon close if I use any delete commands in the shutdown() function. For example, if I have created a global array of objects - say, Filter filter[noChannels] - wouldn't I need to use delete [] filter in the shutdown() function?
Ignore this - my mistake!
Ignore this - my mistake!
Last edited by ajl1606 on Thu Feb 02, 2023 5:57 pm, edited 1 time in total.
-
- KVRist
- 38 posts since 6 May, 2021
Is it possible with the update to create an algorithmic reverb now, as I never could before?
Also just wondering why that was?
Many thanks
Also just wondering why that was?
Many thanks
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5843 posts since 8 Sep, 2004 from Paris (France)
Sure you can create an algorithmic reverb, I don't see why it would not be possible, unless maybe your algorithm is using too much CPU?
-
- KVRist
- 37 posts since 29 Nov, 2022
In Cubase, scanned plugins are automatically assigned to categories (delay, filter etc.), but PnS exports always appear in the 'Other' category. Is there any way to change this? I assume there must be metadata within the VST framework, as other non-Steinberg plugins appear in the appropriate category. If there's any way of accessing this via PnS, please let me know! Thanks
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5843 posts since 8 Sep, 2004 from Paris (France)
The category is indeed currently not available when exporting the plug-in. Have to work on it!
-
- KVRer
- 8 posts since 19 Mar, 2020
Hey guys, I have a question about PnS. Is it possible to implement user authorization via PnS, meaning can I make a code that will only be called on plugin startup asking for a licensing key? And then when it will be entered plugin would work as intended without asking the license file once again. As far as I understand, it should be done in Initialize section but I'm not sure plugin can save a state of being registered and then not ask for a key again.
And another question, do you plan to include Oversampling examples to a scripts that comes with PnS in the future? Thanks!
And another question, do you plan to include Oversampling examples to a scripts that comes with PnS in the future? Thanks!
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- Topic Starter
- 5843 posts since 8 Sep, 2004 from Paris (France)
Hi,
You can indeed implement your own authorization scheme, but as it would probably require some user interface, you probably want to implement part of it in the user interface. The Initialize() function can be used to check the license and avoid processing audio later if the license is not available, but it won't let you show any user interface.
I think Ilya (Letimix) has implemented his own copy protection scheme on top of Plug'n Script. Maybe he may share some ideas about it!
Regarding oversampling, it is not easy to do it in a script, as it will probably use too much CPU. Maybe we'll add an option to do it natively in PnS in the future, but it might take some time to implement.
You can indeed implement your own authorization scheme, but as it would probably require some user interface, you probably want to implement part of it in the user interface. The Initialize() function can be used to check the license and avoid processing audio later if the license is not available, but it won't let you show any user interface.
I think Ilya (Letimix) has implemented his own copy protection scheme on top of Plug'n Script. Maybe he may share some ideas about it!
Regarding oversampling, it is not easy to do it in a script, as it will probably use too much CPU. Maybe we'll add an option to do it natively in PnS in the future, but it might take some time to implement.
-
- KVRist
- 304 posts since 28 May, 2011
Hey, guys!
Yea, +1 for choosing category upon export, and also for track names support
Regarding serial no - I do it via input string, in KUIML user puts his serial into input string, in DSP this string is received and verified (but not in initialize, cause in initialize you can't yet read input string values). If the string is valid (the serial is valid) then I save a file on disk (into user directory) which later can be used as a flag that correct serial was entered. This flag can be read and verified in initialize on next plugin loading. Smth like that!
Yea, +1 for choosing category upon export, and also for track names support
Regarding serial no - I do it via input string, in KUIML user puts his serial into input string, in DSP this string is received and verified (but not in initialize, cause in initialize you can't yet read input string values). If the string is valid (the serial is valid) then I save a file on disk (into user directory) which later can be used as a flag that correct serial was entered. This flag can be read and verified in initialize on next plugin loading. Smth like that!