Last updated:

ReaScripts: Set Items Position and Order Pack (Advanced Reposition Items)

News (2023-01-09): Just released a brand new UI for the main script, check updates below! And now with presets system in the GUI!

And now with presets system from the user interface too! (2023-01-22)!

Introduction

Spacing items can be critical for certain types of workflow, like mastering, audio samples library, virtual instrument, e-learning, game audio, etc…

This pack contains scripts to allow advanced spacing and ordering of items. You can consider this set of actions as very advanced variations of the Xenakios/SWS: Reposition Items action from SWS extension.

Pack Content

Usage

Script: Set Items Positions and Order

  • X-Raym_Set selected items position and order.lua

This can do every things the other scripts in the pack can do and more (except the very special spacing “pair” one). Its main purpose is to create sequence of items (adjust their placement one relative to the previous one etc).

Most of this script features have been sponsored by Soundiron, for their sample editing workflow related to their virtual instruments.

The features list is quite long, here is a resume:

  • Works per tracks, per positions on the the timeline or by selection order
  • move and snap items
  • offset items by groups
  • keeps project markers at items positions
  • add space/gaps between items, with unit of your choice
  • Change order:
    • shuffle
    • inverse order
    • rotate
    • sort alphabetically
    • sort alphabetically (reversed)
    • sort with musical notes in their names
    • sort by volume (max peak, rms, loudness)
    • sort by volume (max peak, rms, loudness) (reversed)
    • sort by length
    • sort by length (reversed)
    • sort by color
    • sort by color (reversed)
  • Save and load presets from the GUI(new!)
  • etc…

Demo Videos

Here is a full workflow example, which uses this script several times during the process:

Groups Relative Positons (2020-07-05)

The script now support items groups relative position offset. If activated, other items grouped with selected items will follow the position offset, preserving initial distances between items in groups.

The Item Grouping Offset mode an allow you to process on item groups level. You can now sort, space and shuffle your items groups!

Item At Marker Position Offset (2020-01-08)

Markers at items snap offset positions can now be offset with items.

Markers move with items. Note that in that particular example, region length is handle by another script.

Sort by Max Peak (2020-01-08)

You can now use the $ap wildcard to sort by ascending max peaks level, or $zp for the opposite. Very handy to sort mutli-mics sample while preserving synching between tracks.

Sort item groups by max peaks.

Sort by RMS (2021-01-28)

The script now support sorting by RMS levels as well.

Max Length Gap Spacing (2022-12-09)

You can now put “maxlen” and an optional offset “+number” to space items by the selected items maximum length (or group length if group active). For eg, you can put each of your groups at regular intervals without overlapping; to do that, space from group start by the size of the biggest group (maxlen keyword). You can also add an extra offset of 1 second (maxlen+1)

Putting groups at regular intervals with maxlen keyword in gap field.

Swap by pair of items (2023-01-04)

New action, you can now swap the items 2 by 2. Use “swp” in Action field for this.

Swap items by pair.

ReaImGui version (2023-01-09)

Just released an alternative version of the script, which uses another GUI engine (ReaImGui), providing more user-friendly design and documentation right in the setting window!

This version is tied to the original script so they share the same exact settings.

The brand new ReaImGui version of the script.

Preset System in the ReaImGui version (2023-01-22)

Just made a fancy template system for this version! Here are the features:

  • Dropdown menu to choose presets
  • Built-in factory presets
  • Create named presets
  • Save users presets in one file
  • Delete presets
  • Name presets
Preset system for the script, right from the GUI!

Check below for the new theme!

Per Group (2023-09-14)

Repeat the transformation for each group of items. Useful for shuffling etc…

Work at group level.

Sort by length (2023-10-05)

Sort items by length (and reversed)

Sort by length.

Script: Sequence (with gaps between items)

  • X-Raym_Space selected items across tracks in sequence one after the other according to their order in selection
  • X-Raym_Space selected items across tracks in sequence one after the other according to their project position

These scripts supports:

  • Easy customization (check User Config Area when editing the script).
  • items grouping relative timing preservation
  • Snap offset
Scripts in action !

These scripts development was supported by Rob Van Hees. Thanks! 🙂

Script: Sequence (from Item Start)

Just like Xenakios/SWS Action reposition from item start, but with item grouping support (optional), and several way to determine items order from selection.

  • X-Raym_Reposition selected items across tracks in sequence one after the other according to their order in selection from their start.lua
  • X-Raym_Reposition selected items across tracks in sequence one after the other according to their project position from their start.lua
These scripts works from item start. You disable item grouping preservation if needed.
These scripts works from item start. You disable item grouping preservation if needed.
Here, items order is chosen from item position in selection.
Here, items order is chosen from item position in selection. Spacing is made from item start.

Script: Pair with Gaps

  • X-Raym_Space selected items by pair of tracks according to their length.lua

This is an advanced space items scripts, which works by pair of tracks, and sorts items by their length, with customizable gaps between them, set according to their length multiplied by a desired coefficient.

It was designed for use in language learning audio project context, where you have a sentences followed by their translation, and space in-between, spaces who need to fit the size of the items. This can help you set up Listen and Repeat type of exercises.

Just like the previous scripts, this script supports:

  • Easy customization, for gaps and coefs (check User Config Area when editing the script).
  • Items grouping relative timing preservation
  • Snap offset

Here is the Demo I made for Filip @PrestonSchool who supported development for this script (thanks !).

Modding

The scripts have a User Config Area on their script header which allows you to quickly customize them. You can then deactivate the prompt window, and set a custom time between each items. You can even set the value to “fade” so that the gap is related to the fade-out length of the previous items, for a nice cross-fade across tracks.

They can also take advantage of presets scripts, so you can save various settings for the same script, without altering the source code.

Installation

This pack can be installed and auto-updated with the free ReaPack REAPER extension with a custom link related to your licence, or via regular Zip download. After purchase, detailed installation instructions will be provided here and on the dedicated Purchase Confirmation page. License are valid lifetime. You will be able to enjoy updates and new scripts added to the pack.

Notes

By buying this product, you are supporting my free scripting. Thanks!

Purchase

  • Personnal use, you are an individual, a student, or a non-profit organization, and you will not use this pack on commercial projects.

  • Your work for a small business company or commercial projects.

  • You are a big business company with a team of more than 5 people. Consider one purchase per team.