|
Post by baadc0de on May 15, 2006 13:41:01 GMT
Hello.
Great job on the ASIO4All! I'm using it to join more audio interfaces together and it works!
I have a need for a VST effect that would pose as audio data router to or from an ASIO device (or even better, a WDM device). Is it possible to quickly port the ASIO4All to pose as a VST? Since you have done a what I understand as a Rewire port... I'm a relatively accomplished C++ programmer, but haven't checked out your code (if it's available) or VST for that matter. If it's possible and you have any pointers (pun intended), I'm all ears.
Thanks!
|
|
|
Post by Michael Tippach on May 15, 2006 21:58:24 GMT
The ReWire interface in the current ASIo4ALL only works as solid as it does because it is "cheating" in as far as that it gets its syncronization information by tapping into the data stream on the (main) ASIO interface, which just so happens to reside in the same DLL ,-).
On the other hand, this way it is only possible to map channels to ReWire that are available as ASIO channels anyway. The same thing could be done for VST. Not exactly a biggy - with some exceptions.
However, it would be of limited use. Hosts like Cubase provide the functionality you require natively already, i.e. you can configure outboard effects using ASIO channels and later use them as inserts and/or sends by the name you have given them in very much the same way as you would use a VST plugin.
A VST plugin which is addressing an audio device other than the one(s) covered by the main ASIO driver is a different animal alltogether. For this kind of a project, one has to take care of various syncronization issues which I have nicely avoided in the "ReWuschel" implementation. Since in such a setup you know nothing about sample rate accuracy and/or ASIO jitter between the host clock and the clock of the device addressed by the plugin, you run into some really nasty double buffering needs - and for general purpose use some sort of adaptive dynamic resampling in real time will eventually become neccessary.
As there are some real world implementations (TC Powercore, Virus TI...) you may wonder how "they" did it. I've been talking to people involved (since this keeps being a hot topic): I is _never_ dealt with at the host side alone. In case of TC, the DSPs would happily jitter along with the ASIO clock of the host - i.e. they would not try to enforce their own clock in any way - and the Virus has some sophisticated internal syncronization mechanism which supposedly has the USB clock as an additional timing reference available.
|
|
|
Post by baadc0de on May 16, 2006 10:25:10 GMT
The thing I'm after is that a specific unnamed app I enjoy very much only does one interface and at that, only via WDM and only specific hardware to boot. It does have VST support in it, and I thought I could just whack together a WDM read/write thingy to it so that I could expand the number of inputs and outputs available. It pains me very much because this unnamed app used to support multiple interfaces in some version, but dropped it later. That same version adds support to one of the interfaces I use, so basically, I'm stuck with two interfaces I want to use together and a stupid app that I paid quite some money for and doesn't support them both at once (either one or the other).
Now, the interfaces are clock synced together externally and are from the same manufacturer - would porting of ASIO4All to VST help me in this specific case?
Thanks!
|
|
|
Post by Gistybit on May 21, 2006 10:33:10 GMT
I might be wrong, but this sounds exactly like what Cockos' ReaRoute does. (An ex-winamp developer doing some cool projects like Reaper, Jesusonic and Ninjam). All his stuff is freeware as of now, although he plans to change the license eventually. Anyway, i haven't tried it but it sounds like your solution. It is only available bundled with Reaper --> www.reaper.fm/You can find a screenshot illustrating what ReaRoute can do here: www.24track.net/reaper/Samplitude_ReaRouted.htmlThe author is also very active on the forums.
|
|
|
Post by Gistybit on May 21, 2006 10:34:11 GMT
hehe it changed c * c k to "thingy", so that should spell c o c k o s
|
|
|
Post by baadc0de on May 22, 2006 6:57:28 GMT
ReaRoute looks cool and all but from what I gather does not present itself as a VST plugin (which is what I need). And ReaRoute does not seem to be made to read from physical inputs (from interfaces) but from software outputs (other DAWs and stuff). If it did however, and would present itself as a VST plugin, that would rule so much and solve all of my problems.
Btw, I boldly picked up the ASIO and VST sdks... will be looking through them and hopefully come up with a ASIO<->VST router.
|
|
|
Post by Gistybit on May 22, 2006 14:02:03 GMT
That is true. It routes audio and presents itself as an audio interface. Route your unnamed app's output to a ReaRoute input, and record in your daw through your ReaRoute output.
If you need to send the unnamed app MIDI-input, then you can get Midi-Ox and route the Midi input to the app, the audio to rearoute and from rearoute to your DAW(or whatever)
In that way Midi-ox combined with ReaRoute can be used as ReWire is used for Reason.
And isn't this exactly what you want to do? Transfer audio from your unnamed app to your DAW/recorder ?
|
|
|
Post by Gistybit on May 22, 2006 14:09:39 GMT
Ah sorry.. perhaps i misread.. the unnamed app will only do audio output to it's dedicated hardware interface, and your idea is to transfer the audio through a VST plugin. In that case i don't know. Sorry for confusing your original question. Guess i couldn't imagine an app which didn't allow you to choose any other interface than it's own . Keep us posted about your VST audio routing app!
|
|
|
Post by baadc0de on May 23, 2006 5:53:12 GMT
Well, I've taken the plunge and took up a DAW that can do ASIO and even multiple devices, so I'm much happier. It just so happens a client called today for me to set up a big PA, and I'd need both of my interfaces... geez what timing.
Just for the record the unnamed app is ProTools MP 7.1 - it can do any of the supported interfaces, but just one at a time. No combining of interfaces, though it had that in 6.9. It's a shame because the software wasn't cheap, the specific hw for it is also rather expensive-ish and I bought a few specific plugins to boot - none of them will work in my new app! At least the hw is good and has very stable WDM/ASIO drivers.
I'll post here when I get the VST router to work. Maybe someone else may need it. You could also combine ReaRoute and my future VST router. That could be fun.
Thanks for the replies!
|
|