View Issue Details

IDProjectCategoryView StatusLast Update
0003179ardourfeaturespublic2017-08-06 14:24
Reporterthorgal Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status acknowledgedResolutionopen 
Target Version3.X 
Summary0003179: add command line option for quick session exports
Descriptionwouldn't it be cool if one could export an ardour session without the need to open it (GUI and all) ?

something like a command line would be cool:

ardour <session name> --export -- <export options> -o <some output file>

no GUI, no nothing, just an export. I reckon this could be tricky to implement if the session opening is very tied to the GUI initialization ... is this doable at all from the current ardour design ?
TagsNo tags attached.

  Users sponsoring this issue
Sponsors List Total Sponsorship = US$ 10

2012-02-17 05:38: Zelgadis (US$ 10)
  Users sponsoring this issue (Total Sponsorship = US$ 10)

Activities

paul

2010-05-25 17:40

administrator   ~0008040

its not tied to the GUI at all. adding this to ardour3 and forcing it to use an existing "export profile" would not be all that difficult.

thorgal

2010-05-25 21:55

reporter   ~0008042

sounds great Paul! the opposite would have surprised me :)

Zelgadis

2012-01-26 04:44

reporter   ~0012671

That would be very cool to have, because with commandline export we will be able to integrate Ardour with automated rendering tools, like Remake (https://github.com/morevnaproject/remake) in animation production.

unfa

2017-08-05 20:02

reporter   ~0019957

Bump! I just wanted to request this feature, but I found this.

It would be very useful if Ardour could render a session without using any audio backend. I often face the problem that when exporting long sessions I can't do any audio work, becasue my JACK is muted and busy with Ardour's exporintg, also starting a new JACK client may interrrupt the exporting.

This would allow me to save my session, close Ardour GUI and export audio from commandline, and load another session and continue my work.

I guess it should obey export options, regions etc that are in the project. A way to override this would be nice, but in my idea - a secondary thing.

paul

2017-08-05 20:18

administrator   ~0019958

If JACK is the backend in use, then JACK must necessarily be involved in the export process (because data may come from other JACK clients). JACK being used for non-realtime export means that it cannot interact with the audio interface.

We do include a Dummy backend but do not expose it to users. This in theory could be used to do an export.

x42

2017-08-05 23:48

administrator   ~0019960

Last edited: 2017-08-05 23:53

/opt/Ardour-5.10.0/bin/ardour5-export --help

distro-builds or installations where it's in $PATH: ardour5-export
This has been around since Ardour 4.7. It doesn't have any fancy options (no export presets etc), but gets common export jobs done just fine.

unfa

2017-08-06 07:06

reporter   ~0019961

I tend to keep all my Ardour sessions "self contained", so using the Dummy backend shouldn't break anything in that case.

I've tried out the ardour5-export tool. I get a "Cannot get samplerate from session" error, and when I pass "--samplerate 48000" as an argument - It shows me the help screen:

/opt/Ardour-5.10.0/bin/ardour5-export --samplerate 48000 "/unfa/Projects/Albums/DnB 03/Tracks/Anti-Feature/Anit-Feature vocals/" "Anti-Feature vocals 02.ardour"
ardour5-export - export an ardour session from the commandline.
( help text continues )

If I use the shorter option "-s 48000" I get error "invalid option":

/opt/Ardour-5.10.0/bin/ardour5-export -s 48000 "/unfa/Projects/Albums/DnB 03/Tracks/Anti-Feature/Anit-Feature vocals/" "Anti-Feature vocals 02.ardour"
/opt/Ardour-5.10.0/lib/ardour5-export: invalid option -- 's'

Using "--s" instead of "-s" yields no error message but I still only see the help text.

I tried again running from the Ardour session directory:

unfa@unfa-desktop /unfa/Projects/Albums/DnB 03/Tracks/Anti-Feature/Anit-Feature vocals $ /opt/Ardour-5.10.0/bin/ardour5-export "." "Anti-Feature vocals 02.ardour"
Cannot get samplerate from session.


I tried various combinations of parameters to no avail.

Also: is the session always exported as 16-bt WAV as the help screen says, or will it obey session's export settings? Being able to use 24 and 32-bit float precision would be great for further processing - for example batch exporting song mixes for mastering.

x42

2017-08-06 12:21

administrator   ~0019962

Usage: ardour5-export [ OPTIONS ] <session-dir> <session/snapshot-name>

The tool expects the session-name (no .ardour file-name suffix).

unfa

2017-08-06 13:27

reporter   ~0019964

I tried relative and absolute paths, with no suffix and I still get the same error:

$ /opt/Ardour-5.10.0/bin/ardour5-export "/unfa/Projects/Albums/DnB 03/Tracks/Anti-Feature/Anti-Feature vocals" "Anti-Feature vocals 02"
Cannot get samplerate from session.

Am I doing something wrong?
Should I file another issue about this maybe?

x42

2017-08-06 14:16

administrator   ~0019965

I've fixed the --samplerate option (5.10-467-gd98b722a2) and improved error-reporting and help-text (5.10-468-gbc713b00c)

x42

2017-08-06 14:24

administrator   ~0019966

"Cannot get samplerate from session" likely means that the tool can't read or find the session-file.

I just tried with paths spaces and cannot reproduce the issue. Works fine, too here.

But /opt/Ardour-5.10.0/bin/ardour5-export is a shell exec wrapper using /bin/sh
maybe that is problematic? Does it work with a simple test session e.g.
"/tmp/testsession" "testsesion"

Issue History

Date Modified Username Field Change
2010-05-25 12:51 thorgal New Issue
2010-05-25 14:29 cth103 Status new => acknowledged
2010-05-25 17:40 paul Note Added: 0008040
2010-05-25 21:55 thorgal Note Added: 0008042
2011-07-02 23:17 cth103 cost => 0.00
2011-07-02 23:17 cth103 Target Version => 3.X
2012-01-26 04:44 Zelgadis Note Added: 0012671
2012-02-17 05:38 Zelgadis Sponsorship Added Zelgadis: US$ 10
2012-02-17 05:38 Zelgadis Sponsorship Total 0 => 10
2017-08-05 20:02 unfa Note Added: 0019957
2017-08-05 20:18 paul Note Added: 0019958
2017-08-05 23:48 x42 Note Added: 0019960
2017-08-05 23:53 x42 Note Edited: 0019960
2017-08-06 07:06 unfa Note Added: 0019961
2017-08-06 12:21 x42 Note Added: 0019962
2017-08-06 13:27 unfa Note Added: 0019964
2017-08-06 14:16 x42 Note Added: 0019965
2017-08-06 14:24 x42 Note Added: 0019966