Welcome to %s forums

BrainModular Users Forum

Login Register

Export workspace as a VST (or any other plugin format, such as CLAP)

Tell us what you'd like Usine to do
Post Reply
creal
Member
Posts: 93

Export workspace as a VST (or any other plugin format, such as CLAP)

Post by creal » 06 Dec 2022, 11:54

Hello

It would be very nice to be able to export a workspace as a plugin.

I found an article, dated on 2011, that says Usine 5.71 was able to do this: https://rekkerd.org/sensomusic-updates-usine-to-v5-70/

I don't know what happened to that feature that is apparently no longer present today. I guess it's difficult since Usine uses audio as well as video, light or network flows. Since Cycling 74 just released RNBO, which gives the possibility to export Max/MSP-like patches as plugins (and more: https://cycling74.com/products/rnbo), I thought that something similar might be possible within Usine.

creal.

SylvainT
Site Admin
Posts: 441

Post by SylvainT » 07 Dec 2022, 06:37

Hello,

Yes, this is a discussion that comes back often.
Usine is so big today, you can't imagine. You can create a standalone application very easily (Expert Version). But a plugins is another thing. Could probably be done for small patches. But where is the limit ?
It is on the table. Let's see but don't be too eager. The priority todolist is huge.

Sylvain

gurulogic
Member
Posts: 1016

Post by gurulogic » 07 Dec 2022, 06:59

I long for the day when Usine once again has the ability to load as VST in a host software. Even as a single patch / rack, with some Senso genius integration tweaks added of course ;) . Plugin developement has come so far in recent years, it seems like much should be possible now.
I would also support the development of a separately purchased product if that is what it would take. So much opportunity is
missed not being able to integrate Usine directly into other hosts.
The VST does not need video and DMX etc. Just audio and MIDI, VST and a buildable interface. The stuff it always had.
I think the customer base, community, public exposure for Sensomusic would improve also if this were made possible again.
Fingers crossed, and to the future!

creal
Member
Posts: 93

Post by creal » 07 Dec 2022, 09:40

SylvainT wrote:
07 Dec 2022, 06:37
Hello,

Yes, this is a discussion that comes back often.
Usine is so big today, you can't imagine. You can create a standalone application very easily (Expert Version). But a plugins is another thing. Could probably be done for small patches. But where is the limit ?
It is on the table. Let's see but don't be too eager. The priority todolist is huge.

Sylvain
Yes, I understand that it's a huge development step. No hurry on my side :)

sm_jamieson
Member
Posts: 521

Post by sm_jamieson » 07 Dec 2022, 21:07

I think a VST bridge should be possible.
Minimal, just the audio channels and midi in / out from the VST host, via the VST bridge to a running standalone Usine.
Perhaps that can be set up without a Usine development, just using generic audio and midi routing plugins ?
Just need some type of drivers to make the Usine instance look like an ASIO device etc. in the host.

Simon.

gurulogic
Member
Posts: 1016

Post by gurulogic » 14 Dec 2022, 21:42

The bridge vst concept does seem like a possible solution.
In a well streamlined solution, having the main body of Usine running in a separate process should make the
experience fairly seamless, with the exception of having to manage project files for two separate applications at once,
which for various reasons can be a real "pita", especially as time away from, system changes and familiarity the project passes. (for those of us with non photographic memory)

My (non programmer) vision for how this could work in an idealistic scenario would be:

-A solution much like the once upon a time Usine5 VST in which a plugin could be inserted into any DAW track to tap into an Usine i/o channel (and play nice with host delay compensation).
Alternatively, a single VST bridge insert with lots of channels etc, but this seems less versatile.

-The "master" plugin would be responsible for launching and closing Usine automatically with load or close of plugin or host.

-Opening the VST UI would bring the Usine application to the forefront.

-When running in "VST as master" mode, a user specifiable sub directory would be created where the working copy of the current workspace would be saved.

-Saving , or save as new in the host would also send a signal to Usine to save the workspace, or to save a new copy. Perhaps a prompt would be required to also save the Usine workspace when saving in the host?

-When loading the saved host project, the Usine plugin would also automatically load the workspace associated with the saved host project. If the workspace were not in the original directory, then a prompt to locate.

-Seamless sample accurate transport and song position sync.

-A decent number parameters for automation and and customizable params names visible to host (Or ideally inherit params names from within Usine)

-A module for direct access to midi ports (or at least virtual midi ports) from within Usine for ease of inter-application midi routing. There are VST's that already do this adequately, but an integrated solution would be more elegant.

Sounds easy, right? :D

oli_lab
Member
Posts: 1020
Location: Brittany, France
Contact:

Post by oli_lab » 15 Dec 2022, 20:42

Reastream is the answer ! for midi and audio.
reastream.png
works back and forth between your DAW and Usine, thru LAN (on 2 different computers) or internal (127.0.0.1)

up to 32 tracks.

ReaStream

Supports streaming from host to host of audio and/or MIDI over a LAN segment
Supports streaming from different host software on each end
Supports UDP broadcast for streaming one to many (if local network can keep up)

https://www.reaper.fm/reaplugs/

I was thinking of making a VST plugin to send OSC messages, from the DAW to Usine with 32bit resolution (better than midi)

something like few sliders, switches, XY pad, more than one plug could be used simultaneously and send different OSC messages (for exemple, /vstosc/1/slider/1 and /vstosc/2/slider/1)

it's a lot of work, it will cost probably few euros.

cheers

Olivar
You do not have the required permissions to view the files attached to this post.
http://oli-lab.org

Win10 I7/16GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces

follow OLI_LAB adventures on Facebook
http://www.facebook.com/pages/OLI_LAB/3 ... 506?v=wall

gurulogic
Member
Posts: 1016

Post by gurulogic » 16 Dec 2022, 09:27

The OSC plugin sounds like an interesting idea. I guess it would be uni-directional only.. ? Unless perhaps the DAW could re-map received parameters. Direct OSC communication between Usine and Live should already be possible, perhaps with something like LiveGrabber https://www.showsync.com/tools.

For a third party audio streaming solution, I would think that the Dante VIA + Virtual Soundcard would be the best bet for low latency and sample accuracy? I should try the demo again, it has been quite some time since I last mucked around with VIA.
Throw LoopMIDI in there as well as the OSC, (and some way to have really tight time code sync?), figure out how to compensate for round trip latencies and we could have a well hacked together, if not somewhat complicated marriage of linear DAW and Usine.

oli_lab
Member
Posts: 1020
Location: Brittany, France
Contact:

Post by oli_lab » 16 Dec 2022, 15:01

Quick answer :
Osc will be bidirectional.
Going from Daw thru automation paramètres to osc.

And the other way around :
From osc to automation parameters
http://oli-lab.org

Win10 I7/16GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces

follow OLI_LAB adventures on Facebook
http://www.facebook.com/pages/OLI_LAB/3 ... 506?v=wall

23fx23
Member
Posts: 2533

Post by 23fx23 » 12 Jan 2024, 23:57

I still would want usine as vst so badly..

so decided trying to make some kind of vst bridge myself lol quite a challenge..
basically a vst loaded in usine, and in the other daw. send/receive audio +midi

this is very early proof of concept, that need tons of work,
but ..working. here usine send audio and midi to live, synced via ableton link :)

https://drive.google.com/file/d/1nK2Ff0 ... sp=sharing

oli_lab
Member
Posts: 1020
Location: Brittany, France
Contact:

Post by oli_lab » 14 Jan 2024, 16:18

good one !

Now, can we have Reaper working INSIDE Usine ? ;-)
http://oli-lab.org

Win10 I7/16GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces

follow OLI_LAB adventures on Facebook
http://www.facebook.com/pages/OLI_LAB/3 ... 506?v=wall

23fx23
Member
Posts: 2533

Post by 23fx23 » 14 Jan 2024, 16:25

dk for reaper hehe, but we can have both Reason and FL as vstis,
those are pretty wild/big engines too :p
Bitwig and Live sync perfectly for me now via link, only missing few IO and remote, will fight for it lol
here tested vst can be sender or receiver , theorically in any vst compliant daw, but just tested 1 setero track and bunch of midi datas, need to make some deep investigations how far that could go..
i have the feelling/hope like 8 tracks, midi, few automations should be possible.. but will prob take a bit of time to tweak right.

looks like there are some guys that made Link stuff for reaper too, not very familiar with it myself but suppose that could provide good sync with usine too
https://forum.cockos.com/showthread.php?t=254027

23fx23
Member
Posts: 2533

Post by 23fx23 » 15 Jan 2024, 11:20

did a quick test with 8 channels (well more 4x setero channels) as a starter, and midi
still works very well sending to live , very happy :)

Image

edit: just tested 16x - 8 x stereo channels, and still works flawlessly, no glitchs with a 128 samples asio buffer in live, didn't expect that, so cool!
Usine4live , Usine4Bitwig, Usine4evry daw , an old dream start to be finally a thing! :v

SylvainT
Site Admin
Posts: 441

Post by SylvainT » 17 Jan 2024, 20:26

Looks promising
Congrats

23fx23
Member
Posts: 2533

Post by 23fx23 » 22 Jan 2024, 14:28

got first Bi-directional parameters test working
here in bitwig, (so bitwig can record/transmit automations to usine and other way around :) )

Image

oli_lab
Member
Posts: 1020
Location: Brittany, France
Contact:

Post by oli_lab » 22 Jan 2024, 18:48

This is very cool, Usine Nobel Prize in progress !
http://oli-lab.org

Win10 I7/16GB RAM - RME MADIFACE - SSL alpha link 4-16 - OSC capable interfaces

follow OLI_LAB adventures on Facebook
http://www.facebook.com/pages/OLI_LAB/3 ... 506?v=wall

gurulogic
Member
Posts: 1016

Post by gurulogic » 25 Jan 2024, 04:20

Oh this looks cool!
Maybe a way to automagically load Usine with workspace when VST saved state is loaded with external DAW???

23fx23
Member
Posts: 2533

Post by 23fx23 » 25 Jan 2024, 17:21

gurulogic wrote:
25 Jan 2024, 04:20
Oh this looks cool!
Maybe a way to automagically load Usine with workspace when VST saved state is loaded with external DAW???
Yeah, i thought about similar suff for workflow "sync"; i ll have to to thnk a bit about it a bit more and to some tesing,.
some stuff possible but also could quickly be tricky areas here...

For ex we can't really know where daw will save its project file from a vst, neither we ll get a file name or versionning infos..
so what happen when user press save on the daw, where should usine save the wksp ?, with what name for ex ?
technically we could maybe trig a delayed prompt, but not sure we can really block the daw to wait for prompt answer i think..as ideally the daw then would have to store that file path info in into
project datas to be able to send back to usine for reload later on on re-open .
So easiest way i had in mind would be user to save its wks first at least once, then usine would send the file path to other daw. (tho i disn't find a way in usine yet to get current wksp path stangly.)
but then other stuff to think about, ie prob risky if overwritting for ex, have to find a way to increment /keep track of matching versions. ect, a bit more tricky than it seems..

then another problem is on open, daw could have several bridges vsts, loaded at differenet times /or from different theads, so they could all trigger load usine commands
without an easy way to check if an instance did already triggered a load usine command, opening more than one instance. that could maybe be worked out with some delayed checks but tricky too.
for that they would also need to know where usine.exe is located in the first place (well that one could prob be send from usine first time or some config file / option on vst maybe..)
then would have to kind of wait, check in windows processes if an usine instance already exists, if not lauch a process.
so yeah not that easy, and i am not sure it is even possible if daw wasn't started with elevated rights for ex...

so..well lot of stuff to test, road will be long^^

Post Reply