summaryrefslogtreecommitdiff
path: root/test/create_cli_test.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-06-15 20:58:01 +0200
committerCarl Hetherington <cth@carlh.net>2025-06-15 20:58:01 +0200
commit115aa573e18f56a18a04a6e4c0c5f69fc335f8c9 (patch)
tree230b1b24eeae1d9ed1b6638b77537640b01e8f48 /test/create_cli_test.cc
parent831cd2e7fca8a4195a1a5fe2f161699b423d3d73 (diff)
Add --fade-{in,out} options to create CLI (#2613).
Diffstat (limited to 'test/create_cli_test.cc')
-rw-r--r--test/create_cli_test.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/create_cli_test.cc b/test/create_cli_test.cc
index 1209f9344..60d708eef 100644
--- a/test/create_cli_test.cc
+++ b/test/create_cli_test.cc
@@ -19,6 +19,7 @@
*/
+#include "lib/audio_content.h"
#include "lib/config.h"
#include "lib/content.h"
#include "lib/create_cli.h"
@@ -297,6 +298,30 @@ BOOST_AUTO_TEST_CASE (create_cli_test)
film = cc.make_film(error);
BOOST_CHECK_EQUAL(film->audio_channels(), 16);
BOOST_CHECK(collected_error.empty());
+
+ cc = run("dcpomatic2_create --channel L --fade-in 0.5 test/data/L.wav --channel R test/data/R.wav");
+ BOOST_CHECK(!cc.error);
+ film = cc.make_film(error);
+ BOOST_REQUIRE_EQUAL(film->content().size(), 2U);
+ BOOST_REQUIRE(film->content()[0]->audio);
+ BOOST_REQUIRE(film->content()[1]->audio);
+ BOOST_CHECK(film->content()[0]->audio->fade_in() == dcpomatic::ContentTime::from_seconds(0.5));
+ BOOST_CHECK(film->content()[0]->audio->fade_out() == dcpomatic::ContentTime{});
+ BOOST_CHECK(film->content()[1]->audio->fade_in() == dcpomatic::ContentTime{});
+ BOOST_CHECK(film->content()[1]->audio->fade_out() == dcpomatic::ContentTime{});
+ BOOST_CHECK(collected_error.empty());
+
+ cc = run("dcpomatic2_create --fade-out 0.25 test/data/L.wav --fade-in 1 test/data/red_24.mp4");
+ BOOST_CHECK(!cc.error);
+ film = cc.make_film(error);
+ BOOST_REQUIRE_EQUAL(film->content().size(), 2U);
+ BOOST_REQUIRE(film->content()[1]->audio);
+ BOOST_CHECK(film->content()[1]->audio->fade_in() == dcpomatic::ContentTime{});
+ BOOST_CHECK(film->content()[1]->audio->fade_out() == dcpomatic::ContentTime::from_seconds(0.25));
+ BOOST_REQUIRE(film->content()[0]->video);
+ BOOST_CHECK(film->content()[0]->video->fade_in() == 24);
+ BOOST_CHECK(film->content()[0]->video->fade_out() == 0);
+ BOOST_CHECK(collected_error.empty());
}