i've been trying to write an abstraction which is a kind of wrapper for the vst~ object. i've attached what i've done so far.
the only creation argument of the object is the dll name of the plugin you want to use. the idea is that you can then open the abstraction, edit the parameters of the plugin, then click on save, which writes all the parameters to a array, so that when you click on load the values are read from the array and set in the plugin. when the object is created it automatically loads the current array (which will have been saved from last time the patch was open). this means you dont have to set all your plugin values every time you open a patch.
does anyone have a more elegant solution to this? it works fine excet for one problem: when i use the SIR convolution plugin, i think it remembers the filename of the impulse response that was previously selected but it doesnt seem to load it.
thanks.
Hallo, Peter Worth hat gesagt: // Peter Worth wrote:
does anyone have a more elegant solution to this?
Instead of all the [del] objects I would recommend to use [t b b b b] etc. to specify the order, in which the various messages are executed. In some places your execution order still is undefined, e.g. in front of the [tabwrite] object. It may work now, but as soon as you edit this part, it may just as well stop working. You should read the html manual's chapter 2.3: "messages" several times to really understand the implications of the message ordering and how important correct triggering with [trigger] is. It's reallyreally important, I cannot stress this too much. There are also some help patches on the topic.
Writing to a table is a quite common way to do state saving in Pd and enough for many uses. If you run into a situation where you want more flexible state saving (including saving symbols) you could look for example into my Memento/RRADical approach described here: http://footils.org/cms/show/1 or for a similar, but external-less version I would recommend my "Stupid-super-simplistic State Saving ADVANCED" abstraction, first presented here: http://lists.puredata.info/pipermail/pd-announce/2006-02/000874.html and since a couple of minutes it's also in CVS in /abstractions/footils/sssad
Frank Barknecht _ ______footils.org_ __goto10.org__
the only creation argument of the object is the dll name of the plugin you want to use. the idea is that you can then open the abstraction, edit the parameters of the plugin, then click on save, which writes all the parameters to a array, so that when you click on load the values are read from the array and set in the plugin. when the object is created it automatically loads the current array (which will have been saved from last time the patch was open). this means you dont have to set all your plugin values every time you open a patch.
i had something like this set up using thomas grill's VST~ and Pool externals coupled with my GUi extensions, the patches are at http://whats-your.name/pd/. it was basically a 'rack' of vst's, with a tree to browse them, a patch to scan them on startup, X/Y param control etc.
its proably much easier to just install Plogue Bidule, which does the same thing. then you wont have to install toxy, tk extensions, mingw, add mingw paths to your system path, etc... although bidule seems to have gone commercial last i checked.. but it had better crash recovery (i implemented this by writing out the name of the most recently loaded plugin, and skipping it on next launch, but sometimes the corruption was caused by the plugin before that, and didnt appear till later, etc - luckily LADSPAs are much more well-behaved)
does anyone have a more elegant solution to this? it works fine excet for one problem: when i use the SIR convolution plugin, i think it remembers the filename of the impulse response that was previously selected but it doesnt seem to load it.
not sure what changed with VST2.4 which just came out, but in 2.3 and earlier, the only params accepted were floats normalized to 0.0 to 1.0, and MIDI. this means even if you implemented a state saving thing with Pool or PDContainer, you cant store stuff like the filenames. you have to tell the plugin to return a preset in its native (and nonstandard) binary-chunk format, which can then be saved to a .fxp (single preset) or .fxb (preset bank) file. im not sure VST~ does this.. once again, Bidule can..and porably AudioMulch..
hi, list
has anyone succeeded in loading waves direct-x plugins into vst~ on winXP ?
if i load waveshell into vst~, it crashes PD, and loading a waves .dll itself doesn't work either (as expected).
just curious if anyone pulled that off...
oliver
Hi Oliver, which version of waves are you trying to load. I invested quite a lot of time to make shell plugins work (i think version 4 worked quite well), but there's zero documentation on the small details involved with that, apart from the fact that Waves plugins are unaffordable and they don't give away free test versions.
greetings, Thomas
Am 07.04.2006 um 14:15 schrieb oliver:
hi, list
has anyone succeeded in loading waves direct-x plugins into vst~ on winXP ?
if i load waveshell into vst~, it crashes PD, and loading a waves .dll itself doesn't work either (as expected).
just curious if anyone pulled that off...
oliver
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Oliver, adding your report to my bugtracker i just realized
has anyone succeeded in loading waves direct-x plugins into vst~ on
winXP ?
you are not really talking about direct-x, do you?
VST and direct-x are different shells for the waveshell plugins
(which in turn seem to have some independent format)
greetings, Thomas
you are not really talking about direct-x, do you? VST and direct-x are different shells for the waveshell plugins (which in turn seem to have some independent format)
oh. didn't know that.
what i did was: i tried to load the waveshell-vst.dll into vst~. i figured, the result would be a popup-list to chose the plugs from. instead it crashes PD .
ciao
oliver
greetings, Thomas