dcpomatic.git
16 months agoCheck for playlist directory on new playlist, rather than save.
Carl Hetherington [Thu, 1 Dec 2022 19:24:56 +0000 (20:24 +0100)]
Check for playlist directory on new playlist, rather than save.

16 months agoAdd bind().
Carl Hetherington [Thu, 1 Dec 2022 19:16:28 +0000 (20:16 +0100)]
Add bind().

16 months agoSet Delete button sensitivity correctly.
Carl Hetherington [Thu, 1 Dec 2022 19:13:14 +0000 (20:13 +0100)]
Set Delete button sensitivity correctly.

16 months agoExtract selected().
Carl Hetherington [Thu, 1 Dec 2022 19:12:56 +0000 (20:12 +0100)]
Extract selected().

16 months agoSetup editor sensitivity on startup.
Carl Hetherington [Thu, 1 Dec 2022 19:04:32 +0000 (20:04 +0100)]
Setup editor sensitivity on startup.

16 months agoDon't display first playlist on startup.
Carl Hetherington [Thu, 1 Dec 2022 19:02:09 +0000 (20:02 +0100)]
Don't display first playlist on startup.

16 months agoSave playlist when content is added, moved or removed.
Carl Hetherington [Thu, 1 Dec 2022 19:00:09 +0000 (20:00 +0100)]
Save playlist when content is added, moved or removed.

16 months agoRemove unnecessary non-const operator[].
Carl Hetherington [Thu, 1 Dec 2022 10:52:54 +0000 (11:52 +0100)]
Remove unnecessary non-const operator[].

16 months agoAdd and use SPL::swap().
Carl Hetherington [Thu, 1 Dec 2022 10:52:33 +0000 (11:52 +0100)]
Add and use SPL::swap().

16 months agoCleanup: white space.
Carl Hetherington [Thu, 1 Dec 2022 10:51:54 +0000 (11:51 +0100)]
Cleanup: white space.

16 months agoGeneralise the Changed message from SPL.
Carl Hetherington [Thu, 1 Dec 2022 10:34:09 +0000 (11:34 +0100)]
Generalise the Changed message from SPL.

16 months agoEscape entities just before Pango rendering (#2382). v2.16.35
Carl Hetherington [Wed, 30 Nov 2022 21:08:00 +0000 (22:08 +0100)]
Escape entities just before Pango rendering (#2382).

Previously, text coming out of the player would have things like
& escaped to &.  This escaping is also done by libxml++ when
writing XML, so doing it in the player would mean it was done
twice.

We do, however, need to escape things before passing them to Pango
as otherwise it gives errors and renders nothing for the line.

Here we move the escaping to just before the rendering, meaning
that in the reset of DoM we should pass unescaped strings around.

16 months agoAdd some failing tests.
Carl Hetherington [Wed, 30 Nov 2022 15:20:10 +0000 (16:20 +0100)]
Add some failing tests.

16 months agoSupporters update.
Carl Hetherington [Wed, 30 Nov 2022 23:41:18 +0000 (00:41 +0100)]
Supporters update.

16 months agoAdd default release territory configuration (#2375).
Carl Hetherington [Mon, 28 Nov 2022 23:06:29 +0000 (00:06 +0100)]
Add default release territory configuration (#2375).

16 months agoExtract RegionSubtagWidget.
Carl Hetherington [Mon, 28 Nov 2022 21:10:44 +0000 (22:10 +0100)]
Extract RegionSubtagWidget.

16 months agoAdd some comments.
Carl Hetherington [Thu, 24 Nov 2022 21:19:24 +0000 (22:19 +0100)]
Add some comments.

16 months agoAdd default audio language configuration (#2375).
Carl Hetherington [Wed, 23 Nov 2022 00:05:41 +0000 (01:05 +0100)]
Add default audio language configuration (#2375).

16 months agoRemove default container configuration option.
Carl Hetherington [Tue, 22 Nov 2022 23:01:54 +0000 (00:01 +0100)]
Remove default container configuration option.

I think this is basically useless now that DoM guesses a good container
when the first video is added.  It made more sense before we did that.

16 months agoSupporters update. v2.16.34
Carl Hetherington [Sat, 26 Nov 2022 17:41:20 +0000 (18:41 +0100)]
Supporters update.

16 months agoReturn AVERROR_EOF from the avio_read method when appropriate.
Carl Hetherington [Sat, 1 Oct 2022 18:11:40 +0000 (20:11 +0200)]
Return AVERROR_EOF from the avio_read method when appropriate.

16 months agoFix audio glitches when merging resampled audio (#2373).
Carl Hetherington [Tue, 22 Nov 2022 01:16:40 +0000 (02:16 +0100)]
Fix audio glitches when merging resampled audio (#2373).

16 months agoNoisy change to get film into AudioContent::modify_trim_start().
Carl Hetherington [Tue, 22 Nov 2022 01:16:16 +0000 (02:16 +0100)]
Noisy change to get film into AudioContent::modify_trim_start().

16 months agoRemove some backwards compatibility that will cause problems in an upcoming commit.
Carl Hetherington [Tue, 22 Nov 2022 00:48:37 +0000 (01:48 +0100)]
Remove some backwards compatibility that will cause problems in an upcoming commit.

16 months agoAdd another test, including a frame rate change.
Carl Hetherington [Tue, 22 Nov 2022 00:29:15 +0000 (01:29 +0100)]
Add another test, including a frame rate change.

16 months agoGive a slightly better error message in a failing test.
Carl Hetherington [Tue, 22 Nov 2022 00:28:24 +0000 (01:28 +0100)]
Give a slightly better error message in a failing test.

16 months agoAdd failing test for #2373.
Carl Hetherington [Mon, 21 Nov 2022 13:00:17 +0000 (14:00 +0100)]
Add failing test for #2373.

16 months ago_stream_states must be reset on seek otherwise #2368.
Carl Hetherington [Sun, 20 Nov 2022 21:03:38 +0000 (22:03 +0100)]
_stream_states must be reset on seek otherwise #2368.

16 months agoFix sound corruption with multiple sound files (#2368).
Carl Hetherington [Sat, 19 Nov 2022 16:16:38 +0000 (17:16 +0100)]
Fix sound corruption with multiple sound files (#2368).

last_push_end would be initialised to the position of the content,
meaning that content at (for example) 60s into the project would
be treated as the leader, and content much earlier would then be
considered finished by the code which checks ignore_streams_behind
(as its last push was more then 5s before the leader).

This caused audio corruption, shown up by the test here.

16 months agoCleanup: use dcp_file().
Carl Hetherington [Sat, 19 Nov 2022 16:16:17 +0000 (17:16 +0100)]
Cleanup: use dcp_file().

16 months agoMore warning fixes.
Carl Hetherington [Fri, 25 Nov 2022 15:29:17 +0000 (16:29 +0100)]
More warning fixes.

16 months agoMore warning fixes.
Carl Hetherington [Fri, 25 Nov 2022 14:35:38 +0000 (15:35 +0100)]
More warning fixes.

16 months agoFix more warnings.
Carl Hetherington [Fri, 25 Nov 2022 08:56:23 +0000 (09:56 +0100)]
Fix more warnings.

16 months agoFix warnings.
Carl Hetherington [Thu, 24 Nov 2022 23:43:28 +0000 (00:43 +0100)]
Fix warnings.

16 months agoAllow a slightly worrying amount of error so that the Windows tests
Carl Hetherington [Wed, 23 Nov 2022 23:38:58 +0000 (00:38 +0100)]
Allow a slightly worrying amount of error so that the Windows tests
that rely on font metrics still pass.

16 months agoBump libdcp for new equality option for subtitles.
Carl Hetherington [Thu, 24 Nov 2022 09:20:19 +0000 (10:20 +0100)]
Bump libdcp for new equality option for subtitles.

16 months agoExtract RegionSubtagDialog to its own files.
Carl Hetherington [Thu, 24 Nov 2022 22:56:38 +0000 (23:56 +0100)]
Extract RegionSubtagDialog to its own files.

16 months agoExtract LanguageSubtagPanel to its own files.
Carl Hetherington [Thu, 24 Nov 2022 22:45:31 +0000 (23:45 +0100)]
Extract LanguageSubtagPanel to its own files.

16 months agoExtract SubtagListCtrl to its own files.
Carl Hetherington [Thu, 24 Nov 2022 22:30:01 +0000 (23:30 +0100)]
Extract SubtagListCtrl to its own files.

16 months agoFix player config window on macOS (#2376).
Carl Hetherington [Tue, 22 Nov 2022 23:31:41 +0000 (00:31 +0100)]
Fix player config window on macOS (#2376).

16 months agoFix crash when adding cinemas while a search is in force (#2378).
Carl Hetherington [Wed, 23 Nov 2022 20:20:14 +0000 (21:20 +0100)]
Fix crash when adding cinemas while a search is in force (#2378).

16 months agoCleanup: extract sorted_cinemas().
Carl Hetherington [Wed, 23 Nov 2022 20:03:59 +0000 (21:03 +0100)]
Cleanup: extract sorted_cinemas().

16 months agoCleanup: const correctness.
Carl Hetherington [Wed, 23 Nov 2022 20:03:52 +0000 (21:03 +0100)]
Cleanup: const correctness.

16 months agoCleanup: add convert_to_lower() and matches_search().
Carl Hetherington [Wed, 23 Nov 2022 19:41:16 +0000 (20:41 +0100)]
Cleanup: add convert_to_lower() and matches_search().

16 months agoBe a bit more defensive in a test that is failing on Windows.
Carl Hetherington [Tue, 22 Nov 2022 22:18:04 +0000 (23:18 +0100)]
Be a bit more defensive in a test that is failing on Windows.

16 months agoBump private git so that we use Liberation Sans rather than Arial for a subtitle...
Carl Hetherington [Tue, 22 Nov 2022 20:03:34 +0000 (21:03 +0100)]
Bump private git so that we use Liberation Sans rather than Arial for a subtitle test.

16 months agoOnly check test private data if --check is passed.
Carl Hetherington [Tue, 22 Nov 2022 20:01:33 +0000 (21:01 +0100)]
Only check test private data if --check is passed.

16 months agoCheck that the private test data repo is as we expect before running tests on Linux...
Carl Hetherington [Tue, 22 Nov 2022 11:22:43 +0000 (12:22 +0100)]
Check that the private test data repo is as we expect before running tests on Linux/macOS.

16 months agoFix some missing test reference updates for vpos changes.
Carl Hetherington [Mon, 21 Nov 2022 23:43:51 +0000 (00:43 +0100)]
Fix some missing test reference updates for vpos changes.

16 months agoFix test/data detachment SNAFU.
Carl Hetherington [Mon, 21 Nov 2022 22:02:38 +0000 (23:02 +0100)]
Fix test/data detachment SNAFU.

16 months agoFix subtitle vertical position (#2367).
Carl Hetherington [Fri, 18 Nov 2022 09:56:42 +0000 (10:56 +0100)]
Fix subtitle vertical position (#2367).

Previously we would not account for the differences in what vertical
position means between Interop and SMPTE.  For interop, vertical
position is the distance from the reference point to the text
baseline, whereas for SMPTE it is the distance from the reference
point to the top/middle/bottom of the subtitle (depending on the
reference).

This caused differences between the preview and the DCP for some
cases (notably, using SRT/SSA and making Interop DCPs, or converting
Interop DCP subs to SMPTE, or vice versa).

16 months agoClick on the timeline time axis view moves the playhead (#2369).
Carl Hetherington [Sun, 20 Nov 2022 23:26:10 +0000 (00:26 +0100)]
Click on the timeline time axis view moves the playhead (#2369).

16 months agoFix TimelineTimeAxisView::bbox() to be correct.
Carl Hetherington [Sun, 20 Nov 2022 23:24:41 +0000 (00:24 +0100)]
Fix TimelineTimeAxisView::bbox() to be correct.

16 months agoMove y_pos to TimelineView.
Carl Hetherington [Sun, 20 Nov 2022 23:24:31 +0000 (00:24 +0100)]
Move y_pos to TimelineView.

16 months agoRemove unused line.
Carl Hetherington [Sun, 20 Nov 2022 23:24:04 +0000 (00:24 +0100)]
Remove unused line.

17 months agoBundle dcpkdm from libdcp as dcpomatic2_kdm_inspect (#2366). v2.16.33
Carl Hetherington [Tue, 15 Nov 2022 22:14:56 +0000 (23:14 +0100)]
Bundle dcpkdm from libdcp as dcpomatic2_kdm_inspect (#2366).

17 months agoSupporters update.
Carl Hetherington [Wed, 16 Nov 2022 08:24:16 +0000 (09:24 +0100)]
Supporters update.

17 months agoAdd comment to try to clarify _dcp_content_types a little for translators.
Carl Hetherington [Tue, 15 Nov 2022 22:54:08 +0000 (23:54 +0100)]
Add comment to try to clarify _dcp_content_types a little for translators.

17 months agoAdd David Perrenoud to translators list.
Carl Hetherington [Tue, 15 Nov 2022 22:09:15 +0000 (23:09 +0100)]
Add David Perrenoud to translators list.

17 months agoUpdated fr_FR translation from David Perrenoud.
David Perrenoud [Tue, 15 Nov 2022 17:02:44 +0000 (18:02 +0100)]
Updated fr_FR translation from David Perrenoud.

17 months agoImprove flushing behaviour when there is a lot of space to fill (#2364).
Carl Hetherington [Mon, 14 Nov 2022 23:44:37 +0000 (00:44 +0100)]
Improve flushing behaviour when there is a lot of space to fill (#2364).

Previously a call to flush() could result in a lot of audio being
emitted from the decoder (if there is a big gap between the end
of the audio and the video).  This would end up being emitted in
one chunk from the player, crashing the audio analyser with an OOM
in some cases.

17 months agoClarify one log message and add another.
Carl Hetherington [Mon, 14 Nov 2022 23:43:33 +0000 (00:43 +0100)]
Clarify one log message and add another.

17 months agoAdd failing test for #2364.
Carl Hetherington [Mon, 14 Nov 2022 23:35:20 +0000 (00:35 +0100)]
Add failing test for #2364.

17 months agoBasic WebVTT subtitle support (#1361).
Carl Hetherington [Sun, 13 Nov 2022 23:26:48 +0000 (00:26 +0100)]
Basic WebVTT subtitle support (#1361).

17 months agoCleanup: whitespace.
Carl Hetherington [Sat, 12 Nov 2022 00:11:53 +0000 (01:11 +0100)]
Cleanup: whitespace.

17 months agoFix macOS build.
Carl Hetherington [Thu, 10 Nov 2022 22:48:46 +0000 (23:48 +0100)]
Fix macOS build.

17 months agoBump libsub for fix unicode LINE SEPARATOR in subtitles.
Carl Hetherington [Thu, 10 Nov 2022 10:29:50 +0000 (11:29 +0100)]
Bump libsub for fix unicode LINE SEPARATOR in subtitles.

17 months agoFix uninitialised variable.
Carl Hetherington [Wed, 9 Nov 2022 23:08:19 +0000 (00:08 +0100)]
Fix uninitialised variable.

17 months agoFix error message.
Carl Hetherington [Sun, 6 Nov 2022 22:54:59 +0000 (23:54 +0100)]
Fix error message.

17 months agoCleanup: J2KEncoder does not need enable_shared_from_this.
Carl Hetherington [Sun, 6 Nov 2022 21:00:55 +0000 (22:00 +0100)]
Cleanup: J2KEncoder does not need enable_shared_from_this.

17 months agoCleanup: Player does not need enable_shared_from_this.
Carl Hetherington [Sat, 5 Nov 2022 20:37:10 +0000 (21:37 +0100)]
Cleanup: Player does not need enable_shared_from_this.

17 months agoCleanup: remove unnecessary explicit.
Carl Hetherington [Wed, 19 Oct 2022 20:31:12 +0000 (22:31 +0200)]
Cleanup: remove unnecessary explicit.

17 months agoCleanup: use default value in header.
Carl Hetherington [Tue, 6 Sep 2022 19:02:42 +0000 (21:02 +0200)]
Cleanup: use default value in header.

17 months agoCleanup: better variable name.
Carl Hetherington [Tue, 6 Sep 2022 18:50:24 +0000 (20:50 +0200)]
Cleanup: better variable name.

17 months agoHide the endless stream of warnings from wx/GTK.
Carl Hetherington [Sun, 6 Nov 2022 22:44:53 +0000 (23:44 +0100)]
Hide the endless stream of warnings from wx/GTK.

17 months agoExtract ImageStore.
Carl Hetherington [Sun, 6 Nov 2022 22:44:33 +0000 (23:44 +0100)]
Extract ImageStore.

17 months agoStrictly I think we should be putting each component of an image into _pending_images.
Carl Hetherington [Sun, 6 Nov 2022 22:19:00 +0000 (23:19 +0100)]
Strictly I think we should be putting each component of an image into _pending_images.
We probably get away with only keeping component 0 but I think that could perhaps lead
to use-after-free as the Image for components 1 and 2 could go away a bit before
it should.

17 months agoFix build on macOS and Windows.
Carl Hetherington [Fri, 4 Nov 2022 10:40:23 +0000 (11:40 +0100)]
Fix build on macOS and Windows.

17 months agoBump libdcp for subtitle Z-position fixes (#2356).
Carl Hetherington [Wed, 2 Nov 2022 21:39:49 +0000 (22:39 +0100)]
Bump libdcp for subtitle Z-position fixes (#2356).

17 months agoFix test references for passive option change.
Carl Hetherington [Thu, 3 Nov 2022 08:24:40 +0000 (09:24 +0100)]
Fix test references for passive option change.

17 months agoCleanup: use new CheckBox::bind().
Carl Hetherington [Tue, 1 Nov 2022 23:18:56 +0000 (00:18 +0100)]
Cleanup: use new CheckBox::bind().

17 months agoEnable some debug logging for TMS upload.
Carl Hetherington [Tue, 1 Nov 2022 20:11:40 +0000 (21:11 +0100)]
Enable some debug logging for TMS upload.

17 months agoAdd passive mode option to TMS upload.
Carl Hetherington [Tue, 1 Nov 2022 19:58:10 +0000 (20:58 +0100)]
Add passive mode option to TMS upload.

Disabling this fixes TMS upload with some FTP servers
(reported on a Synology NAS).

17 months agoAdd get() and bind() to CheckBox.
Carl Hetherington [Tue, 1 Nov 2022 19:57:55 +0000 (20:57 +0100)]
Add get() and bind() to CheckBox.

17 months agoThrow exception if av_frame_alloc() fails.
Carl Hetherington [Thu, 27 Oct 2022 21:13:24 +0000 (23:13 +0200)]
Throw exception if av_frame_alloc() fails.

17 months agoAdd tooltip to player DCP name with path details.
Carl Hetherington [Thu, 27 Oct 2022 08:54:27 +0000 (10:54 +0200)]
Add tooltip to player DCP name with path details.

17 months agoFix player with high-frame-rate DCPs.
Carl Hetherington [Thu, 27 Oct 2022 08:41:45 +0000 (10:41 +0200)]
Fix player with high-frame-rate DCPs.

17 months agoSupporters update. v2.16.32
Carl Hetherington [Wed, 26 Oct 2022 17:47:03 +0000 (19:47 +0200)]
Supporters update.

17 months agoFix player being destroyed while the butler is still using it.
Carl Hetherington [Wed, 26 Oct 2022 17:45:11 +0000 (19:45 +0200)]
Fix player being destroyed while the butler is still using it.

17 months agoRemove unnecessary copy constructors (default ones are OK).
Carl Hetherington [Wed, 26 Oct 2022 17:41:23 +0000 (19:41 +0200)]
Remove unnecessary copy constructors (default ones are OK).

17 months agoAllow move construction of Player.
Carl Hetherington [Wed, 26 Oct 2022 17:41:12 +0000 (19:41 +0200)]
Allow move construction of Player.

17 months agoAllow move construction of AudioMerger.
Carl Hetherington [Wed, 26 Oct 2022 13:16:36 +0000 (15:16 +0200)]
Allow move construction of AudioMerger.

17 months agoAllow move construction of ActiveText.
Carl Hetherington [Wed, 26 Oct 2022 13:16:30 +0000 (15:16 +0200)]
Allow move construction of ActiveText.

17 months agoFurther test/data SNAFU.
Carl Hetherington [Tue, 25 Oct 2022 19:24:11 +0000 (21:24 +0200)]
Further test/data SNAFU.

17 months agoFix mangling of the v2.16.x test/data commit somewhere along the line.
Carl Hetherington [Tue, 25 Oct 2022 17:38:11 +0000 (19:38 +0200)]
Fix mangling of the v2.16.x test/data commit somewhere along the line.

17 months agoHopefully fix crash when the same frame is encoded twice.
Carl Hetherington [Mon, 24 Oct 2022 18:37:02 +0000 (20:37 +0200)]
Hopefully fix crash when the same frame is encoded twice.

Previously if some frame X was passed to the encoder twice
I think this would happen:

X1 written; X stored to _pending_images
X2 written; _pending_images remains the same
X1 encode finishes; X is discarded from _pending_images
Data for X2 is read by the encoder but was just freed

I think this might have resulted in intermittent crashes, which were
fairly common in the 2.17.x branch with the test
ffmpeg_encoder_prores_regression_1

But I didn't conclusively prove it.

17 months agoFix missing switch of Append -> add (#2358).
Carl Hetherington [Mon, 24 Oct 2022 22:16:44 +0000 (00:16 +0200)]
Fix missing switch of Append -> add (#2358).

17 months agoAdd Daniel Courville to testers.
Carl Hetherington [Sun, 23 Oct 2022 19:50:18 +0000 (21:50 +0200)]
Add Daniel Courville to testers.

17 months agoFix colour range property for subsampled sources (#2357).
Carl Hetherington [Fri, 21 Oct 2022 10:55:44 +0000 (12:55 +0200)]
Fix colour range property for subsampled sources (#2357).

18 months agoFix macOS 10.8 build. v2.16.31
Carl Hetherington [Wed, 19 Oct 2022 12:23:19 +0000 (14:23 +0200)]
Fix macOS 10.8 build.