Export / Import Regions Between Different Sessions / Projects

Copying/Pasting regions between different projects/sessions in Ardour is one of the most desired feature for me.

It’s been for many months, I am struggling to achieve to copy regions between different Ardour session projects.

What I want is to copy selected regions from Session/Project A, and paste it into Session/Project B.

A few months ago, I managed to create a command line python script which allows me to select the playlists from the Project/Session A and import that playlist into Session/Project B.
After that I am able to select that playlist for the tracks and all the regions appear.
Even though this is kind of a solution for I was looking for, it is not so practical, especially if I want to copy just a couple of regions.

For that reasons, from time to time I was keep thinking and learning about Lua Scripting for Ardour.
The lack of documentations and examples are really tied my hands and left me clueless in many cases…

Long story short, I could manage to create a Lua script for saving the selected regions list into a file. (ExportSelectedRegions.lua)

And another Lua script, reading the saved regions list and imports audio sources and creates the regions. (ImportRegions.lua)

As a bonus, I created a Lua script for embedding the audio sources directly (instead of importing them), and creating the desired regions. (EmbedRegions.lua)

I know it may sound confusing… But it is really simple.
If requested, I may create a video and demonstrate it.
For now let me just share a quick screencast for what it does:

Here is a github repository which contains the lua scripts and also the python script which I mentioned above.

Tested on Ubuntu 20.04 with Ardour 6.9.0

LIMITATIONS:

  • Works only for one audio track a time. Mono or Stereo channels are supported.

Hope it helps!

3 Likes