Support Dolby-style WAV back surround names when guessing mappings (#2427).
[dcpomatic.git] / src / lib / audio_mapping.cc
index 8b9f102a56fdae460987cac010ee87ab89098178..ca2425862e733dc68acc9a08312f904580d78b99 100644 (file)
 
 #include "audio_mapping.h"
 #include "audio_processor.h"
+#include "constants.h"
+#include "dcpomatic_assert.h"
 #include "digester.h"
-#include "util.h"
-#include "warnings.h"
 #include <dcp/raw_convert.h>
+#include <dcp/warnings.h>
 #include <libcxml/cxml.h>
-DCPOMATIC_DISABLE_WARNINGS
+LIBDCP_DISABLE_WARNINGS
 #include <libxml++/libxml++.h>
-DCPOMATIC_ENABLE_WARNINGS
+LIBDCP_ENABLE_WARNINGS
 #include <boost/regex.hpp>
 #include <iostream>
 
@@ -106,9 +107,11 @@ AudioMapping::make_default (AudioProcessor const * processor, optional<boost::fi
                ChannelRegex(".*[\\._-]LFE[\\._-].*", 3),
                ChannelRegex(".*[\\._-]Lss[\\._-].*", 4),
                ChannelRegex(".*[\\._-]Lsr[\\._-].*", 6),
+               ChannelRegex(".*[\\._-]Lrs[\\._-].*", 6),
                ChannelRegex(".*[\\._-]Ls[\\._-].*", 4),
                ChannelRegex(".*[\\._-]Rss[\\._-].*", 5),
                ChannelRegex(".*[\\._-]Rsr[\\._-].*", 7),
+               ChannelRegex(".*[\\._-]Rrs[\\._-].*", 7),
                ChannelRegex(".*[\\._-]Rs[\\._-].*", 5),
        };
 
@@ -125,7 +128,7 @@ AudioMapping::make_default (AudioProcessor const * processor, optional<boost::fi
                        if (filename) {
                                for (int i = 0; i < regexes; ++i) {
                                        boost::regex e (regex[i].regex, boost::regex::icase);
-                                       if (boost::regex_match(filename->string(), e) && regex[i].channel < output_channels()) {
+                                       if (boost::regex_match(filename->filename().string(), e) && regex[i].channel < output_channels()) {
                                                set (0, regex[i].channel, 1);
                                                guessed = true;
                                        }