Hu, in fact it's the other way around: VST is a C ApI based of a very small
set of functions passing "opcodes" arround. It is wrapped with C++ on the
plugin side but you can writte C only VST plugins (well, I don't know of any
C only VST plugins anyway).
DirectX/DirectShow is totaly COM based and thus C++ is almost mandatory. Of
course you would be able to use COM objects in C by calling their methods
thru the virtual functions table but COM allready being a pain in C++ I
wouldn't advise anyone to go for this solution.
MSVCRT is just the equivalent of the gnu libc, most functions are the same
and the missing ones can be emulated quite easily with the corresponding set
of call to the libc. The main problem would more be the dependency to the
Win32 API thru gdi32.dll, user32.dll, kernel32.dll, etc... But all of these
are allready well emulated by wine (you woulnd't be able to run word or
winamp with wine without it).
Just my 0.02 euros,
Sebastien
----- Original Message -----
From: "Paul Davis" <paul(a)linuxaudiosystems.com>
To: <linux-audio-dev(a)music.columbia.edu>
Sent: Tuesday, October 22, 2002 3:23 AM
Subject: Re: [linux-audio-dev] Re: The Image (usablity) problem from a
Musicians point of view
VST is a C++ API, and thus its easy for plugins to end up having
dependencies on MSVCRT.dll or its equivalent with other compilers,
which is not available under linux, even with wine.
DirectX is more of a possibility, since its C API (though i am not
sure if this avoid dependencies on unavailable MS system calls - i
don't know what state wine is in). But there are not very many "pro
audio" plugins under DirectX - lots of instruments and wierdo
enthusiast FX, but not the sort of stuff that ProTools, Nuendo and
Logic users are inclined towards.