Preload of 250 songs (existing in 2 parallel setlists, remote control via MIDI from external app)

Dear VST-Team,

I have recognized that the current pre-load functionality seams to be working only for 1 setlist.
Would it be possible to activate the pre-load function for multiple (in my case 2) setlists?

I already started to migrate round about 250 songs to VST Live.
Furthermor I want to control VST Live from external application via MIDI.
The number of “midi-managable” songs is limted by maximum 128 songs (per setlist) .
Therefor I need o work with 2 “fix” setlists (inculding up to 250 songs) and I need to jump between this 2 setlists / 250 songs extremly fast without long loading time (standard requirement from a cover-band). I am using 100% VST sounds therefor I need to be careful with loading times and system performance. We are playing all songs with sounds which should be very close to the original sounds, therefor in most cases it is not possible to share sounds between multiple songs because the sounds are normally song-specificly configured.

I am quite happy with the performance of VST live.
Now I hope that I can find a realistic way of work to load my 250 songs.

Thanks in advance for your feedback.



I was hoping a Bank system would be implemented for this purpose.

Bank Select MSB (CC0) followed by Bank Select LSB (CC32) followed by Program Change, where Bank LSB would select the Setlist.

Haven’t tried it, but what if you activate and preload each setlist beforehand?
Also we are considering an offset value for all Actions, so for instance if you set the offset to 128, a Song select action fed with MIDI data 11 should select Song 139, would that help?

1 Like

Thanks Musicullum, this would be an absolutely great approach and it would help to solve to prevent complexity:

A) it would be much more efficient to work with 1 Setliste (instead of 2 virtual / fix Setlists) to lace my 250 Songs because of 128 limitation).

B) And I could trigger all 250 songs from one setlistewhich would allo to use the existing preload function which works from my understanding only based on the current selected setlist)

It would be great if such offset parameter would be available for selection of a specific song (> 128).

Hi @SKO , I’m not using preload function at all when playing my songs in VSTLive (i7, 16GB laptop).
But I can emagine, people who are using “need to preload” plugins/instruments, preloading 250 songs can be memory/resource intensive for any hardware…

That is very true. And if the system runs out of memory, it will swap with your drive which may make it very slow even with SSDs.
Also in cases like this (and that probably applies to many of the Top 40 type of projects), it is a good idea to use Shared Instruments (but probably w/o sending program changes, those cannot be preloaded). In a similar case, we had 6 instances of Halion Sonic preloaded with 16 sound each, and using those 96 presets only, which is very resource-saving and allows for rapid Song/Part changes.

On a side line of the same topic, do you guys have plans to make possible save archive specific setlists only? Personally I would like to have all my repertoire/songs in one project on my studio’s desktop. It’s easier to manage I believe. But I’d like also to be able to export only songs I added to specific setlists so I could easily transfer these setlist/songs as an individual project to my laptop for gigs.

No such plans yet.

You may save your project, remove all setlists but the current one to have a specific project with only those Songs and save that in addition. You may derive several such projects, as you can always go back to the “all” project.

But you know that all of your Songs you ever created in the project are kept (middle “Songs” column of setlist editor) even if they are not used in any setlist, do you? Only if you delete it from there will a Song be entirely removed, and that is only possible when it is not used in any setlist anymore.

Having said that, it may be a good idea to remove Songs you will not need anymore, because they obviously need space in the project file and increase load and save times.

Next version.

And when saving it as a new project are all audio files , layers etc automatically copied to the new project too?

No. For that, you need to use “Save Archive”.

Yes, this one I understood already ( the hard way :sweat_smile:)

So, I derive a new project from a setlist , save it as a new project and when I save archive this new project all audio files will go with it?

Save Archive saves your current project with the currently active setlist as is, along with all its assets. But currently it does not copy assets of Songs that are not in the current setlist.
We might add that as an option, do you need that?

Yes that would be convenient… this is the reason I mentioned save archive function on a specific single setlist

“But currently it does not copy assets of Songs that are not in the current setlist.”
I’m re -reading what you wrote about the songs… maybe I understood this in the wrong way…
What I need is that only the songs that are in the derivated setlist ( and saved as a new project) are transferable to another laptop. :thinking: Does this make sense?

That is what happens currently. A new project file is generated anyway in the archive folder.
Songs (also those not in any setlists) are saved anyway, those belong to the project. But Save Archive only copies assets (audio/midi/video/dmx etc files) to the destination folder which are in the Playlist (what you see in the main view).
If you activate a Song from the setlists which is not in the current Playlist, it will try to find its assets. Should those still be somewhere else where it originated, it will find it. But if you save archive to another computer not having those files, it will fail to do so.
To recap: Save Archive and transport to another machine, then your current project (Playlist) will play fine, but other Songs may miss their files. They are still fully functional otherwise, all tracks, events etc are still there, but only files for the active Playlist are copied when using Save Archive.

Ok, thanks for the explanation… as I haven’t tried yet I was not sure how the audio files are linked to a current setlist. But VSTlive working as you explained, I can deal with transferring specific setlists to a laptop, originated from a complete and huge pool of songs . I just need to adapt my workflow. Thanks again

Dear Musicullum,

thanks for implementing the offset-value function within the last pre-release

I just tried to activate an offset-value as you described but from my point of view it seems that VST LIVE currently ignores this offset value which I entered at the “actions+ shortcut menu”:

PLAN (To Be): Midi Control-Change with value 11 (data1) + offset 127 = Song 139 selected at current setlist (127 + 1 + 11)
Test-Result: Midi Control-Change with value 11 (data1)) + offset 127 = Song 12 selected at current setlist (11+1)

Please can you please double check if it is working on you computer / current release?

From my understanding the idea is exellent, to find a solution to open the limit (e.g. for selecing a song via midi) which is currently limited by max. 128 given by the “good old” midi standard.

Regarding the current solution approach via "fix off-set value" I would like to ask you for more explanation. Would this solution approach be also allow to select a song below the offset value? My understanding was that this “offset-value” is a fix value. But I would need the full flexibility to select all songs below and above the “offset value”. Maybe I did not comletly understood your solution idea.

An alternative solution proposal which I had in my mind was a "dynamic offset value " which would be also filled by midi as well as the classical value (0 - 127). That means we are sending via midi 2 values (1 value for offset-value and 1 für song selection). In this case VST live would be able to dynamicall select a song with the full range between song 1 (offset-value 0 + song value 0) or 255 (offset value 127 + song value 127 [+1]). Sorry, I am not not an midi expert, therefor I cannot make a more precise solution proposal.

I hope that my understanding is corect and that my explanations are not to complex.

Thanks in advance for your feedback + kind regards


I don’t understand the Offset idea, as it seems impossible to call a song below the Offset value…

MIDI values only use 7 bit of a byte, that’s why the higher number is only 127 and not 255. A Pitch Bend is different as it uses 14 bits spread over 2 bytes, pushing the limit to 16384.

To extend the number of 127 programs available, MIDI has the CC0 and CC32 that are Bank select MSB and LSB. You can see Bank MSB as banks and Bank LSB as sub-banks.

With sub-banks containing 127 programs and banks owning 127 sub-banks, it becomes really hard to reach the limit (more than 2 millions)

From the beginning, my suggestion is to use Bank Select messages to exceed the limit of 127, but another approach could be to use a secondary MIDI message as a multiplier for the primary action.
Or maybe allow the Pitch Bend value (data value = byte 1 x byte 2).