Jump to content
Starship Krupa

Undo for mixing moves, please

Recommended Posts

I'm sure this is an endlessly requested feature: can we please have Undo apply to mixer knob movements? This is so essential.

I know I'm not the only one who slips with their mouse, or accidentally clicks on the wrong channel strip and screws something up in a hard-won mix before they notice that they tweaked the Reverb Send for the Left Overhead instead of the Snare or whatever.

And yes, I know how to safeguard against this with mix recall and automatic backups and whatever. I really shouldn't have to. These moves are critical and there is no reason for them to not be Undoable.

  • Like 7

Share this post


Link to post
Share on other sites

This, this, and more this. it happens all the time. At least there is a a right click - "revert to X dB", which helps. But it only does the last value too. It's be nice if each change could be undone. 

  • Like 1

Share this post


Link to post
Share on other sites

I strongly agree! It is very hard to track unintentional parameter changes due to this.

It's not logical that you can undo if you changed track volume via automation, but you can't undo if you just change the Volume parameter of a track (Track View / Console view does not matter). Noel said "it would be confusing", I don't agree... so maybe this could be optional?

Examples from other software, like Ableton Live and Premiere Pro, is that you can undo Volume changes for tracks (without automation).

Share this post


Link to post
Share on other sites

Thanks for "moving" this - we were getting OT on the early release thread.

To expand on my position I mentioned in the other thread, I think the current slider=envelope-except-when-it-doesn't model is fundamentally a problem, both for supporting undo "intelligently" and some other issues that can cause problems (I'll mention one of these later as it's a personal bugbear of mine (2)).

I'm going to focus on the volume widget/slider, as it saves me having to retype "or other slider" every time, but assume what I write applies to all (caution: pan has its own complications when you factor in offset mode too - I'll mention that at the end too (1)).

The single slider has multiple different functions: with no envelope, it sets an "absolute" level for the track; with an envelope, but unarmed, it reflects the current level of the envelope at the Now time; with it armed, its a control that changes the current level of the envelope as playback proceeds.  Oh, and there's offset mode which, er, sets the "absolute" level of the track (I know it's technically an offset to the envelope, but with no envelope, it has the same effect as the slider in non-offset mode)!

If the track is playing back and has an envelope and the slider is not armed, the slider has no effect on the sound - it effectively always tracks the envelope value.  But...it sets the "absolute" level as well, right?  So which is it doing at any one time?  And what should I undo under these 3 different conditions?  I don't know.

To my mind, the non-offset slider should do one and only one thing - be used for automation.  I have an envelope, which reflects the position of the envelope (by definition!), so having a slider follow this is redundant and leads to function confusion.  Use offset mode to set the "absolute" level and be done with it, and the slider, when automation is enabled, allows automation recording.  In fact, with this, you don't need an offset/non-offset mode: when armed for automation, the slider is a control, when not armed, it is the static level that is now reflected in offset mode.

If you want to see a slider (maybe in console view only?) move in real-time with the envelope, then it's a seperate widget, not one that already has another function.

I think if you seperate the functions out, undoing then becomes cleaner: a slider move when unarmed is, by definition, a simple change to the static value, so undo makes sense; when armed, it's a control, so there is nothing to undo except the whole recording *once* automation recording has taken place (much like an undo removes an audio recording if you hit undo after stopping recording) - again, unambiguous and simple.  The concept of undoing a slider when it is a control has no meaning and so does not need to be supported, and doesn't conflict with the envelope (see (2) below too).

Expansions

1 - Pan and offset mode.  With volume, it's easy to see that an envelope of -3dB and an offset of +1.5dB has a net effect of -1.5dB.  But what does a pan envelope of 35%L and offset of 63%R actually *mean* in practice.  Hint: it's not 28%R,  I have absolutely no idea.  And as for 100%L and 100%L, I can't get any more L than 100%!

2 - The other gotcha with envelopes=slider.  Suppose I've created a volume envelope with lots of automation points and lines.  I then delete the envelope.  Depending on where my cursor is at the time I delete, I get a different result.  The slider value is set to the value at the Now time.  No - I've deleted the envelope, so presumably I don't want it, so the widget should be reset to 0, or at least a well-defined value.  Having it set to essentially an arbitrary value is horrendous.

FWIW, there is a cakewalk.ini flag to support undoing all changes made within a plugin's GUI (but, again, not made via envelopes).

Share this post


Link to post
Share on other sites

What I want ain't rocket science: I want any action that would set the "dirty" bit (that is, put an asterisk after the file name in the header to let you know it hasn't been saved) to be Undoable. I know I said "for mixing moves," but that's just the area where I most often get bitten.

The asterisk tells me that the program is tracking those actions, so I would like to leverage that.

Quote

There are no plans to make this part of undo - it would be very confusing.

@Noel Borthwick, for whom would this be confusing? I find current behavior confusing as I find it hard to remember what actions are undoable. I came from Mixcraft, where pretty much every action is undoable, including plug-in settings. No confusion: I did something. If I hit Ctrl-Z the action will reversed. Up in the Edit menu, it says "Pan adj." next to Undo/Redo.

Of course, as with all such sweeping changes to behavior, for those who only want the limited set of actions to be undoable, this would be a settable preference rather than a mandatory change.

Edited by Starship Krupa
  • Like 2
  • Great Idea 1

Share this post


Link to post
Share on other sites

Interesting discourse, but I'm sorry, I don't really feel that strongly about it or that it's really that connected to undoing mixing parameters...? 😊

18 hours ago, Kevin Perry said:

If the track is playing back and has an envelope and the slider is not armed, the slider has no effect on the sound - it effectively always tracks the envelope value.  But...it sets the "absolute" level as well, right?  So which is it doing at any one time?  And what should I undo under these 3 different conditions?  I don't know.

I think of it like this:

  • Track parameters such as Volume and Pan always have an absolute value
  • If there's no automation, the "slider" sets the unchanging absolute value - and also represents it
  • If there is automation, then the envelope is master - and the "slider" still represents the absolute value momentarily, always at the "now time"
  • If there is automation and you move the slider:
    • Without recording: there is no "real" point, as the envelope is master
    • With recording: you record new/overwrite automation

Offset mode for volume is great - although I think the offset should be visually indicated in the normal mode somehow.  Offset mode for pan I never need, so I can't comment on your findings, but I do see it could be messy to understand... 🥴

The fact that deleting an envelope sets (leaves?) the parameter to what the now time happens to be on is maybe not intuitive, I guess it's just something one has to learn. But I can't see a better option either? There is no magic or "metaphysical" default value to fall back on... 😄

Share this post


Link to post
Share on other sites
4 hours ago, Starship Krupa said:

What I want ain't rocket science: I want any action that would set the "dirty" bit (that is, put an asterisk after the file name in the header to let you know it hasn't been saved) to be Undoable. I know I said "for mixing moves," but that's just the area where I most often get bitten.

The asterisk tells me that the program is tracking those actions, so I would like to leverage that.

@Noel Borthwick, for whom would this be confusing? I find current behavior confusing as I find it hard to remember what actions are undoable. I came from Mixcraft, where pretty much every action is undoable, including plug-in settings. No confusion: I did something. If I hit Ctrl-Z the action will reversed. Up in the Edit menu, it says "Pan adj." next to Undo/Redo.

Of course, as with all such sweeping changes to behavior, for those who only want the limited set of actions to be undoable, this would be a settable preference rather than a mandatory change.

I totally agree with your arguments, @Starship Krupa. It's how it works in Ableton Live as well.

Does anyone know how it is in for example Cubase or Logic?

  • Like 1

Share this post


Link to post
Share on other sites
38 minutes ago, GreenLight said:

Interesting discourse, but I'm sorry, I don't really feel that strongly about it or that it's really that connected to undoing mixing parameters...? 😊

I think of it like this:

  • Track parameters such as Volume and Pan always have an absolute value
  • If there's no automation, the "slider" sets the unchanging absolute value - and also represents it
  • If there is automation, then the envelope is master - and the "slider" still represents the absolute value momentarily, always at the "now time"
  • If there is automation and you move the slider:
    • Without recording: there is no "real" point, as the envelope is master
    • With recording: you record new/overwrite automation

Offset mode for volume is great - although I think the offset should be visually indicated in the normal mode somehow.  Offset mode for pan I never need, so I can't comment on your findings, but I do see it could be messy to understand... 🥴

The fact that deleting an envelope sets (leaves?) the parameter to what the now time happens to be on is maybe not intuitive, I guess it's just something one has to learn. But I can't see a better option either? There is no magic or "metaphysical" default value to fall back on... 😄

If you keep the tight coupling, then playing back anything with an envelope would (logically) dirty the file.  That is not helpful or, I would argue, what anyone would want.  Decouple and this problem vanishes, and if you take my approach, you don't lose any functionality (to be fair, you may want to increase the range of the offset mode to compensate, although why anyone would want to add +6dB gain to a track is debatable :-)).

0dB (or equivalent - eg. center for pan) is the correct value to reset the control to - it's what is set when the track is inserted, so is the default; there's nothing else logical to use.  I've been bitten by this "feature" numerous times and wondered what has happened to my track's volume.  It's a bizarre way to have it work, as is, in my opinion.

Share this post


Link to post
Share on other sites
7 minutes ago, Kevin Perry said:

If you keep the tight coupling, then playing back anything with an envelope would (logically) dirty the file. 

Hm, I'm not really following your logic there... since the envelope is the master that controls the absolute value, why would it be logical that the file is dirtied (changed) by mere playback?

7 minutes ago, Kevin Perry said:

0dB (or equivalent - eg. center for pan) is the correct value to reset the control to - it's what is set when the track is inserted, so is the default; there's nothing else logical to use.  I've been bitten by this "feature" numerous times and wondered what has happened to my track's volume.  It's a bizarre way to have it work, as is, in my opinion.

I am so used to the current regimen, but this arguably makes more sense. 😀

Share this post


Link to post
Share on other sites

Just because a couple of other DAW’s do it isn’t an argument for doing it. 
Tying fader movements (mixing operations), to the undo system is mixing and matching two completely different workflows. 
One is changing the data and the other is signal flow. They are two complete independent things and IMO should not be coupled.
People do little changes to vol/pan interspersed with editing all the time. Having it in the same undo history will be very error prone and undersirable. If there was a mixer undo stack it would be completely discrete from the editing stack.

Mix recall is a much more powerful system for managing fader state. And as pointed out we have a single per track level of undo for mixer state already.  Also saving and restoring gain has little meaning when you have envelopes inthe project since they override the mixer when automation read is on. It would have to do it in offset mode which few people use anyway.
Too many downsides to this which is why we don’t intend to do it.

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, Noel Borthwick said:

If there was a mixer undo stack it would be completely discrete from the editing stack.

Okay, separate then. Different commands for undo last editing move and undo last control move. That would be great.

Share this post


Link to post
Share on other sites
3 hours ago, GreenLight said:

Hm, I'm not really following your logic there... since the envelope is the master that controls the absolute value, why would it be logical that the file is dirtied (changed) by mere playback?

Because (and this is purely me "arguing" from a logical perspective :-)), if moving the fader dirties the file (which it does and presumably we agree it should?), then having the fader moved by an envelope should also dirty the file.  How the fader is moved is (essentially) irrelevant - it's the fact that it *has* moved which makes the file dirty.

It's already a pain when a plug-in somehow dirties a file due to some LFO or similar it has running - having an envelope do it too would be horrific: "Should I save it because I changed something I want to keep, or has it changed because I played back but don't want to keep a change I made..?" - that's not a question I think we should be asking ourselves.

Share this post


Link to post
Share on other sites
On 8/9/2020 at 5:44 PM, Josh Wolfer said:

This, this, and more this. it happens all the time. At least there is a a right click - "revert to X dB", which helps. But it only does the last value too. It's be nice if each change could be undone. 

@Josh Wolfer why not use mix recall which is designed specifically for this? And light years more powerful because not only can it recall fader moves for a subset of tracks, it can also recall envelopes and actual plugin settings. Arguably plugins are equally part of the mixing task these days.

Mixing is a complex and very user workflow specific task. Someone might want to undo only fader moves on a single track but has moved a dozen other things after that. A simple undo stack is not useful for that. This is why we have per parameter undo memory (albeit only last value state). It could be extended to remember more than one value I suppose.
However it seems like we already have all the tools there with mix recall. If anything we should enhance that feature rather than adding new less powerful features.

  • Like 1

Share this post


Link to post
Share on other sites
On 6/29/2021 at 6:17 PM, Noel Borthwick said:

@Josh Wolfer why not use mix recall which is designed specifically for this? And light years more powerful because not only can it recall fader moves for a subset of tracks, it can also recall envelopes and actual plugin settings. Arguably plugins are equally part of the mixing task these days.

Mixing is a complex and very user workflow specific task. Someone might want to undo only fader moves on a single track but has moved a dozen other things after that. A simple undo stack is not useful for that. This is why we have per parameter undo memory (albeit only last value state). It could be extended to remember more than one value I suppose.
However it seems like we already have all the tools there with mix recall. If anything we should enhance that feature rather than adding new less powerful features.

I think where this comes down to is the "undo history" feature. 

I use it a lot throughout my process. My setting on that is set to 999999 - If it goes even that high. I just remember choosing lots of 9's when setting it. With that, I can go back and undo a change I had at the beginning of the project. So I think adding the fader to it would be helpful. 

That being said: "the revert to" value on the fader works best for me, if I only want to undo the slider value. (Different engineers, Different workflow) 

I used Mix recall before, that didn't go to my taste - primarily because my comfortability in my workflow is to use the "Undo History."

Seriously, I cannot work without. 

So I agree with you to a certain extend to keep it as is. What if we do an "Undo history" feature of 20 steps on the faders separately? Unless mix recall saves after every movement/changes that is being made by the engineer (I think, I need to work with mix recall more often.) 

Edited by Will_Kaydo

Share this post


Link to post
Share on other sites
8 hours ago, Noel Borthwick said:

Tying fader movements (mixing operations), to the undo system is mixing and matching two completely different workflows.

It would be horrendous for both types of operations to be linked to the same undo history IMHO. Imagine mix moves being undone because you wanted to undo something else unrelated that you did earlier ! That would suck.

I don't use the mixer snapshots personally, I find it quicker to just work live with the faders but I can understand how they wouldn't really work for someone who just wants a quick way of revert some fader moves as you'd have to be able to see into future to know to make a snapshot before you needed it !

How about instead of copying other DAWs we come up with something better ? 

Imagine a 'continuous snapshot' that records all mixing operations as it goes.  Now imagine being able to grab a control ( maybe a slider ? ) and 'rewind' them by dragging that slider back through the last however many moves until you were back where you wanted.  If you decided you didn't like the older mix, fine  - just drag the slider forward again and carry on from where you left off.  If you decided you preferred how the mix sounded at a certain point along the  mix history , fine...go to where you want and make retrospective snapshot and carry on from there ...no need to be able to predict the future.       

I call it " Mix Rewind "...and I claim my $5

Edited by Mark Morgon-Shaw
  • Thanks 1

Share this post


Link to post
Share on other sites

Yes a per fader history queue would be much more useful than a simple undo history that forces you to go from most recent to least recent. 
Yes mix recall currently requires you to make the decision to take a snapshot. 

  • Like 3

Share this post


Link to post
Share on other sites
20 minutes ago, Noel Borthwick said:

Yes a per fader history queue would be much more useful than a simple undo history 

Love this answer.

I +100 this. 

Share this post


Link to post
Share on other sites

what would be cool - a way to automate a chain of mix recalls so at each part of the song you could spend some time with changes, snapshot, perhaps re-use in another section (e.g. chorus) then automate them (say, in the arranger), and in some cases, reuse across projects (e.g. acoustic automation chain, rock automation chain etc as sort of a pre-mastering set of moves)

Share this post


Link to post
Share on other sites
On 6/29/2021 at 2:43 PM, Noel Borthwick said:

Just because a couple of other DAW’s do it isn’t an argument for doing it. 
Tying fader movements (mixing operations), to the undo system is mixing and matching two completely different workflows. 
One is changing the data and the other is signal flow. They are two complete independent things and IMO should not be coupled.
People do little changes to vol/pan interspersed with editing all the time. Having it in the same undo history will be very error prone and undersirable. If there was a mixer undo stack it would be completely discrete from the editing stack.

Mix recall is a much more powerful system for managing fader state. And as pointed out we have a single per track level of undo for mixer state already.  Also saving and restoring gain has little meaning when you have envelopes inthe project since they override the mixer when automation read is on. It would have to do it in offset mode which few people use anyway.
Too many downsides to this which is why we don’t intend to do it.

Interesting viewpoint. :)I see both actions of raising a track's volume via fader (without volume envelope) or via automation as mixing - there's no difference for me. So having a separate undo history would, for me, be very confusing: "did I change the volume via automation on track X or via fader on track Y? Only one is undoable".

The paradigm of "If you change it you can undo it" seems more logical to me. As it is now, if I mistakenly scroll my mouse wheel when hovering over a Vel+ or Volume parameter instead of the track name in Track View (on a track without automation) then I accidentally change stuff, and it's often hard  to figure out which track it was and I can't undo it. And I probably haven't saved a mix recall in advance either... ;) (This is not my main use case, it's just an example.)

As you say, saving and restoring gain has little meaning when you have envelopes. I see the most important aspect for track parameter undo to be parameter changes on tracks without envelopes. I have a lot of envelopes and automation, but not on all my tracks. I constantly use a lot of Volume and Vel+ (MIDI) track parameters without automation.

I will be humble and admit this of course my view of things. :) And sure, just because a couple of other DAW's do it isn't an argument for doing it for you. I just wanted to point out that I'm not alone with my view, there are some high-profile apps that share it.

How about an opt-in for "Include track parameter changes in undo history"? A small checkbox in Options that harms no-one? :)✔️

All the best!

  • Great Idea 1

Share this post


Link to post
Share on other sites

One point made earlier is the Undo history includes both editing and mixing moves.

What if the user could choose which Undo history to follow; editing Undo, mixing Undo or both Undo?  The user could select similar to the way snap or loop settings are turned on and off.

Look at it from a new user or beginner viewpoint,  who is going to know from the beginning @GreenLight's rules for Undo?

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...