return Channel::HI;
} else if (id == "vin" || id == "vi-n") {
return Channel::VI;
+ } else if (id == "lc") {
+ return Channel::LC;
+ } else if (id == "rc") {
+ return Channel::RC;
} else if (id == "lrs" || id == "lsr") {
return Channel::BSL;
} else if (id == "rrs" || id == "rsr") {
return Channel::BSR;
- } else if (id == "dbox") {
+ } else if (id == "dbox" || id == "mtn") {
return Channel::MOTION_DATA;
} else if (id == "sync" || id == "fsksync") {
return Channel::SYNC_SIGNAL;
RS = 5, ///< right surround
HI = 6,
VI = 7,
- /* 8 and 9 are not used */
+ LC = 8, ///< not used, but referred to in MainSoundConfiguration in some CPLs
+ RC = 9, ///< not used, but referred to in MainSoundConfiguration in some CPLs
BSL = 10,
BSR = 11,
MOTION_DATA = 12,
}
+BOOST_AUTO_TEST_CASE(main_sound_configuration_test6)
+{
+ dcp::MainSoundConfiguration msc("WTF/L,R,C,LFE,LsLss,RsRss,HI,VIN,Lc,Rc,Lrs,Rrs,Mtn,FSKSync,SLVS,-");
+ BOOST_CHECK_EQUAL(msc.channels(), 16);
+ BOOST_CHECK_EQUAL(msc.field(), dcp::MCASoundField::OTHER);
+ BOOST_CHECK_EQUAL(msc.mapping(0).get(), dcp::Channel::LEFT);
+ BOOST_CHECK_EQUAL(msc.mapping(1).get(), dcp::Channel::RIGHT);
+ BOOST_CHECK_EQUAL(msc.mapping(2).get(), dcp::Channel::CENTRE);
+ BOOST_CHECK_EQUAL(msc.mapping(3).get(), dcp::Channel::LFE);
+ BOOST_CHECK_EQUAL(msc.mapping(4).get(), dcp::Channel::LS);
+ BOOST_CHECK_EQUAL(msc.mapping(5).get(), dcp::Channel::RS);
+ BOOST_CHECK_EQUAL(msc.mapping(6).get(), dcp::Channel::HI);
+ BOOST_CHECK_EQUAL(msc.mapping(7).get(), dcp::Channel::VI);
+ BOOST_CHECK_EQUAL(msc.mapping(8).get(), dcp::Channel::LC);
+ BOOST_CHECK_EQUAL(msc.mapping(9).get(), dcp::Channel::RC);
+ BOOST_CHECK_EQUAL(msc.mapping(10).get(), dcp::Channel::BSL);
+ BOOST_CHECK_EQUAL(msc.mapping(11).get(), dcp::Channel::BSR);
+ BOOST_CHECK_EQUAL(msc.mapping(12).get(), dcp::Channel::MOTION_DATA);
+ BOOST_CHECK_EQUAL(msc.mapping(13).get(), dcp::Channel::SYNC_SIGNAL);
+ BOOST_CHECK_EQUAL(msc.mapping(14).get(), dcp::Channel::SIGN_LANGUAGE);
+ BOOST_CHECK(!msc.mapping(15));
+}
+
+
/* 482-12 says that implementations may use case-insensitive comparisons for the channel identifiers,
* and there is one DCP in the private test suite (made by Disney) that uses LS for left surround.
*/