[Ardour-Users] using ardour on multiple locations

Robin Gareus robin at gareus.org
Thu Mar 14 16:55:52 PDT 2019

On 3/15/19 12:04 AM, m.eik michalke wrote:
> hi again,
> i have a rather "stretched" workflow, due to the fact that our rehearsal space 
> and small studio is some hundreds kilometers away from where i live. i 
> therefore need to work on our recording projects on multiple machines -- at 
> least the recording PC in the studio and my PC at home, sometimes also my 
> laptop.
> to achieve this, we're running our own seafile server[1] to sync all PCs (we 
> actually buried ~100m of ethernet cable in the garden between two houses to be 
> able to upload from the cellar). this usually works pretty well and also 
> creates backups of our projects as a side effect.

nice! +1 for off-site backups!

> but it also shows some details of ardour that you would probably never notice 
> if you're only running it on one PC. e.g., it seems to be impossible to just 
> open a project and close it again without changing files. it's not just the 
> instant.xml that is updated even if you quit ardour explicitly without saving, 
> but usually also hundreds(!) of peak files.

The peak-files are re-built if the peak-file's modification timestamp is
older than the source-file in the interchange folder.

> so, one question i have: it feels like ardour is refreshing/recreating those 
> peak files anyway while opening the project.

Yep. Someone may have changed the source-files while the session was
closed. Ardour also checks peak-files at rec-stop (newly created files)
and after other operations that may create new files (e.g. time-stretch).

> what purpose is there to keep them in the first place? 

Ardour is non-destructive, once you have added some audio it does not
change, so normally this is a one-time process.

If you have an hour long track and zoom out to view 1 hour on
thetimeline, without a peak-file, Ardour would have to read the whole
audio to show the waveform.

> couldn't those be created as temporary files (symlink 
> to a tempdir) during opening and left out of the project completely?

Audio-files are usually specific to a session, the peak-files are
meaningless outside the session-dir.

You could simply just exclude the peaks/ folder from being sync'ed.

Anyway the root cause is likely that your copy/sync mechanism does not
preserve the file's mtime (files in interchange/*/* as well as peaks/

> the other problem we're facing is with the handling of MIDI soundfonts. it is 
> generally a great idea to use symlinks instad of copies, expecially with large 
> banks. but symlinks can get lost or break during file transfer; in our case, 
> seafile replaces them with actual copies of the full files on all but the PC 
> where the soundfont was first used in a project. wouldn't it be possible to 
> store the references to those files in a single MIDI config file per project 
> instead of doing this on the file system level (which also means taking care 
> of different file systems)? currently, if one of the files linked to is 
> renamed or removed, the symlink is broken as well, so i see no advantage of 
> having that.

I like the idea. A "pool of .sf2" would be nice to have, also shared
between sessions for easy access.  Maybe part of a bigger picture: a
"sample browser".

However this is not Ardour's doing. It is specific to the plugin(s) that
you use. In case of LV2 all the sym-linking is abstracted by liblilv.

Perhaps this is best discussed in context of

 on LV2 save-state. lilv generates two symlinks:

    state-dir/file.test -> externals/file.test
    externals/file.test -> /file.test

The 2nd link is only created if it doesn't exist, yet. You could replace
the symlink in the externals/ folder with the actual file.

There is currently no built-in feature to do that. "Session > Cleanup >
Bring all media into session folder" does not include external [LV2]
plugin data (it probably should).

Anyway, you could deference symlinks when you copy the session.

> and last but not least, is it possible to dump the MIDI instruments used in a 
> project? if shit hits the fan, i'd be glad to have a human readable file 
> listing all tracks with the MIDI instruments defined, so i could manually 
> recreate them. i'd actually like to have such a file created/updated each time 
> i save a snapshot, so changes don't get lost.

A Lua ActionHook could do that. It depends on how you much information
you want for each MIDI instrument and if the instrument-plugin makes
this information accessible.  I'll see if I can whip up a basic example


More information about the Ardour-Users mailing list