X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Faudio_mapping.cc;fp=src%2Flib%2Faudio_mapping.cc;h=b3757c5f1be9bd2fefc2a38199215201cde2cf11;hp=7d7e9f82863794b6495f368a677402793d8b5160;hb=8102046b2f29e0c7b234c29bf204b056cb30e64f;hpb=3574212ee42b2bd924eb95d5c0f4f69ec9e0a2f0 diff --git a/src/lib/audio_mapping.cc b/src/lib/audio_mapping.cc index 7d7e9f828..b3757c5f1 100644 --- a/src/lib/audio_mapping.cc +++ b/src/lib/audio_mapping.cc @@ -22,6 +22,7 @@ #include #include "audio_mapping.h" #include "util.h" +#include "md5_digester.h" using std::list; using std::cout; @@ -126,3 +127,20 @@ AudioMapping::as_xml (xmlpp::Node* node) const } } } + +/** @return a string which is unique for a given AudioMapping configuration, for + * differentiation between different AudioMappings. + */ +string +AudioMapping::digest () const +{ + MD5Digester digester; + digester.add (_content_channels); + for (int i = 0; i < _content_channels; ++i) { + for (int j = 0; j < MAX_DCP_AUDIO_CHANNELS; ++j) { + digester.add (_gain[i][j]); + } + } + + return digester.get (); +}