Commit graph

55 commits

Author SHA1 Message Date
Robin Gareus
4b5333a721
Disambiguate export formats with different encoder settings
Disambiguate export formats with different encoder
qualities, sample-formats or settings (wav/bwav).

This allows to export multipe mp3 with different bitrates.
2023-03-25 06:43:46 +01:00
Paul Davis
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus
e28e079c9f
Consolidate Export Format/Spec comparision 2022-12-07 17:56:07 +01:00
Robin Gareus
d2212cbfb9
Add 24kHz as export rate, and limit opus to 8,24,48 per spec 2022-12-06 06:35:44 +01:00
Robin Gareus
4d05c7add9
Map sndfile/opus quality to bitrate 2022-12-06 06:35:15 +01:00
Robin Gareus
c04b05f497
Remove misleading export quality comments 2022-10-10 02:23:55 +02:00
Paul Davis
7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06:00
Robin Gareus
3d1c6d3796
Add export format option to re-import exported file(s) 2022-03-11 04:55:24 +01:00
Robin Gareus
75829d20f2
Overhaul export loudness normalization
* Fix exporting multiple formats with different
  normalization settings or demo-noise settings
* Add true-peak limiter (based on x42-limiter dpl.lv2)
* Optionally use a limiter for loudness normalization
* Fall back to short-term loudness when normalizing
  material too short for integrating loudness.
2021-04-12 23:15:30 +02:00
Robin Gareus
a95d87ef6e
NO-OP: whitespace and private variable-name
This pipes export source-code though clang-format, and some
manual cleanup step.
2020-11-14 17:44:48 +01:00
Robin Gareus
f89e72d86d
Cont'd backend support for demo-noise 1e7207f9ec 2020-06-05 02:29:20 +02:00
Robin Gareus
1e7207f9ec
Add export spec support for watermark/demo-noise 2020-06-04 21:20:32 +02:00
Robin Gareus
a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus
95a61717fa
Fix ExportFormatSpecification copy-c'tor
This initialize some otherwise uninitalized variables and may fix
cue/toc export oddities
2018-12-13 17:07:08 +01:00
Robin Gareus
3d366053e2 Set encoder quality for existing ExportFormatSpecs 2018-11-21 21:19:01 +01:00
Robin Gareus
27e0e78e1d Implement FFMPEG/MP3 export-format spec and profile 2018-11-20 00:21:01 +01:00
Robin Gareus
5fa05b403c Prepare export-format codec-quality setting 2018-11-19 22:26:16 +01:00
Robin Gareus
b88fd1e6ca Fix Export-format timecode spec (frames: timecode frames)
undo/fix 30b087ab3d
2018-01-21 11:00:57 +01:00
Paul Davis
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Tim Mayberry
d5cf19d606 Remove LocaleGuards from ARDOUR::ExportFormatSpecification state methods
All float <=> string conversions are performed by PBD::to_string/string_to via
XMLNode.
2017-06-22 10:48:38 +10:00
Tim Mayberry
1dfcf07ba9 Use XMLNode::get/set_property API in ExportFormatSpecification
The float conversions are now handled automatically by PBD::to_string/string_to
so precision is improved and LocaleGuard is no longer needed.

Improves readability and in ~70 lines less code
2017-04-19 09:36:49 +10:00
Tim Mayberry
b66d5e842b Add analyse and soundcloud-upload properties of ExportFormatSpecification to xml state 2016-09-14 20:36:03 +10:00
Paul Davis
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Robin Gareus
69d644e979 add locale guards for export format 2016-05-18 17:35:52 +02:00
Paul Davis
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
Robin Gareus
d01cb7910f Add loudness normalization to Export Format & Graph 2016-05-02 15:44:13 +02:00
Robin Gareus
837f8fac2b make post-export analysis optional (default to enabled) 2016-02-10 22:35:01 +01:00
Paul Davis
c5a657ceee add 176.4kHz to available sample rates in export GUI 2015-06-29 14:18:12 -04:00
Ben Loftis
46f97e8d92 Initial Gain Coefficient tweaks
1)  Disambiguate 1.0 to GAIN_COEFF_UNITY, and 0.0 to GAIN_COEFF_ZERO
2)  Add GAIN_COEFF_SMALL which replaces SMALL_SIGNAL (-140dB)
3)  GAIN_COEFF_SMALL can used to avoid interpolating towards -inf on a db scale
4)  GAIN_COEFF_SMALL is used to detect very small (denormal?) gains and memset to zero
2015-04-22 00:22:43 +02:00
Johannes Mueller
acd1ee1989 Added support for exporting mp4 chapter marks
The mp4 file format supports chapter marks using the so called
mp4chaps format to enable chapter wise navigation in an mp4 file. The
format is like

hh:mm:ss.sss Chapter Title

This commit adds the ability to export those kind of chapter marks
along with TOC and CUE marks. The filename extension for the chapter
mark file is "chapters.txt". The format specification description is
"MP4ch".
2015-04-21 18:15:29 +02:00
Colin Fletcher
982b95fb47 Be sure to initialise ExportFormatSpecification::_soundcloud_upload
Initialise _soundcloud_upload in all constructors of
ExportFormatSpecification.
2014-09-13 15:27:30 +01:00
Colin Fletcher
4153f4dd57 Initialise _soundcloud_upload to false in ExportFormatSpecification 2014-05-23 20:21:56 +01:00
Colin Fletcher
2f6debf0d2 Remove Soundcloud upload from export format specification
Remove the Soundcloud upload property from export formats - it doesn't
belong there, since it's a thing which can apply (or not) to any format
preset.
2014-05-23 17:42:35 +01:00
Colin Fletcher
2a93f7a25e Rudimentary post-processing of exported files.
Export format contains a string to be passed to system() after expanding
%1, %2, & %3 via string_compose() to the full path & filename, containing
directory, and basename respectively. No error-checking or any niceties
like that - real programmers will of course always type the command
correctly, and know to watch Ardour's standard output for the results...
2013-10-07 20:28:13 +01:00
Colin Fletcher
a3465ff5d3 Working Soundcloud export
Adds an 'upload' property to ExportFormatSpecification, to indicate that files
exported with that format specfication should be uploaded to Soundcloud, and
makes it editable in the export format dialogue.
Adds fields for the Soundcloud username & password to the file format selection
page, as well as an option to make the uploaded files public and open them in
the system browser.

Possible improvements not yet implemented:
- make upload happen in its own thread
- cosmetic tidying up of dialogue control layout
- remember username & password
2013-10-07 14:59:40 +01:00
Sakari Bergen
8cbb9727e9 Handle mutiple export files with the same extension but different format.
If multiple filenames have the same extension, append the format name
to the filename. This still requires a bit of extra logic to be optimal,
as the format name will now be added in some situations where it is not
needed. However, this is better than producing a broken file...
2013-03-17 12:32:48 +02:00
Paul Davis
9a4fbfcdfe add 8kHz as an available export format sample rate
git-svn-id: svn://localhost/ardour2/branches/3.0@13214 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-08 19:45:25 +00:00
Sakari Bergen
ed51eb8801 Remove some excess commas from the export format description
git-svn-id: svn://localhost/ardour2/branches/3.0@12920 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-24 20:00:30 +00:00
Sakari Bergen
0925abbc92 Change logic for compiling export format descriptions from incomplete formats
git-svn-id: svn://localhost/ardour2/branches/3.0@12917 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-24 13:57:20 +00:00
Sakari Bergen
04416e2d1d In export format dialog, show preview of generated part of description. Fix to #0004941
git-svn-id: svn://localhost/ardour2/branches/3.0@12911 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-24 11:36:33 +00:00
Sakari Bergen
8e98352b6c Add toc and cue information to export format descriptions
git-svn-id: svn://localhost/ardour2/branches/3.0@11306 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-22 18:07:53 +00:00
Paul Davis
65c8d673a2 restore ability to create TOC and CUE files during export. this is an option in a given export format, not a per-export choice. so you need export formats with them set (or not) in order to utilize this choice. the resulting CUE/TOC files have not been checked with a burner (e.g. cdrdao) and testing of them would be appreciated - i (paul) have no CD burner h/w
git-svn-id: svn://localhost/ardour2/branches/3.0@11266 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 21:56:06 +00:00
Sakari Bergen
7468fdb9ca Typedef all globally used export smart pointer types in one file.
Some of them need to be ordered in STL containers, and thus need
a special comparable wrapper for boost::shared_ptr, defined in
comparable_shared_ptr.h. This also alleviates the typedef hell
present earlier in some export classes :)

Making the timespan pointer comparable should fix bug #4093


git-svn-id: svn://localhost/ardour2/branches/3.0@9702 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-11 14:14:24 +00:00
David Robillard
a473d630eb Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 16:50:12 +00:00
Paul Davis
75ede0dd6b change Session::convert_to_frames_at() to Session::convert_to_frames() to reflect the fact that its argument is a position, not a duration; add Session::any_duration_to_frames(), which converts AnyTime representing a duration to frames; alter callers to use the right one of the two previously mentioned methods
git-svn-id: svn://localhost/ardour2/branches/3.0@8386 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-30 15:45:48 +00:00
Sakari Bergen
94c69b3c91 Finally implement position aware silence adding in export (i.e. bbt times are converted to frames correctly)
This will work when Session::convert_to_frames_at is fixed :)


git-svn-id: svn://localhost/ardour2/branches/3.0@8295 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-18 19:27:04 +00:00
Sakari Bergen
ffadfff650 Add "session rate" as a possible sample rate for export formats
git-svn-id: svn://localhost/ardour2/branches/3.0@8294 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-18 17:56:41 +00:00
Carl Hetherington
73192bc1a7 Remove all use of nframes_t.
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Paul Davis
4d112a8e6b remove Glib::ustring from libardour; allow any characters except '/' and '\' in paths (may cause issues when loading creatively named 2.X sessions; fix a couple of details of name collection and usage from the startup dialog
git-svn-id: svn://localhost/ardour2/branches/3.0@7772 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-14 15:45:21 +00:00
Paul Davis
fa5aeb7892 change the use of "SMPTE" to "Timecode" to reflect the global economy and the end of american dominance on the world audio production stage
git-svn-id: svn://localhost/ardour2/branches/3.0@5924 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-26 14:38:58 +00:00