Notifications
Clear all

Expose Patch lists (banks) to the host

5 Posts
2 Users
1 Likes
2,222 Views
(@woodslanding)
Eminent Member
Joined: 4 years ago
Posts: 13
Topic starter  

Okay, this program looks and sounds awesome, and is probably worth the $59 whether this is implemented or not, but I do still have a week or two to decide. 😉

I perform live using a touchscreen, and I like to be able to call up and mix sounds on the fly.  So I have a setup written in Usine (which I'm in the process of porting to a LUA gui in reaper) that allows me to select patches, assign midi keyboard sources and route 15 different instruments and effects, all from nice big touchscreen buttons and faders.  For this reason I vastly prefer the kinds of VSTs that can expose preset lists to the host, such as Reaktor, Synth1, Massive, etc.  Then I can just parse this list, and use it to populate my buttons.  Otherwise, I have to save every preset as a 'host' preset in reaper or usine, which really slows down the process of adding new presets to my live setup....

I'd imagine some kind of 'bank' functionality, where you could take the results of a patch search, or multi-select patches from the search window and 'add to bank' or 'create bank'.  Then you could select a bank to expose to the host, which ideally could be different for each instance of Unity.

I realize my use case is unusual, and industry-wide there is increasingly limited support for this basic VST feature, but most hosts still can show the preset list exposed this way, and I feel like it can be convenient to use the host preset functionality at times.... so maybe worth implementing.

 

Thanks for your consideration!

-eric


   
Quote
(@getdunne)
Illustrious Member Admin
Joined: 4 years ago
Posts: 4367
 

Exposing the list of patches is something from the old VST2 standard. As you say, it's rarely supported now that plug-ins tend to have hundreds or thousands of patches.

We are planning to add something like what you ask, i.e., the ability to define an ordered list (bank) of up to 127 Unify patches, which Unify will switch to automatically upon receipt of a MIDI program-change message.

Re assigning MIDI keyboard soarces and routing, please give examples.

I'm pretty sure there are other ways to do all the things you need to do, which are more consistent with Unify's design and where we're going with it.

 


   
mj_prod reacted
ReplyQuote
(@woodslanding)
Eminent Member
Joined: 4 years ago
Posts: 13
Topic starter  

To be clear: I don't expect Unify to replace my host.  Just looking for better integration, and the most helpful would be with preset selection....  For more information on how my host actually works, I have a youTube video walkthrough here.  It might give you a few ideas, although I suspect the market for folks who like to do sound design while actually playing is fairly small... 😉

https://youtu.be/PCtKZgpXY00

If you are planning on supporting midi patch and bank select, it seems like it could go hand in hand with the VST preset name lists.

Most VST2 synths (is it true VST3 does not support this??  I would have hoped they'd improve on it!) just expose a single bank of 128 names, but Synth1 is a good test case, as it has full support for 128 banks of 128 patches.  That's a pretty gracious upper limit for number of patches to support.  Synth1 exposes all 16K of these names to the host(!), which is a pretty unweildly list to, for instance, scroll through.  But if you are writing a script in reaper to parse that list in some meaningful way, it could be usable.

That said, I would recommend exposing only 128 patches at a time.  That's what Reaktor does.  As you change ensembles or patch banks in Reaktor, you get a new set of 128.  I think this used to crash Cubase, back around 2007, but these days NI has enough clout that everyone has adjusted.  Reaktor is an important example in that not only can it change the preset list on the fly, but also it changes the parameter list.  I'm grateful to NI for doing this, as it has forced hosts to graciously adapt to these changes, and it's been quite a few years since a host has given me any problems.

If I were designing this, I would allow the user to create up to 128 banks, which could be selected by MIDI bank select, and would result not only in MIDI patch change messages selecting those 128 patches, but also in exposing those 128 names to the host.   I don't see that it could hurt, and (not knowing what you are developing in) i think it's pretty easy to do in Juce, at least.

Of course, I can see this might be well down the line.  And perhaps if VST3 is not even supporting this, it's just a pipe dream  (one I am very sad to wake up from.)

Either way, I've been looking for a simple plugin chainer to use, so that I can collect presets from a bunch of niche instruments that don't warrant their own channel in my mixer, and for about $10 more than a basic chainer, I can get Unify.  Reckon that's a no-brainer, even if I do have to save every preset twice.

Cheers!

-eric

 

 


   
ReplyQuote
(@getdunne)
Illustrious Member Admin
Joined: 4 years ago
Posts: 4367
 

Thanks for the video. I'll study it and follow up.

 


   
ReplyQuote
(@woodslanding)
Eminent Member
Joined: 4 years ago
Posts: 13
Topic starter  

Been fooling around with the program and first of all the factory patches are quite delightful.  One of my specialties used to be doing the 'groove' patches for the QS series add-on cards for Alesis, and the concept has come quite a ways since I stacked (as close as possible to) phase-locked LFOs to create basslines and drum parts 😉 

Also some of these freeware synths sound really great!

I think Unify is going to be my solution for situations where I have to have a particular preset split for a particular song.  I may need 2 instances, one for each keyboard... it's not well suited to work with a touchscreen, obviously, but for stuff I can work out in advance with a mouse and keyboard, it's going to be great. 

It would still be great to be able to select patches from the host though.... so my request still stands 😉

cheers!

-e


   
ReplyQuote
Share: