diff options
author | Robin Gareus <robin@gareus.org> | 2016-04-01 22:54:00 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-04-01 22:57:56 +0200 |
commit | c25962aa7ed14573de1f7839b00bf67bc9e7e03f (patch) | |
tree | 6cea07d02c16f8fe1c03308f90347f86faacbbbd /libs | |
parent | 91c7845d409665e54d78c9325c36aa8926b82669 (diff) |
add chan-mapping count/size()
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/chan_mapping.h | 2 | ||||
-rw-r--r-- | libs/ardour/chan_mapping.cc | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libs/ardour/ardour/chan_mapping.h b/libs/ardour/ardour/chan_mapping.h index f73408baec..88cdf44408 100644 --- a/libs/ardour/ardour/chan_mapping.h +++ b/libs/ardour/ardour/chan_mapping.h @@ -86,6 +86,8 @@ public: */ bool is_monotonic () const; + uint32_t count () const; + /** Test if this mapping is a subset * @param superset to test against * @returns true if all mapping are also present in the superset diff --git a/libs/ardour/chan_mapping.cc b/libs/ardour/chan_mapping.cc index 6386c2863b..9e69294fdb 100644 --- a/libs/ardour/chan_mapping.cc +++ b/libs/ardour/chan_mapping.cc @@ -184,6 +184,17 @@ ChanMapping::is_identity (ChanCount offset) const return true; } +uint32_t +ChanMapping::count () const +{ + uint32_t rv = 0; + const Mappings& mp (mappings()); + for (Mappings::const_iterator tm = mp.begin(); tm != mp.end(); ++tm) { + rv += tm->second.size (); + } + return rv; +} + } // namespace ARDOUR std::ostream& operator<<(std::ostream& o, const ARDOUR::ChanMapping& cm) |