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

Reply via email to