Skip to main content

Crash on Root Container Copy/Paste

Posted

Open a project.   Then Open a New Project beside it.
Copy the root container of the original project.
Then paste that into the root container of the New Project.
CRASH!

Seems very consistent.

I did submit a crash report also.


Wed, 2026-01-14 - 19:34 Permalink

Thanks!

As we are at it, what behavior do you expect?

  1. Insert a new child container from the clipboard (current behavior with drag & drop)
  2. Replace the root container, keeping instruments/tracks that are not affected
  3. Ditto, but clear the target first (full replace)
  4. Block this as it may be confusing

Wed, 2026-01-14 - 21:46 Permalink

Hi.

I was hoping to move the full Structure from the arrangement where it existed to the arrangement where it did not exist (the New Arr).

I didn't really consider this with any subtlety of thought.

I was sourcing from root in a nearly-complete project and targeting root in an empty template (but one in which racks and instruments were defined).    So, from that POV, I would not have wanted the rack/instrument definitions in the target to have been destroyed without being informed and offered to opt out of that.   However, as I was targeting the root, I did expect all containers in the target, with their Figures and other parameters, to be deleted in favor of the Paste.

Since you distinguish between #2 vs #3, perhaps this operation should pop up a dialog and offer a choice (if that can be explained clearly in a dialog).

While I need to learn and experiment more around this subject, I note that for sub-Containers (non-root), they just Copy and Paste fine (so far!).   How this all was affecting, or might affect, Instruments I didn't think about and so must learn and understand more here.

But isn't it a basic thing in Synfire that if the "looked for" Instrument does not exist then a substitute is automatically used?

Thu, 2026-01-15 - 08:16 Permalink

I didn't really consider this with any subtlety of thought.

That's why I asked. Often we do things intuitively expecting a particular result. When you copy a child container, the intention is obvious - you want to add its contents to the arrangement. The very nature of containers is to partially add or replace something, so the question whether to replace existing content doesn't come up.

The root container is different. It represents the entirety of the arrangement.

The current modus is to add the other root container as a child. This way you can build multiple parts of a longer piece in separate arrangements and copy them into one when finished. 

If you want to replace everything in root, you can

  1. Clear the root container
  2. Paste the other root container from clipboard
  3. Move everything in there up one level (there's a command for that in Container menu)
  4. Purge the now empty container.

BTW, when a container is imported from another arrangement, a dialog pops up where you can assign the target instruments, whether to include Harmony, Tempo, etc. 

Thu, 2026-01-15 - 14:02 Permalink

2. Paste the other root container from clipboard

After the crash is fixed, right?

Or is there a path that would work already?