Opening different Tracktion edit after one's been loaded?

The Edit is a massively complicated object with thousands of sub-objects, all kinds of listeners, interactions with other threads and other complications. If the class had an operator= then it’d create all kinds of opportunities to make subtle and dangerous mistakes.

If you’re going to be opening and closing them, then just have a std::unique_ptr<Edit> and when you want to replace it, create a new one. That way you can also do it in two steps: safely closing the current edit after removing any listeners and other UI you may have attached to it, and then opening the new one and reattaching to it.