Allow specification of channels that need a MCASubDescriptor.
[libdcp.git] / src / sound_asset.h
index e9a2736d4298c9ff186adab4b62989692a25feb2..55669c2fee43ca489d872a926f86f0ebd865d8a5 100644 (file)
@@ -75,7 +75,26 @@ public:
        explicit SoundAsset (boost::filesystem::path file);
        SoundAsset (Fraction edit_rate, int sampling_rate, int channels, LanguageTag language, Standard standard);
 
-       std::shared_ptr<SoundAssetWriter> start_write(boost::filesystem::path file, bool atmos_sync = false, bool include_mca_subdescriptors = true);
+       enum class AtmosSync {
+               ENABLED,
+               DISABLED
+       };
+
+       enum class MCASubDescriptors {
+               ENABLED,
+               DISABLED
+       };
+
+       /** @param extra_active_channels list of channels that are active in the asset, other than the basic 5.1
+        *  which are assumed always to be active.
+        */
+       std::shared_ptr<SoundAssetWriter> start_write(
+               boost::filesystem::path file,
+               std::vector<dcp::Channel> extra_active_channels,
+               AtmosSync atmos_sync,
+               MCASubDescriptors mca_subdescriptors
+               );
+
        std::shared_ptr<SoundAssetReader> start_read () const;
 
        bool equals (