Feature Request: Workstation-style "PERFORMANCE" management and critical MIDI Feedback fix

Hi @musicullum,

I have been using VST Live for a long time with a master keyboard and TouchOSC. While the software is powerful, I believe it needs a more “Hardware Workstation” (e.g., Yamaha MODX/Montage) approach to be truly reliable for live pro keyboardists.

I would like to propose the following improvements:

1. Dedicated “PERFORMANCE” Mode We need a way to save and recall a “PERFORMANCE” that acts as a total snapshot for all layers. It should strictly recall: Volume, Pan, Zones, Transpose, and Octave. Current issue: If I tweak volumes via TouchOSC during a song and then reload the same Part/Song a few minutes later, the volumes often remain where I left them instead of resetting to the saved state. A “Performance” should force every parameter back to its original saved value every time it’s loaded.

2. MIDI Feedback Consistency Bug (Keyboard vs. Mouse) As previously discussed, there is a major inconsistency in MIDI Feedback:

  • Mouse Click: Switching Parts via mouse click sends MIDI feedback to TouchOSC correctly (Bi-directional works).

  • Keyboard/MIDI Action: Switching Parts via arrow keys or MIDI shortcuts updates the VST Live UI, but NO MIDI data is sent to TouchOSC. In a live concert, I cannot use a mouse. The external controller must be synced regardless of the trigger method.

3. “Relative” / Soft Takeover Mode (like Cubase) It is vital to have a “Pick-up” or “Relative” mode for the mixer faders. If a fader in VST Live is at 0dB and my external controller is at -20dB, the volume shouldn’t “jump” instantly when I touch it. It should only engage when the controller reaches the software’s current value. This ensures smooth, professional transitions during a show.

If these features were implemented, VST Live would be the ultimate tool for live performers.

Thanks for your hard work,

2 Likes

I’m absolutely with you with point 1. In most of my songs I have a manuell fade-out at the end of a song. When starting the song again, I have to reassign the channel to its previous level. Not a big thing, when I repeat it immediately, but annoying if repeated later (e.g. as encore).

Point 3 is a very good idea :slight_smile:

1 Like

That’s how it’s supposed to work in the first place. What are you missing?

Cannot reproduce that, but also see the following:

That’s a bug which will be fixed with the next version, sorry. Maybe related to the first item?

There are multiple issues with that:

a) when VST Live boots up (or you load a project), it cannot know the current state of the external remote. So when remote changes, it would not do anything until the external value crosses the internal, but that may not be what you (or other users) want.

b) A Song in VST Live is like an entire Cubase (or other “traditional” DAW) project. When switching Songs, an entirely new state becomes activated; and VST Live values (such as volume, pan etc) are strictly bound to Songs (or Parts), see your first item.

c) Actions and Shortcuts values can be anything, applying a rule like that to certain switches could cause quite some confusion.

There could be a (complicated) solution in that you assign a “takeover” mode per Actions and Shortcuts item. But when does this initiate the proposed action? Once a value crosses over, what happens when you switch to another Song, or Part, or locate to a position with automation which changes those values etc etc. Some are global, some are local…A lot to consider, which means a lot of potential misunderstandings or unexpected behaviour, or even bugs.

So yes, it is possible, but it would a) have to be modal (a tick for each item) and b) there would have to be a very clear, strict, and simple set of rules defining when that “ignore external changes until it crosses the current value” is to be engaged, and then we pass all complaints along to you where it doesn’t do what other users expect from that :slight_smile:

Finally, what about mouse actions? The items on screen represent the internal value at any time, and we will not want to change that. If you move a fader handle with the mouse, it should then do nothing, like a digital mixer with no motor faders? Those have an indicator for the internal value, applying that to VST Live given more pressing issues and potentially confusing other users is a tough call. So we’ll put it on the wanted features list, but it is a valid request and once rules are defined and/or other ideas to keep it simple chime in, we’ll pick up on it.

1 Like

Wait, @musicullum Francesco in the 1st point is asking that changes of parameters made from the external controller are not stored and not recalled in the saved part.

Example: part A - channel 1 at 0dB, then I command -20 dB from external controller and the VST mixer follows and set channel 1 at -20 dB.

Then I go to part B where channel1 is saved at -5dB (you see external fader goes to -5) and go back to part A.

Obviously now in part A you will find channel 1 at -20 dB. HE IS EXPECTING TO FIND IT BACK TO 0dB.

While this can make sense as workstation performance “saved initial state” for my use case (and 99% of users) this would be plainly wrong.

I’m using external mixer as a mirror of VSTLive mixer (for iem to musicians) and want that any change my musicians make to their iem mix is retained and saved in the project so that they always restart with last mixed iem mix. Now after last updates I can perfectly do this.

The request made by Francesco should be handled as a completely different function, like a “temporary live edit” that applies only live changes and not real internal mixer changes. That can be for example a module that you load in a part as a post faders secondary mixer, that restores to zero every time you reload the part, so you apply changes to this module live via external controller and not to the internal mixer itself.

Point number 2 is the bug I found and replicated in his toucOSC thread, but solving this bug will put him in the same situation that modifying values will be retained in each part (not initial state).

Cheers, Ciro.

1 Like

Video Proof: MIDI Feedback bug and Proposal for a “Performance Snapshot” Mode

Hi @musicullum,

To make my request clearer, I have recorded a video showing a bug in the MIDI Feedback and a suggestion for a better workflow for live keyboardists.

1. The Bug (shown in the video):

  • Mouse Switching (OK): When I click on a Part with the mouse, VST Live correctly recalls the saved volume on the screen and sends the MIDI feedback to TouchOSC.

  • MIDI/Keyboard Switching (BUG): When I switch Parts using the keyboard arrows or a MIDI Action, VST Live updates the fader on the PC screen, but it DOES NOT send the MIDI feedback to TouchOSC. The tablet remains frozen.

2. Feature Request: “Snapshot Mode” for Parts (like Cubase) I believe VST Live should offer a choice between two behaviors for Part switching:

  • “Mixer Mode” (current): Changes made live are retained when switching back and forth.

  • “Performance/Snapshot Mode” (Request): Each Part should act like a Cubase Mixer Snapshot. When I load a Part, it should always reset to its “Saved State” (Volume, Pan, etc.) and immediately update the external controller (MIDI Feedback).

This “Snapshot” behavior is essential for those of us coming from hardware workstations (like MODX/Montage), where we need a predictable starting point every time we select a sound.

My Request: Please fix the MIDI Feedback for all trigger types (MIDI/Keys) and consider adding a toggle to “Force Snapshot Recall on Part Change” to ensure the external controller always mirrors the saved state of the Part.

Thank you for your support!

Thanks for clarifying, ciro!

As said before, there is a strict set of rules governing values. Values can be changed with the mouse, shortcuts, or external control. These reflect changes visually, and by sending MIDI. Once a value is set, it will stay that way and we don’t want to introduce more modal behaviour to relax this convenient functionality.

A temporal mode as requested would require to make many, and most importantly very basic changes which we really want to avoid. There are multiple independent modules which would have to be touched, changed, interconnected and causing complex dependencies. It looks simple from the users’ point of view, but its not.

Also we try to follow a “what you see is what you get” approach, so the faders of the remote reflect the values on screen. Like:

That is exactly what it does (or at least should do). You may have forgotten to enable “Edit/Preferences/MIDI/Update Remote Mixer Actions”?

What you ask for is to ignore remote changes and make them temporary. That is not how values work in VST Live, when you change something, it is saved - and recalled when the Part, Song etc is activated. You can save and load a Part and other objects such as Layers, Stacks etc at any time (drag/drop to Media Bay, load/save/copy/paste/duplicate…).

We’ll check along the way what can be done, like an automatic save of a Part when de-selecting, and loading that saved Part when it gets selected again. But this would save/restore absolutely everything; restricting this to certain values (those which are connected to actions driven by external MIDI) is really complicated and “dangerous”.

1 Like

Also maybe “Part/Restore Part Mixer” may help?

I believe the correct way to do what Francesco has in mind is in fact have restore part mixer selected, do as many part as different volume settings he need and use this way.

More, instead of having multiple instances of vsti for each part, I would use global layers with multi timbral vsti, enable multi audio outputs to have single voices each their audio output, so he can control each voice per part from a single global layer. If you need same patches but with different volumes, just build as many parts as you need, with a single vsti instance low cpu load, much flexibility with restore part mixer.

You are posting this in multiple threads it seems? Note that we need to ignore posts made in multiple threads, as that causes a lot of unneccesary workload.


I’m sorry, I didn’t mean to, the important thing is that it gets resolved, thanks for the hard work