Has anyone out there used the SlimDX library for something serious (e.g., commercial) work? How did you find the library? Is it production-ready?
We're uisng SlimDX together with DirectShow.Net for the version 2 of a mid-sized multimedia application which consist of a server and client component. We used it only on the client component. I would say it's production-ready. If you're migrating code from the old MDX to SlimDX as we do, there's quite a bit of quirk to take care of. It's simply because MS put a lot of hacks in MDX to make it works.
If you're using the SampleFramework that comes with it, don't assume that it's 100% as well written as the library itself. We found a few bugs here and there on the latest version (Nov 2008). We ended up writing a simpler version of it, and since we don't need all the powerful device/resource manager in our application.
Also, it could use a bit more of the community support.
The author and several big contributors all post over on the Gamedev.net forums, which is where I found the library. I would not use it for production code unless the app was going to be updated frequently or you had the ability to easily push bug fixes to the clients. I've seen several bugs myself and there is still a reasonable set of functionality that isn't complete.
I know one of the larger contributors, and he convinced me to give it a shot as we were stuck with Managed DirectX but required DX10 features. As faulty says, there were a lot of MDX-specific helper classes/undocumented behind-the-scenes interaction that had to be compensated for when rewriting the code using SlimDX.
When I tried it (summer 2007), a lot of the problems were with bugs in the support classes, but they were fixed promptly after bug reports. I imagine as time goes on, it will be significantly better. In the end, we shipped after branching SlimDX for our own repository (which we then updated to current after the release) and it works quite well.
If it matters, we were using it for seismic data visualization.
I'm using it to manage audio devices in an application that controls medical treatment machines. It has to be able to direct specific audio to a specific machine. DirectSound lets me do that.