I thought this was an interesting message, of some relevance
for the discussions we've had over ALSA and JACK etc. I would also
recommend 

   http://www.linuxpower.org/display.php?id=216

which is a really good and insightful article on pitfalls with the
development of SGI's dmSDK API (mostly video focus, but some mention
of audio, and lots of relevance to audio).

--p

------- Forwarded Message

Date:    Tue, 05 Mar 2002 08:07:10 -0800
To:      <[EMAIL PROTECTED]> (VST PlugIns)
Subject: [vst-plugins] Re: VST DirectX Plug-in Wrapper

Yes, there's a substantial difference.

DirectX is far more flexible, which seems to translate into a substantial
weakness rather than a strength. It's baroquely complex, and rarely does
what it should, as anyone will tell you who has ever tried to build a
connection graph. DMOs only partially address the problem. 

DirectX's format flexibility also seems to be a liability. In practice, the
file filters don't work (the MP3 decoder, for example connects only
sporadically, and other decoders have well known bugs that crash systems
when you try to do simple things like enumerate or use installed audio
filters), so claims of superior handling of compressed files fail in actual
practice. 

The fact that DirectX supports, and actually has a significant preference
for integer formats is also a huge liability. Better just to dictate the use
of floating point (as VST does) and avoid the issue altogether. 

Also significantly missing from the DirectX suite is synthesizer support.
Although the Microsoft DDKs do occasionally provide sources for DirectX
synthesizers, the current versions in the DDK do not work with any known
application (not even Direct Music Producer). Cakewalk's DXi extensions do
address the problem, but really, the olnly similarities between DirectAudio
and DXi is that both are based on COM. Strictly speaking, the Microsoft DX
standard is all but useless for sequencers, and provides no real support for
synths. 

VSTs do seem to have design restrictions that are annoying. But frankly,
most of these restrictions occur in areas that DX/DXi has fumbled badly
anyway. 

I see the trade-off as follows: both do more or less the same thing,
although DirectX is baroquely complex and rarely does what it should. VST is
less flexible, but, being purpose built, does exactly what it needs to and
no more in a reasonably capable manner. Since I'm fluent in both COM and
device driver design and implementation on the Windows platform, I feel that
I'm competent to declare authoritatively that DirectX's baroque complexity
isnt' a skin deep problem: it comes about from insane overdesign that tries
to bring together three separate applciations (audio streaming, game
development, and audio production) into one framework -- something that
should never have been attempted in the first place. imho. Subseqent
band-aids that Microsoft has delivered which are supposed to address the
design insanity (like DirectMusic, and DMOs) seem to complicate things more
than they help, without actually consistently delivering the one feature
that everyone would really like: low latency audio. 

In short, VSTs are far easier to implement that DX-anything. And VSTs tend
to do what they are supposed to do -- unlike DX-anything.


_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to