summaryrefslogtreecommitdiff
path: root/test/create_cli_test.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-02-09 21:27:54 +0100
committerCarl Hetherington <cth@carlh.net>2025-02-09 21:27:54 +0100
commit1ce09f162354c2933eece74bb0935638a20d1cd9 (patch)
tree9383ad6d4b3667eece5528bfd0b7c245a22b403a /test/create_cli_test.cc
parent0e34bd5aebe27f7cb69abacbbc0523accf14b77d (diff)
Add --audio-channels option to dcpomatic2_create (#2966).
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 7006fa6a0..ac184203d 100644
--- a/test/create_cli_test.cc
+++ b/test/create_cli_test.cc
@@ -196,6 +196,8 @@ BOOST_AUTO_TEST_CASE (create_cli_test)
BOOST_CHECK (*cc.content[1].channel == dcp::Channel::RIGHT);
BOOST_CHECK_EQUAL (cc.content[2].path, "sheila.wav");
BOOST_CHECK (!cc.content[2].channel);
+ auto film = cc.make_film();
+ BOOST_CHECK_EQUAL(film->audio_channels(), 6);
cc = run ("dcpomatic2_create --channel foo fred.wav");
BOOST_REQUIRE (cc.error);
@@ -219,6 +221,29 @@ BOOST_AUTO_TEST_CASE (create_cli_test)
cc = run("dcpomatic2_create -s SMPTE sheila.wav");
BOOST_CHECK(!cc.still_length);
BOOST_CHECK(cc.error);
+
+ cc = run("dcpomatic2_create --channel L fred.wav --channel R jim.wav --channel C sheila.wav --audio-channels 2");
+ BOOST_REQUIRE(cc.error);
+ BOOST_CHECK_EQUAL(*cc.error, "dcpomatic2_create: cannot map audio as requested with only 2 channels");
+
+ cc = run("dcpomatic2_create --channel L fred.wav --channel R jim.wav --channel C sheila.wav --audio-channels 3");
+ BOOST_REQUIRE(cc.error);
+ BOOST_CHECK_EQUAL(*cc.error, "dcpomatic2_create: audio channel count must be even");
+
+ cc = run("dcpomatic2_create --channel L fred.wav --channel R jim.wav --channel C sheila.wav");
+ BOOST_CHECK(!cc.error);
+ film = cc.make_film();
+ BOOST_CHECK_EQUAL(film->audio_channels(), 6);
+
+ cc = run("dcpomatic2_create --channel L fred.wav --channel R jim.wav --channel HI sheila.wav");
+ BOOST_CHECK(!cc.error);
+ film = cc.make_film();
+ BOOST_CHECK_EQUAL(film->audio_channels(), 8);
+
+ cc = run("dcpomatic2_create --channel L fred.wav --channel R jim.wav --channel C sheila.wav --audio-channels 16");
+ BOOST_CHECK(!cc.error);
+ film = cc.make_film();
+ BOOST_CHECK_EQUAL(film->audio_channels(), 16);
}