Hi all,
pdvst-0.52 v0.3 has been released.
# about
- very old bridge that supports using Pd > 0.52 inside a vst 2.4 host.
- can load externals and has multi-instance support
# changes:
- supports saving all vst parameters (and also a Pd list) in the host's session.
- repository migrated to github
# weakness
- ms-windows only
# todo
- find a way to make it cross-platform and after that create a new VST3 project upgrade.
# repositories
- https://github.com/Lucarda/pdvst-0.52
- https://git.nubegris.com.ar/lucarda/pdvst-0.52 (will be off-line soon)
# total thanks
- Chris McCormick for generous donations.
:)
On 18/10/2024 07:34, Lucas Cordiviola wrote:
- very old bridge that supports using Pd > 0.52 inside a vst 2.4 host.
One cool thing to do with this is retro-computer music making with Pd. You can run old Windows DAWs on Wine and have Pd inside that as a VST. I'm doing this with OpenMPT tracker and it's a lot of fun.
- supports saving all vst parameters (and also a Pd list) in the host's session.
I wanted to highlight this really cool feature Lucas added. It allows you to save and recall data from your Pd patch inside the save file of the host DAW. It works by sending to [s svstdata] and receiving from [r rvstdata]. It's a bit like [savestate] but instead of persisting data into the patch you can persist data into the save file of the project in your DAW, specific to the Pd VST instance.
So for example you could make a Pd VST plugin where the user can draw their own waveform for synthesis, and then the data for that waveform is stored in the DAW save file (not the Pd patch). So each time you use the plugin you can have unique data (a unique waveform) specific to that instance in your DAW.
Thanks for your work on this Lucas!
Cheers,
Chris.
" - find a way to make it cross-platform and after that create a new VST3 project upgrade."
Could this possibly be done in Juce??
On Sun, Oct 20, 2024 at 5:18 AM Chris McCormick chris@mccormick.cx wrote:
On 18/10/2024 07:34, Lucas Cordiviola wrote:
- very old bridge that supports using Pd > 0.52 inside a vst 2.4 host.
One cool thing to do with this is retro-computer music making with Pd. You can run old Windows DAWs on Wine and have Pd inside that as a VST. I'm doing this with OpenMPT tracker and it's a lot of fun.
- supports saving all vst parameters (and also a Pd list) in the
host's session.
I wanted to highlight this really cool feature Lucas added. It allows you to save and recall data from your Pd patch inside the save file of the host DAW. It works by sending to [s svstdata] and receiving from [r rvstdata]. It's a bit like [savestate] but instead of persisting data into the patch you can persist data into the save file of the project in your DAW, specific to the Pd VST instance.
So for example you could make a Pd VST plugin where the user can draw their own waveform for synthesis, and then the data for that waveform is stored in the DAW save file (not the Pd patch). So each time you use the plugin you can have unique data (a unique waveform) specific to that instance in your DAW.
Thanks for your work on this Lucas!
Cheers,
Chris.
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/3G23ALYWUR...
To unsubscribe send an email to pd-list-leave@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/
On 19/10/2024 21:53, Matt Davey wrote:
Could this possibly be done in Juce??
i think so but i should not take that path. i'll explain why *not me* but anybody reading will get the picture if wanting to do it.
# vst2.4 cross-platform
- here i'll use the basic build system to be able to just use 2 dozens of #ifdef(!windows) until i'm sure i understood how to use "CreateFileMapping(" in a non-Windows system. this is the thing that transfers the bytes in the 2 involved processes (the vsthost and Pd). luckily something very similar is done in https://deken.puredata.info/library/shmem but iirc it does not implement semaphores.
# vst3
- once i did the above, learn how to adapt the cmake build system from "https://github.com/steinbergmedia/vst3_example_plugin_hello_world" and try to get it all together for vst3. only experience i have with vst3 is https://github.com/Lucarda/pulqui-limiter.vst3 . here we will not use a GUI and MIDI is not the same as vst2.4.
- is true that here i could jump directly to learning Juce. (i'll re-think it later)
#
so anyone comfortable with c++, juce and cmake will do it better and faster than me. on my side this is to keep myself busy and learning (which is good). also (without under-rating anything) the thing has already been done, it just need a "implementation details upgrade"
:)