summaryrefslogtreecommitdiff
path: root/src/lib/audio_mapping.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-06-21 21:10:10 +0200
committerCarl Hetherington <cth@carlh.net>2021-04-25 00:12:02 +0200
commitdd3862c76cc158fe7cda50cfb4ef11d07a2483e2 (patch)
treee75a99e6f821834dca2d70a82922fdef91d8c516 /src/lib/audio_mapping.cc
parent151f5c81fade29e9bebea9904fd85975351b7b78 (diff)
Had a go, gave up.
Diffstat (limited to 'src/lib/audio_mapping.cc')
-rw-r--r--src/lib/audio_mapping.cc30
1 files changed, 24 insertions, 6 deletions
diff --git a/src/lib/audio_mapping.cc b/src/lib/audio_mapping.cc
index 8b9f102a5..2a9366cb6 100644
--- a/src/lib/audio_mapping.cc
+++ b/src/lib/audio_mapping.cc
@@ -254,28 +254,46 @@ AudioMapping::digest () const
}
-list<int>
-AudioMapping::mapped_output_channels () const
+pair<list<int>, list<int>>
+AudioMapping::mapped_channels () const
{
static float const minus_96_db = 0.000015849;
- list<int> mapped;
+ pair<list<int>, list<int>> mapped;
for (auto const& i: _gain) {
for (auto j: dcp::used_audio_channels()) {
if (abs(i[static_cast<int>(j)]) > minus_96_db) {
- mapped.push_back (static_cast<int>(j));
+ mapped.first.push_back (static_cast<int>(i));
+ mapped.second.push_back (static_cast<int>(j));
}
}
}
- mapped.sort ();
- mapped.unique ();
+ mapped.first.sort ();
+ mapped.first.unique ();
+
+ mapped.second.sort ();
+ mapped.second.unique ();
return mapped;
}
+list<int>
+AudioMapping::mapped_input_channels () const
+{
+ return mapped_channels().first;
+}
+
+
+list<int>
+AudioMapping::mapped_output_channels () const
+{
+ return mapped_channels().second;
+}
+
+
void
AudioMapping::unmap_all ()
{