Login / Register  0 items | $0.00 New#KVRDeals
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Tue Nov 21, 2017 6:57 am What formats/environments to support (if any in addition to VST)?

So, the notion of cross-platformity is a common issue when making audio processors.

There are environments such as Max/MSP, Reaktor etc. that may make the development process faster, but then one may not be able to support other platforms and one's product becomes dependent on another product.

On the contrary, relying on just writing C++ VSTs would offer the widest portability I think. But the development process would be longer than when using higher level tools. I'd really like to use e.g. Reaktor for some stuff.

So what should guide my choice of platform, when considering how to implement a project?

I've heard that writing C++ in Max/MSP is a sort of middle-ground. But then again, Max/MSP is bound to Ableton and is thus a bit closed system. Pure Data could be better in this sense. But then again the community around Pd is not as big.
User avatar
whyterabbyt
Beware the Quoth
 
25243 posts since 3 Sep, 2001, from R'lyeh Oceanic Amusement Park and Funfair

Postby whyterabbyt; Tue Nov 21, 2017 7:14 am Re: What formats/environments to support (if any in addition to VST)?

soundmodel wrote:I've heard that writing C++ in Max/MSP is a sort of middle-ground.


I kinda doubt it, tbh. Prototyping stuff in Gen in MAX/MSP, then exporting to C++ code might be a way forward, but building for MAX in C++ is going to be a ton of MAX SDK code that you're then going to have to dump for plugin SDK code, at least all the UI and host-specific stuff.

But then again, Max/MSP is bound to Ableton and is thus a bit closed system.


Not quite; Max4Live is bound to Ableton Live, MAX/MSP itself is a standalone development environment in which you can build standalone tools.

Pure Data could be better in this sense. But then again the community around Pd is not as big.


I dont think PD stuff is generally written in C++, its mostly C.
"The bearer of this signature is a genuine and authorised pope."
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Tue Nov 21, 2017 7:32 am Re: What formats/environments to support (if any in addition to VST)?

The problem with Max/MSP and Ableton is that since Ableton wants Max4Live and Ableton owns Cycling. Then Max/MSP probably won't see "export to VST" ever, because that'd ruin Ableton's monopoly on it. And this is a kind of technology that I don't want to support.

Sort of the same with Reaktor and NI, but at least Reaktor is a VST, so it's "cross-platform" in some sense.

There exists a VST host for Pd patches called Camomile. That's why Pd as a platform would be "good to go" already.

However, what I'm really unsure about Pd is that does it offer any advantages over C++.

Then there's Faust and such that are more closer to conventional programming language technologies and might thus be better supported in the long-term. And since these export to conventional VSTs, then the technology choice only affects the developer, not the users.
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Tue Nov 21, 2017 7:43 am Re: What formats/environments to support (if any in addition to VST)?

So it'd be easiest and most portable to just stick to C++ VSTs, but in order to not spend inordinate amount of time on "boilerplate" code, it'd be preferable to use libraries that make the development faster.

Faust is nice in the sense that it also creates GUIs semi-automatically.
User avatar
whyterabbyt
Beware the Quoth
 
25243 posts since 3 Sep, 2001, from R'lyeh Oceanic Amusement Park and Funfair

Postby whyterabbyt; Tue Nov 21, 2017 7:45 am Re: What formats/environments to support (if any in addition to VST)?

soundmodel wrote:The problem with Max/MSP and Ableton is that since Ableton wants Max4Live and Ableton owns Cycling. Then Max/MSP probably won't see "export to VST" ever, because that'd ruin Ableton's monopoly on it. And this is a kind of technology that I don't want to support.


However, like I say, it is already possible to export Gen patches...

https://cycling74.com/forums/gen-code-export-vst/

wrt 'wrapper' solutions like Camomile, the main issue there used to be with these things is that the underlying engines (eg PD, Csound, whatever) genrally wouldnt allow you to use multiple instances. I think Rory Walsh has solved this for Cabbage/Csound, I dont know if that's still an issue for PD.
More importantly, though, unless you have something which exports a 'standalone' VST plugin, rather than wraps an engine, Im afraid you'll get resistance from your potential userbase, far moreso than even something like Synthedit or Synthmaker/Flowstone.
"The bearer of this signature is a genuine and authorised pope."
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Tue Nov 21, 2017 7:48 am Re: What formats/environments to support (if any in addition to VST)?

whyterabbyt wrote:
soundmodel wrote:The problem with Max/MSP and Ableton is that since Ableton wants Max4Live and Ableton owns Cycling. Then Max/MSP probably won't see "export to VST" ever, because that'd ruin Ableton's monopoly on it. And this is a kind of technology that I don't want to support.


However, like I say, it is already possible to export Gen patches...

https://cycling74.com/forums/gen-code-export-vst/


I'm not that versed with Max in order to understand whether Max patches can be 100% Gen or whether Gen is just a part of a Max patch and therefore Gen exporting is not enough to make full VSTs out of Max.

Camomile supports multiple instances, but it's through some hack, rather than official support in libpd. It works nevertheless.
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Tue Nov 21, 2017 7:58 am Re: What formats/environments to support (if any in addition to VST)?

Also, if one wishes to extend the C++ code generated by Gen export, then is the Gen exported code clean and modular enough so that one can e.g. use Gen exported code alongside conventional WDL-OL or JUCE code?
soundmodel
KVRian
 
536 posts since 28 May, 2010, from Finland

Postby soundmodel; Tue Nov 21, 2017 8:07 am Re: What formats/environments to support (if any in addition to VST)?

Faust seems like a very nice technology on paper and is constantly updated.

http://faust.grame.fr/
User avatar
whyterabbyt
Beware the Quoth
 
25243 posts since 3 Sep, 2001, from R'lyeh Oceanic Amusement Park and Funfair

Postby whyterabbyt; Tue Nov 21, 2017 8:12 am Re: What formats/environments to support (if any in addition to VST)?

soundmodel wrote:I'm not that versed with Max in order to understand whether Max patches can be 100% Gen or whether Gen is just a part of a Max patch and therefore Gen exporting is not enough to make full VSTs out of Max.


Gen is a single Object available within the MAX environment. A MAX patch would constitute none or more Gen Objects plus other MAX stuff, including other realtime audio processing Objects. The parallel would be Core modules in Reaktor, I reckon.

A 'portable as possible' Gen-oriented MAX patch would ideally be one single Gen Object plus 'operational logic' built from other MAX modules.
"The bearer of this signature is a genuine and authorised pope."
User avatar
whyterabbyt
Beware the Quoth
 
25243 posts since 3 Sep, 2001, from R'lyeh Oceanic Amusement Park and Funfair

Postby whyterabbyt; Tue Nov 21, 2017 8:16 am Re: What formats/environments to support (if any in addition to VST)?

soundmodel wrote:Faust seems like a very nice technology on paper and is constantly updated.

http://faust.grame.fr/


Yeah, I think Faust made a lot of people revisit the notion of an audio language targetting code generators, particularly when they incorporated LLVM JIT and the Web version.
"The bearer of this signature is a genuine and authorised pope."

Moderator: Moderators (Main)

Return to DSP and Plug-in Development