Loading Windows VSTs within Carla

Official support for the KXStudio Linux distribution and applications.
More info at http://kxstudio.linuxaudio.org/

Moderators: falkTX, MattKingUSA, khz

User avatar
falkTX
Established Member
Posts: 6646
Joined: Sat Jan 09, 2010 3:04 pm

Loading Windows VSTs within Carla

Postby falkTX » Thu Sep 20, 2012 7:14 pm

Before someone else comes here and starts "omg omg omg, I just loaded a Windows VST plugin in Carla, and it works!!", let me be the first to do it:
OMG OMG OMG Carla can now load Windows VSTs! :lol:

Make no mistake - this is true and it's happening *right now*, BUT has several issues.
Carla is still pre-beta, I'm still learning how to properly handle VSTs (Windows plugins surely know lots of ways to break a host/DAW...).
But this also gives Carla the chance to be better at native linux VST support, since the code is 99% the same.
The main problem right now is Windows plugins that require single-thread processing (DSP and UI), which Carla seems to have issues with.

anyway, here's the proof:
http://i.imgur.com/pwMwe7b.png

You may ask what will be supported - nothing, at least right now.
This is a nice feature to have, but it will be labeled as experimental for the time being (it will require extensive testing to make sure most plugins work).
For now I'll only focus on 3 plugin packs (to try to make them work, but still no support if things go bad):
- Kjaerhus Audio Classic pack (very nice, clean, small and useful. Company has died though)
- Image-Line plugins (because I own some from my Windows days)
- Synth1 (1 single plugin, simply too awesome)

If you want to give it a try, update your system and install 'carla-git' and 'carla-bridge-win32'.
CLI:

Code: Select all

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install carla-git carla-bridge-win32


Then configure the VST folders (inside Carla) to where your DLLs are and refresh the Windows-32bit plugin list.

You'll be able to load the plugins within Carla in multi-client mode.
Alternatively, you can load plugins via command-line, example:

Code: Select all

/usr/lib/carla/carla-bridge-win32.exe null VST ~/Personal/Muzyks/WinVST/Crystal_32.dll "client-name" "random-label"

modify the DLL plugin path as needed.


Once I figure out how to fix the multi-thread problem in Carla (and thus make 50%+ plugins to work), I'll let you know.
For now this is just a very cool feature sneak peak.

stanlea
Established Member
Posts: 478
Joined: Wed Apr 25, 2012 9:49 pm

Re: Loading Windows VSTs within Carla

Postby stanlea » Thu Sep 20, 2012 9:13 pm

Cool ! I'll try it, for sure. FYI I had a crash with synth1 loaded in Festige yesterday while I was tweaking some parameters.

User avatar
falkTX
Established Member
Posts: 6646
Joined: Sat Jan 09, 2010 3:04 pm

Re: Loading Windows VSTs within Carla

Postby falkTX » Thu Sep 20, 2012 9:30 pm

One thing this will have different from all other windows-plugins-on-linux deals is that you're actually running a *real* Windows app, not something compiled with winegcc (as done with ArdourVst, dssi-vst, fst, etc).
The trick is to use a special jackbridge DLL that Wine understands, while keeping the main code native Windows compiled (in this case, mingw).
If you take a look at the carla-bridge-win32.exe file, it's a real binary that works on windows (but it would need a native-windows jackbridge dll).
I believe this will make things much more stable. I'm also relying on Qt4 to do the Windows API stuff, so I I don't have to worry about that mess.

My target is to make this as "stable" as a real Windows app under Wine (ie, Reaper or FL Studio). Those can load most VSTs just fine, I want the same!
This is something that will be done with time. There are a lot of tricks needed to make some plugins work, so I'll have to learn them.

For now any plugin that doesn't like multi-thread will crash randomly (which are most of them).
I'll try to find a solution, but this is not exactly a priority...

ocean
Established Member
Posts: 37
Joined: Sat Sep 15, 2012 3:59 pm

Re: Loading Windows VSTs within Carla

Postby ocean » Thu Sep 20, 2012 9:42 pm

Brilliant!

StephDAVOS
Established Member
Posts: 33
Joined: Wed Oct 24, 2012 8:20 am
Contact:

Re: Loading Windows VSTs within Carla

Postby StephDAVOS » Wed Oct 24, 2012 8:30 am

This is great news but sorry, it doesn't work for me. I suspect this has to do with the OSC UI Timeout value. I maxed it out to 10 seconds but it wouldn't be enough. On slower PCs like mine, one'd need to give it about 30 seconds. Correct me if I'm wrong. I hope it helps.

User avatar
danboid
Established Member
Posts: 1301
Joined: Sun Aug 26, 2012 11:28 am
Location: England

Re: Loading Windows VSTs within Carla

Postby danboid » Wed Oct 24, 2012 10:25 am

Exponential OMGz indeed! :)

I don't really read the KXstudio forum coz I don't run the F distro (not the F word!) so I've only just read about Carlas unique approach to running WinVSTs and it does sound very cool indeed - I'm going to have to try this soon.

I'm glad to see Synth1 is one of your main test plugins as it is one of the most famous and popular (free) VSTi's (ever((!)))

Excellent work F!
Are you new to Linux Audio? This manual explains how to install KXStudio, set up and use JACK, mimimize latency, lists the best Linux AV apps and much more all in a concise and easy to understand format.

http://wiki.linuxaudio.org/wiki/kxstudio_manual

User avatar
falkTX
Established Member
Posts: 6646
Joined: Sat Jan 09, 2010 3:04 pm

Re: Loading Windows VSTs within Carla

Postby falkTX » Wed Oct 24, 2012 4:09 pm

danboid wrote:Exponential OMGz indeed! :)

I don't really read the KXstudio forum coz I don't run the F distro (not the F word!) so I've only just read about Carlas unique approach to running WinVSTs and it does sound very cool indeed - I'm going to have to try this soon.

I'm glad to see Synth1 is one of your main test plugins as it is one of the most famous and popular (free) VSTi's (ever((!)))

Excellent work F!

Although my approach sounds good in theory, some plugins still randomly crash when you do serious stuff with them (play multiple notes, change presets quickly, etc).
Some of them work fine in dssi-vst, so I'm probably missing something.... :?
The fact that those can't be used in ladish projects at the moment is pretty sad though, I'm very patiently waiting for nedko to bring multi-client app support! (he said before the end of the year...)

btw, there's an update to 'carla-bridge-win32' in the repos, which fixes a few things. But still the random plugins random crashes still happen, arrrrrg :evil:

Joermungand
Established Member
Posts: 257
Joined: Wed Oct 24, 2012 5:19 pm

Re: Loading Windows VSTs within Carla

Postby Joermungand » Wed Oct 24, 2012 5:33 pm

Hi guys, this is my first post here.

The fact that the VST's that Carla loads cannot be used in ladish sessions is not entirely accurate. I am actually using one in a project. All it takes is loading it with carla-bridge-win32 directly (Application>Run custom… menu option). OK, it does not show up on the canvas, but its ports will be available to applications that can access Jack-session ports. Ardour does, for one. The one thing you can't do, however, is load presets automatically; it has to be done manually from the plugin interface. In my case, it works like a charm – better than it ever did with dssi-vst or Festige. Hope this helps.

User avatar
falkTX
Established Member
Posts: 6646
Joined: Sat Jan 09, 2010 3:04 pm

Re: Loading Windows VSTs within Carla

Postby falkTX » Wed Oct 24, 2012 5:51 pm

Joermungand wrote:Hi guys, this is my first post here.

The fact that the VST's that Carla loads cannot be used in ladish sessions is not entirely accurate. I am actually using one in a project. All it takes is loading it with carla-bridge-win32 directly (Application>Run custom… menu option). OK, it does not show up on the canvas, but its ports will be available to applications that can access Jack-session ports. Ardour does, for one. The one thing you can't do, however, is load presets automatically; it has to be done manually from the plugin interface. In my case, it works like a charm – better than it ever did with dssi-vst or Festige. Hope this helps.

I know about that, and I could probably make the single-instance only appear with little effort, but the main problem is - how will it save (and then load) session files?
I guess saving can be done via ladish SIGUSR1 signal, but we would still have to pass an extra argument to the app to set where the project file should be placed (which in fact, I like the idea...). If I can do this, then I can also add the available plugins to Claudia-Launcher and allow to use any of them directly (like it is done in Klaudia for ghostess). hmmm....
(the plugin's GUI would probably need some widgets to control the current preset, midi-automation, etc...)

I'll see what can be done after I give Claudia some needed fixing.

Joermungand
Established Member
Posts: 257
Joined: Wed Oct 24, 2012 5:19 pm

Re: Loading Windows VSTs within Carla

Postby Joermungand » Wed Oct 24, 2012 6:20 pm

falkTX wrote:I know about that, and I could probably make the single-instance only appear with little effort, but the main problem is - how will it save (and then load) session files?
I guess saving can be done via ladish SIGUSR1 signal, but we would still have to pass an extra argument to the app to set where the project file should be placed (which in fact, I like the idea...). If I can do this, then I can also add the available plugins to Claudia-Launcher and allow to use any of them directly (like it is done in Klaudia for ghostess). hmmm....
(the plugin's GUI would probably need some widgets to control the current preset, midi-automation, etc...)

I'll see what can be done after I give Claudia some needed fixing.


Sorry, I didn't mean to rush anything. I was just so glad it worked – and so well, no xrun on loading, no xrun on running, and it's quite a greedy plugin, too. Thanks a bunch!

I guess I might be fortunate, but the plugin in qustion (Superior drummer 2, a commercial one) does have all that – preset management, midi automation, midi-learning, what not. It behaved well under Cadence (no ladish), including activation code.

I'll take a look at the code. I'm no master programmer, but I can get creative if need be.

And, once again, no pressure intended. I just wanted to say it worked. All in all – KXStudio & tools – it's a tremendous piece of work you've offered – and I just hope I will one day be able to give something in return…

User avatar
falkTX
Established Member
Posts: 6646
Joined: Sat Jan 09, 2010 3:04 pm

Re: Loading Windows VSTs within Carla

Postby falkTX » Wed Oct 24, 2012 6:38 pm

Thanks for the nice words.

Loading Windows plugins is not a priority to me, but it's always a nice&good addition to have. If I manage to make the bridges run properly as standalone apps (need complete save&restore), it would be a great thing (ie, no need to load Carla if you just want a simple reverb FX).
Things will be done as time allows it. I have my own TODO list on a notepad next to me so I don't forget the priorities :D

Still, I have to remind this - Windows plugins will never (or not so soon) be supported.
If one works, cool; if not, bad luck. The ones I mentioned in the first post are the exceptions.

StephDAVOS
Established Member
Posts: 33
Joined: Wed Oct 24, 2012 8:20 am
Contact:

Re: Loading Windows VSTs within Carla

Postby StephDAVOS » Thu Oct 25, 2012 7:52 am

I just tried the new version and I have to say, I didn't notice much of an improvement. It's good to read you're working on carla because I like this app more and more.

Beside, I found a warkaround for the problems I have with loading VSTs : First, I use cadence-session-start -s a lot. Catia then behaves in a way I can predict. Then, I add DSSI version of the VST plugin I want to add. Then, I can finally load the VST version of it within the 10 seconds timeout. It seems like some caching happens that makes loading plugins fast enough in this scenario. Just though you should know.

Finally, some plugins that load fine in fsthost and even FesTige just won't load in Catia. I'm telling about the most popular guitar overdrive pedal simulation from the Windows world : TSE 808. I know you don't provide support for Windows plugins but again, I thought you should know.

Thanks again for the great work. Keep it on !

StephDAVOS
Established Member
Posts: 33
Joined: Wed Oct 24, 2012 8:20 am
Contact:

Re: Loading Windows VSTs within Carla

Postby StephDAVOS » Thu Oct 25, 2012 10:15 am

I spent more time on this and here's what I found :

Plugins don't always open on fsthost. It generally takes 3 attempts. They always open in FesTige though it can take forever. I suspect it tries 'till it works'. Carla seems to give up 'before it works'.

Right now, I can't use Carla unless I have all my plugins open in FesTige first. Maybe Carla should learn patience from FesTige. What do you think ?

StephDAVOS
Established Member
Posts: 33
Joined: Wed Oct 24, 2012 8:20 am
Contact:

Re: Loading Windows VSTs within Carla

Postby StephDAVOS » Thu Oct 25, 2012 1:51 pm

Alright, I somehow came up with a "solution" I can live with till it's all fixed. This is some sort of initscript that preloads plugins so Carla can open them too and kills them aferwards.

Sketchy thing but this lets me explore Carla a but further and I am now surprised how it can actually save states for plugins FesTige couldn't (fsthost could) but fails on others which were never a problem for FesTige.

Even worst, after state is modified on that plugin instance (and project saved), then this plugin won't load properly in Carla project anymore (little blue light keeps off and GUI won't display no more). This is weird.

Funny thing (for me), after I remove the chunk section in project xml file, it all returns to normal. Actually, I even get to set my desired plugin parameters in this file. Wow, that's more that I expected ! :)

Well I'm pretty please I can now use Carla for my own needs. I don't know if this is likely to help anybody else but I hope it all get fixed soon. Good news, imho, is it shouldn't be too hard to fix.

Let me know if I can help. I can't code C anymore but I can test stuff. Thanks !
Last edited by StephDAVOS on Fri Oct 26, 2012 10:43 pm, edited 2 times in total.

User avatar
falkTX
Established Member
Posts: 6646
Joined: Sat Jan 09, 2010 3:04 pm

Re: Loading Windows VSTs within Carla

Postby falkTX » Thu Oct 25, 2012 4:30 pm

easy there, this is an experimental feature.... relying on it is bad business... :lol:
the "pre-load" can be easily done by running 'wineboot' before the plugin.

session save and load on plugin-bridges is the most experimental thing ever.
Since we can't send the whole chunk to the plugin and back (some chunks are *really* big), Carla saves it a temp file and sends the filepath instead. But Wine runs Windows apps, which deal with temp access in a totally different way than linux.
Basically, it's a work-in-progress. What we have now is the sneak preview.


Return to “KXStudio Discussion”

Who is online

Users browsing this forum: No registered users and 2 guests