No-op: remove all trailing whitespace.
[dcpomatic.git] / src / lib / audio_mapping.h
index fdb23df8bc3d1f039b69a2830f2c0f5e3193d067..ca9b9847fe8f9bc7002ca268014273b934f48800 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -38,38 +38,42 @@ namespace cxml {
 }
 
 /** @class AudioMapping.
- *  @brief A many-to-many mapping from some content channels to DCP channels.
- *
- *  The number of content channels is set on construction and fixed,
- *  and then each of those content channels are mapped to each DCP channel
- *  by a linear gain.
+ *  @brief A many-to-many mapping of audio channels.
  */
 class AudioMapping
 {
 public:
        AudioMapping ();
-       AudioMapping (int channels);
+       AudioMapping (int input_channels, int output_channels);
        AudioMapping (cxml::ConstNodePtr, int);
 
        /* Default copy constructor is fine */
-       
+
        void as_xml (xmlpp::Node *) const;
 
-       void make_default ();
+       void make_zero ();
+
+       void set (int input_channel, int output_channel, float);
+       float get (int input_channel, int output_channel) const;
 
-       void set (int, dcp::Channel, float);
-       float get (int, dcp::Channel) const;
+       int input_channels () const {
+               return _input_channels;
+       }
 
-       int content_channels () const {
-               return _content_channels;
+       int output_channels () const {
+               return _output_channels;
        }
 
        std::string digest () const;
-       
+
+       std::list<int> mapped_output_channels () const;
+       void unmap_all ();
+
 private:
-       void setup (int);
-       
-       int _content_channels;
+       void setup (int input_channels, int output_channels);
+
+       int _input_channels;
+       int _output_channels;
        std::vector<std::vector<float> > _gain;
 };