summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-05-16 00:36:43 +0200
committerCarl Hetherington <cth@carlh.net>2022-05-16 21:39:01 +0200
commit78189e9211907aee322f647f333ced87c5140247 (patch)
tree73e1b54e6898e3ea9cf9b91b38ad42d039420ee3 /src/lib
parent194ec286939aba7b0cf24762d03ce6ebfe0b9a9f (diff)
Give subtract() lists for both parameters.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/audio_merger.cc2
-rw-r--r--src/lib/dcpomatic_time.h7
-rw-r--r--src/lib/empty_audio.cc2
3 files changed, 5 insertions, 6 deletions
diff --git a/src/lib/audio_merger.cc b/src/lib/audio_merger.cc
index 0bc1ad008..836da7da3 100644
--- a/src/lib/audio_merger.cc
+++ b/src/lib/audio_merger.cc
@@ -132,7 +132,7 @@ AudioMerger::push (std::shared_ptr<const AudioBuffers> audio, DCPTime time)
}
/* Add the non-overlapping parts */
- for (auto i: subtract(period, periods)) {
+ for (auto i: subtract({period}, periods)) {
auto before = _buffers.end();
auto after = _buffers.end();
for (auto j = _buffers.begin(); j != _buffers.end(); ++j) {
diff --git a/src/lib/dcpomatic_time.h b/src/lib/dcpomatic_time.h
index 9e7191b1e..57ffb1faf 100644
--- a/src/lib/dcpomatic_time.h
+++ b/src/lib/dcpomatic_time.h
@@ -342,14 +342,13 @@ public:
};
-/** @param A Period which is subtracted from.
+/** @param A Periods which are subtracted from, must be in ascending order of start time and must not overlap.
* @param B Periods to subtract from `A', must be in ascending order of start time and must not overlap.
*/
template <class T>
-std::list<TimePeriod<T>> subtract (TimePeriod<T> A, std::list<TimePeriod<T>> const & B)
+std::list<TimePeriod<T>> subtract (std::list<TimePeriod<T>> const & A, std::list<TimePeriod<T>> const & B)
{
- std::list<TimePeriod<T>> result;
- result.push_back (A);
+ std::list<TimePeriod<T>> result = A;
for (auto i: B) {
std::list<TimePeriod<T>> new_result;
diff --git a/src/lib/empty_audio.cc b/src/lib/empty_audio.cc
index a2d914bf9..8f905abd9 100644
--- a/src/lib/empty_audio.cc
+++ b/src/lib/empty_audio.cc
@@ -47,7 +47,7 @@ EmptyAudio::EmptyAudio (shared_ptr<const Film> film, shared_ptr<const Playlist>
}
}
- _periods = subtract (DCPTimePeriod(DCPTime(), length), coalesce(full));
+ _periods = subtract ({DCPTimePeriod(DCPTime(), length)}, coalesce(full));
if (!_periods.empty()) {
_position = _periods.front().from;