Hi,
here's a small bugfix release for vstplugin~- an external to load VST 2 and VST 3 plugins in Pd on Windows, macOS and Linux.
Binaries are available on Deken or can be downloaded here: https://git.iem.at/pd/vstplugin/-/releases
If possible, please report any issues at https://git.iem.at/pd/vstplugin/issues
Have fun and stay healthy!
Christof
Changelog
implement missing SMPTE support for VST2 and VST3 plugins
implement missing MIDI clock sample offset for VST3 plugins (already
implemented for VST2 plugins)
fix tiny VST editor window with certain plugins (rare)
fix bug in VST3 host message binary attribute (used by certain
plugins, like FabFilter, to transmit large visualization data)
Pd-announce mailing list Pd-announce@lists.iem.at https://lists.puredata.info/listinfo/pd-announce
Minor compiler fix if you're only using VST2:
void PluginInfo::setUID(const char *uid){ #if USE_VST3 type_ = PluginType::VST3; char buf[33]; for (int i = 0; i < sizeof(TUID); ++i){ // we have to cast to uint8_t! sprintf(buf + 2 * i, "%02X", (uint8_t)uid[i]); } buf[32] = 0; uniqueID = buf; memcpy(id_.uid, uid, 16); #endif }
... and, it wasn't obvious to me that I needed to have static libc++ installed (I got the error "-lstdc++: not found" or some such but had to dig for a while to see that it was the _static_ version that was missing.) I'm not sure why it's necessary to use the static version at all, but it might help some future user if that was mentioned as a dependency somewhere.
Meanwhile, bravo - this is a really good thing.
cheers Miller
On Tue, Apr 07, 2020 at 09:39:42AM +0200, Christof Ressi wrote:
Hi,
here's a small bugfix release for vstplugin~- an external to load VST 2 and VST 3 plugins in Pd on Windows, macOS and Linux.
Binaries are available on Deken or can be downloaded here: https://git.iem.at/pd/vstplugin/-/releases
If possible, please report any issues at https://git.iem.at/pd/vstplugin/issues
Have fun and stay healthy!
Christof
Changelog
- features
implement missing SMPTE support for VST2 and VST3 plugins
implement missing MIDI clock sample offset for VST3 plugins (already
implemented for VST2 plugins)
- bug fixes
fix tiny VST editor window with certain plugins (rare)
fix bug in VST3 host message binary attribute (used by certain plugins,
like FabFilter, to transmit large visualization data)
Pd-announce mailing list Pd-announce@lists.iem.at https://lists.puredata.info/listinfo/pd-announce
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Hi Miller,
thanks a lot for reporting! Will push a fix on develop.
... and, it wasn't obvious to me that I needed to have static libc++
In the build system there's a CMake option "STATIC_LIBS" which says: "link with static libraries (libstdc++, libgcc and phread)"
You can just set it to OFF. There's a note in the README:
"WhencompilingwithGCConLinuxweoffertheoptionSTATIC_LIBS
tolinkstaticallywithlibstd++andlibgcc;thedefaultis'OFF'."
Turns out that the last sentence is wrong :-) The default is ON
. Will
update the README.
I'm not sure why it's necessary to use the static version at all
Statically linking makes sharing C++ externals easier. I've had people missing the correct stdlibc++ version on their Linux system, so the external would fail to load. So for uploading to Deken, statically linking is preferred. Package managers, on the other hand, frown upon static linking and prefer to link dynamically (which makes sense). So if vstplugin~ would be released as a Debian package, it should be linked dynamically. I just offer both options.
Then there's a very annoying bug in mingw32 where dynamic linking libgcc and libstdc++ breaks DWARF2 exception handling if the host application is statically linked and vice versa. Throwing an exception immediately terminates the program... https://git.iem.at/pd/vstplugin/-/issues/26#note_4132 Luckily, this doesn't affect mingw64 builds.
Meanwhile, bravo - this is a really good thing.
Glad you're enjoying it! *blush*
Christof
On 13.04.2020 03:21, Miller Puckette via Pd-list wrote:
Minor compiler fix if you're only using VST2:
void PluginInfo::setUID(const char *uid){ #if USE_VST3 type_ = PluginType::VST3; char buf[33]; for (int i = 0; i < sizeof(TUID); ++i){ // we have to cast to uint8_t! sprintf(buf + 2 * i, "%02X", (uint8_t)uid[i]); } buf[32] = 0; uniqueID = buf; memcpy(id_.uid, uid, 16); #endif }
... and, it wasn't obvious to me that I needed to have static libc++ installed (I got the error "-lstdc++: not found" or some such but had to dig for a while to see that it was the _static_ version that was missing.) I'm not sure why it's necessary to use the static version at all, but it might help some future user if that was mentioned as a dependency somewhere.
Meanwhile, bravo - this is a really good thing.
cheers Miller
On Tue, Apr 07, 2020 at 09:39:42AM +0200, Christof Ressi wrote:
Hi,
here's a small bugfix release for vstplugin~- an external to load VST 2 and VST 3 plugins in Pd on Windows, macOS and Linux.
Binaries are available on Deken or can be downloaded here: https://git.iem.at/pd/vstplugin/-/releases
If possible, please report any issues at https://git.iem.at/pd/vstplugin/issues
Have fun and stay healthy!
Christof
Changelog
- features
implement missing SMPTE support for VST2 and VST3 plugins
implement missing MIDI clock sample offset for VST3 plugins (already
implemented for VST2 plugins)
- bug fixes
fix tiny VST editor window with certain plugins (rare)
fix bug in VST3 host message binary attribute (used by certain plugins,
like FabFilter, to transmit large visualization data)
Pd-announce mailing list Pd-announce@lists.iem.at https://lists.puredata.info/listinfo/pd-announce _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list