Copy/Move Object

ex.factory makes extensive use of drag and drop for copying and moving Objects.

You can drag copy or move Objects within a file or between files, and you can drag single items or multiple items.

The default drag operation is to move an Object, and there are two types of move operations:

When you move an Object to a new Parent Collection then the original Object is removed and replaced with an initialised Object of the same type.

To copy an Object using drag and drop, you must have the DRAG MODIFIER key held down during the operation. The DRAG MODIFIER key is platform dependent. On the PC platform it is the CTRL key.

You can tell that a copy operation is in progress as the drag image icon has a + sign visible.

When you drag multiple items they must be of the same type. For example you can drag several Voices, but not Voices and Performances together.

ex.factory provides the following drag/drop feedback to assist in determining the effects of a drag/drop operation:

When a Child Window is split, Objects can be dragged and dropped between either side of the split point. This is handy, for example, for dragging Objects between the start of a Collection and the end of a Collection.

The Tree and Table views will auto-scroll in drag and drop operations, when you move the cursor to either the top or the bottom of the pane and hold it there.

If you drag an Object onto a Tree View and over a valid parent Object (e.g. an Element over a Voice) and the parent Object is collapsed within the Tree, and you hold the cursor over the Parent Object for a few seconds it will automatically expand.

ex.factory will maintain the references to Objects in a Collection when moving Objects within a file, as follows:

Collection Type in File Type Objects Updated
Voice S1A, S1Y Performance Parts
Wave S1A Voice Elements (AWM Elements using RAM Waves)
Sample S1A Voice Elements (Drum Elements using RAM Samples)
Wave Layers (using RAM Samples)
Sample Keymaps (using RAM Samples)
Pattern S1A Pattern Keymaps
Arpeggio S1A Voice Arpeggiator Units (using User Arpeggios)
Performance Arpeggiator Units  (using User Arpeggios)

For example if you move a Voice within an S1A file from Location 2 to Location 10, then any Performance Parts which are referencing Voices at Locations 2 and above will be updated to ensure they still reference the same Voices after the move operation as they were before the move operation.

The ability to update references following a move or to copy referenced Objects during a move to a new file can be selectively turned on or off within the Preferences Dialog.

When you are dragging certain Objects that can only be copied and not moved, don't forget that you need to hold down the DRAG MODIFIER key for the drag to be valid. For example, if you are dragging a preset Voice from the EX Synthesizer Window onto a Performance Part then you must be performing a copy operation.

Here is a list of items that can only be copied and not moved