cesium wrote:There are two mixing drivers in OSSv4, vmix and softoss.
vmix isn't supported on FreeBSD:
No, that's not the point, vmix is supported on FreeBSD (or at least present and working, I don't have OSS currently loaded, but see for example here - http://4front-tech.com/forum/viewtopic.php?t=2110
- you get the point). The problem is that every vmix device is a standalone device that you need to point your application to.
FreeBSD's native OSS creates (opens) a new vchan (something similiar to 4Front vmix technology), or "virtual channel" devices on the fly when /dev/dsp is requested by an application. But with 4Front, the /dev/dsp is a symlink to one of the hw or vmix devices of your choice and the first application that opens it blocks that device. Then you need to point your other applications to dsp1, dsp2, dsp3, etc., that are symlinks to other hw/vmix devices.
And I don't believe that this is how 4Front OSS really is designed (I actually did a few years ago, but thought that it's probably "work in progress" and will change soon).. But it's 2008 and I can't see any change, so I'm starting to think that it must be me doing something wrong, otherwise there would be feature requests for something like this daily. All other people I know either don't use 4Front because of this, or just point their audio applications manually to the available channels. But is this really how 4Front OSS is supposed to work on FreeBSD? Even when native OSS solved this long time ago in... FreeBSD 5?