On November 25, 2012 03:51:40 AM Tim E. Real wrote: > http://dl.dropbox.com/u/53315356/native_vst_first_run.png > > http://www.mucoder.net/en/tonespace/ > > Tim.
Hello friends. Soon will be back from my long twisted journey. Yessirree, have I got some stories to tell... http://dl.dropbox.com/u/53315356/native_vst_now_we_are_cooking.png In answer to Dan's question: Yes, you can see from the pic that it is quite usable, and enjoyable. You can see ALL the synths are going at once in the mixer strips as I play my midi KB. Some are feeding into others because they are really not synths but midi-capable effects. This is only the synthesizers. Sorry, no rack plugins yet. I strategically chose to work on the synths first, because any effects can be loaded as synth tracks for now as I work ahead. Rack plugins will be more difficult. Robert, em, I reckon should be a few more days 'till the synths are ready. Would you mind terribly if we throw this in, and do an RC2 sometime later, giving sometime to check it out? It is as unobtrusive as possible. Most of the work is in the new vst_native module, of course. But there are some important bugs fixes here and there, with DSSI as well. And... there is one big crucial fundamental change: Another step has been taken in unifying plugins and synths classes: Old class structure: ------------------------------------------- class PluginIBase class PluginI : public PluginIBase class SynthIF class DssiSynthIF : public PluginIBase, public SynthIF class MessSynthIF : public SynthIF class MetronomeSynthIF : public SynthIF and so on. New class structure: ------------------------------------------- class PluginIBase class PluginI : public PluginIBase class SynthIF : public PluginIBase class DssiSynthIF : public SynthIF class MessSynthIF : public SynthIF class MetronomeSynthIF : public SynthIF class VstNativeSynthIF : public SynthIF (Yep, got it) class LV2SynthIF : public SynthIF (He he, later...) and so on. It took me about an hour to do it and worked great first try, because I already knew that the merger of PluginIBase and any *SynthIF was going to work - as demonstrated in DssiSynthIF ! I did it because you'll notice it was not possible to cast directly from SynthIF to PluginIBase without UGLY casts to DssiSynthIF first, then down to PluginIBase. There were several places doing that, requiring ugly dssi-specific #ifdef DSSI_SUPPORT and so on. Knowing that we would be adding not one, not two, but THREE new synth types, I did not relish the thought of adding THREE more dedicated sections to all of those places ! So I made it all proper. So, um, ye' see, it means our MESS synths *could* now use all the floating-point goodness of the PluginI class, if ye' so desire... By default, in SynthIF, all the base methods from PluginI are 'blank', so ye' need not worry about supporting PluginI features at all. Trust me, it will rock. I will only get better. Wait 'till you see the automation features VST brings. Hey Florian, if you're out there, VST has 'begin/end automation' signals that happen when a control is pressed or released. Remember when we struggled with that? The 'luxury' of those two signals? It really works! Which brings me to my closing thought: I said THREE new synth types above. Native VST, LV2, ... and the third? With respect to VST, Robert said it best: All the best ones are Win plugins. So I leave you with this tantalizing idea: I'd like to study integrating Wine-VST support right into MusE. I hope that all we need is one Wine-built module to do all the Win-specific code. And the rest, well it'll be integrated right into MusE just like the Native VST stuff. Giving full access to all the features, and the full VST callback etc. Really, having just spent the week up to my neck in DSSI-VST, FST, Native VST, and QTractor code, I think that it would be possible, even trivial now. Not sure yet, but we could try the DSSI-VST way and use a server, or try the FST way and build right in. Essentially, what I mean is DSSI-VST ... bypassing the DSSI part ! Hope LV2 is as fun... Gotta go now. Cheers. Tim. ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: INSIGHTS What's next for parallel hardware, programming and related areas? Interviews and blogs by thought leaders keep you ahead of the curve. http://goparallel.sourceforge.net _______________________________________________ Lmuse-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lmuse-developer
