+ for (int i = 0; i < _input_channels; ++i) {
+ for (int j = 0; j < _output_channels; ++j) {
+ _gain[i][j] = 0;
+ }
+ }
+}
+
+struct ChannelRegex
+{
+ ChannelRegex (string regex_, int channel_)
+ : regex (regex_)
+ , channel (channel_)
+ {}
+
+ string regex;
+ int channel;
+};
+
+void
+AudioMapping::make_default (AudioProcessor const * processor, optional<boost::filesystem::path> filename)
+{
+ static ChannelRegex const regex[] = {
+ ChannelRegex(".*[\\._-]L[\\._-].*", 0),
+ ChannelRegex(".*[\\._-]R[\\._-].*", 1),
+ ChannelRegex(".*[\\._-]C[\\._-].*", 2),
+ ChannelRegex(".*[\\._-]Lfe[\\._-].*", 3),
+ ChannelRegex(".*[\\._-]LFE[\\._-].*", 3),
+ ChannelRegex(".*[\\._-]Lss[\\._-].*", 4),
+ ChannelRegex(".*[\\._-]Lsr[\\._-].*", 6),
+ ChannelRegex(".*[\\._-]Ls[\\._-].*", 4),
+ ChannelRegex(".*[\\._-]Rss[\\._-].*", 5),
+ ChannelRegex(".*[\\._-]Rsr[\\._-].*", 7),
+ ChannelRegex(".*[\\._-]Rs[\\._-].*", 5),
+ };
+
+ static int const regexes = sizeof(regex) / sizeof(*regex);
+
+ if (processor) {
+ processor->make_audio_mapping_default (*this);