dcpomatic.git
3 years agoBump libdcp for new method.
Carl Hetherington [Tue, 25 Aug 2020 21:13:14 +0000 (23:13 +0200)]
Bump libdcp for new method.

3 years agoTry to clean up the mess of exporting subtitles when there is
Carl Hetherington [Tue, 25 Aug 2020 20:51:47 +0000 (22:51 +0200)]
Try to clean up the mess of exporting subtitles when there is
one file vs many files (multiple reels or fonts).

3 years agoAdd option to export Interop subs with or without the font file / reference.
Carl Hetherington [Tue, 25 Aug 2020 20:00:06 +0000 (22:00 +0200)]
Add option to export Interop subs with or without the font file / reference.

3 years agoMove the code to find Liberation into util.cc.
Carl Hetherington [Tue, 25 Aug 2020 19:58:48 +0000 (21:58 +0200)]
Move the code to find Liberation into util.cc.

3 years agoRename export dialogue to export video.
Carl Hetherington [Tue, 25 Aug 2020 19:06:53 +0000 (21:06 +0200)]
Rename export dialogue to export video.

3 years agoMove subtitle export to its own dialogue.
Carl Hetherington [Tue, 25 Aug 2020 19:02:00 +0000 (21:02 +0200)]
Move subtitle export to its own dialogue.

3 years agoTidy up resource management of FFmpegFileEncoders so that they
Carl Hetherington [Mon, 17 Aug 2020 14:42:46 +0000 (16:42 +0200)]
Tidy up resource management of FFmpegFileEncoders so that they
are cleaned up correctly when an error occurs.

Adapted from dfac61382f1719f0a879747de43cbc5f9115c2d7 in master.

3 years agoReport better errors when the butler dies.
Carl Hetherington [Mon, 17 Aug 2020 13:44:58 +0000 (15:44 +0200)]
Report better errors when the butler dies.

Adapted from d23f55d8cd73adda823d0a2fcabc129b8845a81 in master.

3 years agoFix refusal to start another audio analysis job after cancelling one. v2.15.98
Carl Hetherington [Fri, 14 Aug 2020 18:28:21 +0000 (20:28 +0200)]
Fix refusal to start another audio analysis job after cancelling one.

3 years agoMissing copy of icons to .app.
Carl Hetherington [Fri, 14 Aug 2020 18:12:28 +0000 (20:12 +0200)]
Missing copy of icons to .app.

3 years agoMake graphics/update fail on error. v2.15.97
Carl Hetherington [Fri, 14 Aug 2020 14:20:55 +0000 (16:20 +0200)]
Make graphics/update fail on error.

3 years agoAdd missing locations icon for macOS player preferences.
Carl Hetherington [Fri, 14 Aug 2020 14:20:45 +0000 (16:20 +0200)]
Add missing locations icon for macOS player preferences.

3 years agoFix white space.
Carl Hetherington [Fri, 14 Aug 2020 13:50:03 +0000 (15:50 +0200)]
Fix white space.

3 years agowxEVT_CREATE appears never to arrive on Windows, so change things v2.15.96
Carl Hetherington [Sat, 8 Aug 2020 22:03:11 +0000 (00:03 +0200)]
wxEVT_CREATE appears never to arrive on Windows, so change things
to create the OpenGL thread on the first paint request.

3 years agoRemove old comment.
Carl Hetherington [Sat, 8 Aug 2020 22:02:57 +0000 (00:02 +0200)]
Remove old comment.

3 years agoDon't call OpenGL functions until the wxGLContext has been created.
Carl Hetherington [Sat, 8 Aug 2020 22:02:25 +0000 (00:02 +0200)]
Don't call OpenGL functions until the wxGLContext has been created.

3 years agoAdd strangely absent private:
Carl Hetherington [Fri, 7 Aug 2020 19:38:49 +0000 (21:38 +0200)]
Add strangely absent private:

3 years agoFix layout bug where the stuff in the content panel would be completely
Carl Hetherington [Fri, 7 Aug 2020 19:37:35 +0000 (21:37 +0200)]
Fix layout bug where the stuff in the content panel would be completely
hidden in some cases (seen on Linux only, I think).

wxDisplay::GetFromWindow sometimes returns -1 (perhaps when multiple
monitors are connected) and we have to set the splitter position
in this case.

3 years agoTone down the disk startup warning a little.
Carl Hetherington [Fri, 7 Aug 2020 11:25:01 +0000 (13:25 +0200)]
Tone down the disk startup warning a little.

3 years agoUse a much bigger block size when calling fwrite(). Each call to fwrite()
Carl Hetherington [Thu, 6 Aug 2020 22:11:38 +0000 (00:11 +0200)]
Use a much bigger block size when calling fwrite().  Each call to fwrite()
writes a few (often around 4) blocks of (I think) directory data to the
drive, so if you only fwrite() one block it ends up writing 1 block of
"payload" and 4 blocks of "admin".  Using bigger blocks makes it faster;
an even bigger block than this makes it a little faster still, but not
significantly.

The extra block writing is seemingly triggered by fwrite() calling
ext4_block_cache_write_back(..., 0). A better fix is probably to call
this another way, at the end of the file copy.

3 years agoCheck that we have a connection to the disk writer before starting to use it in earnest.
Carl Hetherington [Thu, 6 Aug 2020 22:10:59 +0000 (00:10 +0200)]
Check that we have a connection to the disk writer before starting to use it in earnest.

3 years agoFix typo in comment.
Carl Hetherington [Thu, 6 Aug 2020 22:08:17 +0000 (00:08 +0200)]
Fix typo in comment.

3 years agoReduce width of information text in the copy-to-drive job.
Carl Hetherington [Thu, 6 Aug 2020 22:07:46 +0000 (00:07 +0200)]
Reduce width of information text in the copy-to-drive job.

3 years agoTry to fix -Wparentheses error on Centos 8.
Carl Hetherington [Thu, 6 Aug 2020 07:38:23 +0000 (09:38 +0200)]
Try to fix -Wparentheses error on Centos 8.

3 years agoAllow export with one audio stream per channel. v2.15.95
Carl Hetherington [Wed, 5 Aug 2020 16:32:59 +0000 (18:32 +0200)]
Allow export with one audio stream per channel.

3 years agoFix thinko in eaedff2a7877fa4b560e0c65ac13ed3dad9437e5
Carl Hetherington [Wed, 5 Aug 2020 09:47:18 +0000 (11:47 +0200)]
Fix thinko in eaedff2a7877fa4b560e0c65ac13ed3dad9437e5

3 years agoFix typo.
Carl Hetherington [Tue, 4 Aug 2020 22:20:49 +0000 (00:20 +0200)]
Fix typo.

3 years agoRemove some debugging code.
Carl Hetherington [Tue, 4 Aug 2020 22:19:55 +0000 (00:19 +0200)]
Remove some debugging code.

3 years agoAdd some more OpenGL debugging.
Carl Hetherington [Tue, 4 Aug 2020 22:06:35 +0000 (00:06 +0200)]
Add some more OpenGL debugging.

3 years agoTry to improve layout of the 'write to' radios in the KDM dialog (especially on Windows).
Carl Hetherington [Tue, 4 Aug 2020 22:00:48 +0000 (00:00 +0200)]
Try to improve layout of the 'write to' radios in the KDM dialog (especially on Windows).

3 years agoFix missing fonts in splash.png and try to prevent graphics update happening with...
Carl Hetherington [Tue, 4 Aug 2020 21:59:19 +0000 (23:59 +0200)]
Fix missing fonts in splash.png and try to prevent graphics update happening with missing fonts.

3 years agoFix flickering of timecode values on Windows.
Carl Hetherington [Tue, 4 Aug 2020 21:40:45 +0000 (23:40 +0200)]
Fix flickering of timecode values on Windows.

3 years agoFix slightly chopped-off subtitles when there are borders.
Carl Hetherington [Mon, 3 Aug 2020 21:08:09 +0000 (23:08 +0200)]
Fix slightly chopped-off subtitles when there are borders.

3 years agoAdd unit test for pulldown detection.
Carl Hetherington [Mon, 3 Aug 2020 07:51:43 +0000 (09:51 +0200)]
Add unit test for pulldown detection.

3 years agoFix number of frames in the pulldown check.
Carl Hetherington [Mon, 3 Aug 2020 07:51:27 +0000 (09:51 +0200)]
Fix number of frames in the pulldown check.

3 years agoFix incorrect string find logic.
Carl Hetherington [Mon, 3 Aug 2020 07:51:12 +0000 (09:51 +0200)]
Fix incorrect string find logic.

3 years agoMerge branch 'v2.15.x' of ssh://git.carlh.net/home/carl/git/dcpomatic into v2.15.x
Carl Hetherington [Mon, 3 Aug 2020 07:16:27 +0000 (09:16 +0200)]
Merge branch 'v2.15.x' of ssh://git.carlh.net/home/carl/git/dcpomatic into v2.15.x

3 years agoDon't terminate if a non-DCP directory is given to Open.
Carl Hetherington [Sun, 2 Aug 2020 21:31:59 +0000 (23:31 +0200)]
Don't terminate if a non-DCP directory is given to Open.

3 years agoDetect soft 2:3 pulldown (telecine) files and decode them at 23.976.
Carl Hetherington [Sun, 2 Aug 2020 20:24:05 +0000 (22:24 +0200)]
Detect soft 2:3 pulldown (telecine) files and decode them at 23.976.

DVD rips from NTSC DVDs are sometimes (always?) encoded using
soft 2:3 pulldown.  The video frames are actually 23.976 but
FFmpeg detects them as 29.97.  With the current approach of the video
decoder ignoring most PTSs and assuming a constant frame rate
it is vital that the file contains the number of frames per second
that the detected frame rate predicts.

This fixes large sync errors with NTSC DVD rips (#1790).

3 years agoTweak link button width on GTK3.
Carl Hetherington [Sun, 2 Aug 2020 20:05:09 +0000 (22:05 +0200)]
Tweak link button width on GTK3.

3 years agoSome tweaks to examine.py
Carl Hetherington [Sat, 1 Aug 2020 22:03:21 +0000 (00:03 +0200)]
Some tweaks to examine.py

3 years agoFix crash on too-early update of closed caption dialog.
Carl Hetherington [Thu, 30 Jul 2020 23:04:43 +0000 (01:04 +0200)]
Fix crash on too-early update of closed caption dialog.

3 years agoDon't display all possible channel checkboxes while the analysis v2.15.94
Carl Hetherington [Wed, 29 Jul 2020 20:30:38 +0000 (22:30 +0200)]
Don't display all possible channel checkboxes while the analysis
is running as clicking the higher ones will cause an assertion
failure.

3 years agoFix memory leak which also causes strange flickering in the audio
Carl Hetherington [Wed, 29 Jul 2020 20:29:45 +0000 (22:29 +0200)]
Fix memory leak which also causes strange flickering in the audio
analysis window while the analysis is running.

3 years agoFix bugs in thread termination causing occasional pthread
Carl Hetherington [Wed, 29 Jul 2020 18:22:54 +0000 (20:22 +0200)]
Fix bugs in thread termination causing occasional pthread
assertion failures.

Before this, it was possible for J2KEncoder::terminate_threads()
to finish without terminating all threads if the thread _running_
terminate_threads() was itself interrupt()ed.

This is because the thread_group::join_all() in terminate_threads()
is an interruption point, so it was possible it not to complete
but instead to throw interrupted_exception.  Then the owning
J2KEncoder would be torn down but the threads would still be running,
causing use-after-frees.

This commit adds some boost::this_thread::disable_interruption
objects to ensure that the owning thread is not interrupted while
it is being destroyed.

Also tidy up code that does this stuff, assuming that it's safe
to not call thread::joinable but instead do

thread.interrupt();
try {
  thread.join();
} catch (...) {}

3 years agoRecover information about closed caption tracks when loading DCPs v2.15.93
Carl Hetherington [Wed, 29 Jul 2020 09:44:05 +0000 (11:44 +0200)]
Recover information about closed caption tracks when loading DCPs
so that they can be displayed.

3 years agoclang doesn't have -Wmaybe-uninitialized v2.15.92
Carl Hetherington [Wed, 29 Jul 2020 07:28:45 +0000 (09:28 +0200)]
clang doesn't have -Wmaybe-uninitialized

3 years agoFix various problems with the closed caption viewer not being updated properly. v2.15.91
Carl Hetherington [Tue, 28 Jul 2020 20:20:19 +0000 (22:20 +0200)]
Fix various problems with the closed caption viewer not being updated properly.

3 years agoSome more warning hiding.
Carl Hetherington [Tue, 28 Jul 2020 20:04:55 +0000 (22:04 +0200)]
Some more warning hiding.

3 years agoBump lib{dcp,sub}.
Carl Hetherington [Tue, 28 Jul 2020 11:03:56 +0000 (13:03 +0200)]
Bump lib{dcp,sub}.

3 years agoGive up trying to be selective with -Wno-maybe-uninitialized
Carl Hetherington [Tue, 28 Jul 2020 10:56:20 +0000 (12:56 +0200)]
Give up trying to be selective with -Wno-maybe-uninitialized

3 years agoPython syntax typo.
Carl Hetherington [Tue, 28 Jul 2020 10:04:02 +0000 (12:04 +0200)]
Python syntax typo.

3 years agoTrying to create export audio encoders with between 9 and 15 channels
Carl Hetherington [Mon, 27 Jul 2020 21:52:08 +0000 (23:52 +0200)]
Trying to create export audio encoders with between 9 and 15 channels
inclusive fails, at least for AAC.  There's probably a way around
this with some FFmpeg-cleverness but for now let's just export any
project with more than 8 channels as 16.

You could argue that we should offer choices to, for example
export 7.1/HI/VN as 7.1 but that sounds fiddly.

Fixes #1786.

3 years agoAdd a test to trigger #1786 - crash when exporting 7.1 project to MP4.
Carl Hetherington [Mon, 27 Jul 2020 21:48:05 +0000 (23:48 +0200)]
Add a test to trigger #1786 - crash when exporting 7.1 project to MP4.

3 years agoExpand use of -Wno-maybe-uninitialized.
Carl Hetherington [Tue, 28 Jul 2020 09:23:08 +0000 (11:23 +0200)]
Expand use of -Wno-maybe-uninitialized.

3 years agoMerge branch 'warnings' into v2.15.x.
Carl Hetherington [Mon, 27 Jul 2020 19:47:26 +0000 (21:47 +0200)]
Merge branch 'warnings' into v2.15.x.

Clean up our handling of compiler warnings in a variety of ways,
and use #pragma rather than -Wno to only disable warnings where
necessary.

3 years agoWork around a GCC bug related to Wmaybe-initialized.
Carl Hetherington [Mon, 27 Jul 2020 17:42:46 +0000 (19:42 +0200)]
Work around a GCC bug related to Wmaybe-initialized.

3 years agoFix some unused variable warnings on macOS.
Carl Hetherington [Mon, 27 Jul 2020 09:05:08 +0000 (11:05 +0200)]
Fix some unused variable warnings on macOS.

3 years agoTest: remove some more Wno flags.
Carl Hetherington [Mon, 27 Jul 2020 08:24:57 +0000 (10:24 +0200)]
Test: remove some more Wno flags.

3 years agoDon't try to hide Wdeprecated-copy when it doesn't exist.
Carl Hetherington [Mon, 27 Jul 2020 08:24:50 +0000 (10:24 +0200)]
Don't try to hide Wdeprecated-copy when it doesn't exist.

3 years agoHide warnings triggered by Ubuntu 20.04's gcc.
Carl Hetherington [Sun, 26 Jul 2020 23:35:57 +0000 (01:35 +0200)]
Hide warnings triggered by Ubuntu 20.04's gcc.

3 years agoHide some windows warnings.
Carl Hetherington [Sun, 26 Jul 2020 21:52:23 +0000 (23:52 +0200)]
Hide some windows warnings.

3 years agoBetter error handling with Linux privilege escalator.
Carl Hetherington [Sun, 26 Jul 2020 21:08:01 +0000 (23:08 +0200)]
Better error handling with Linux privilege escalator.

3 years agoFix some ignored return values.
Carl Hetherington [Sun, 26 Jul 2020 20:47:51 +0000 (22:47 +0200)]
Fix some ignored return values.

3 years agoVarious OSX warnings fixes.
Carl Hetherington [Sun, 26 Jul 2020 19:29:43 +0000 (21:29 +0200)]
Various OSX warnings fixes.

3 years agoTry to remove some more default -Wno switches.
Carl Hetherington [Sun, 26 Jul 2020 18:04:52 +0000 (20:04 +0200)]
Try to remove some more default -Wno switches.

3 years agoI think -Wno-cast-function-type is GCC 8 only.
Carl Hetherington [Sun, 26 Jul 2020 17:56:19 +0000 (19:56 +0200)]
I think -Wno-cast-function-type is GCC 8 only.

3 years agoDisable warnings from magick.
Carl Hetherington [Sun, 26 Jul 2020 17:54:34 +0000 (19:54 +0200)]
Disable warnings from magick.

3 years agoUpdate deprecated method call.
Carl Hetherington [Sun, 26 Jul 2020 17:41:41 +0000 (19:41 +0200)]
Update deprecated method call.

3 years agoRationalise compiler warning setup.
Carl Hetherington [Sun, 26 Jul 2020 00:29:24 +0000 (02:29 +0200)]
Rationalise compiler warning setup.

3 years agoFix test warning
Carl Hetherington [Sun, 26 Jul 2020 00:28:59 +0000 (02:28 +0200)]
Fix test warning

3 years agoIgnore libssh warnings in a nicer way.
Carl Hetherington [Sun, 26 Jul 2020 00:28:05 +0000 (02:28 +0200)]
Ignore libssh warnings in a nicer way.

3 years agoIgnore wxWidgets warnings in a nicer way.
Carl Hetherington [Sun, 26 Jul 2020 00:27:48 +0000 (02:27 +0200)]
Ignore wxWidgets warnings in a nicer way.

3 years agoIgnore FFmpeg warnings in a nicer way.
Carl Hetherington [Sun, 26 Jul 2020 00:27:12 +0000 (02:27 +0200)]
Ignore FFmpeg warnings in a nicer way.

3 years agoFix off-by-one in ASSERT and make it more comprehensive.
Carl Hetherington [Sun, 26 Jul 2020 00:26:42 +0000 (02:26 +0200)]
Fix off-by-one in ASSERT and make it more comprehensive.

3 years agoIgnore libxml++ warnings in a nicer way.
Carl Hetherington [Sun, 26 Jul 2020 00:26:17 +0000 (02:26 +0200)]
Ignore libxml++ warnings in a nicer way.

3 years agoint64_t -> Frame
Carl Hetherington [Sun, 26 Jul 2020 00:22:49 +0000 (02:22 +0200)]
int64_t -> Frame

3 years agoAdd new macOS preferences icons.
Carl Hetherington [Wed, 17 Jun 2020 20:18:33 +0000 (22:18 +0200)]
Add new macOS preferences icons.

3 years agoUse thread_group for improved exception safety (#1785).
Carl Hetherington [Thu, 23 Jul 2020 20:53:43 +0000 (22:53 +0200)]
Use thread_group for improved exception safety (#1785).

3 years agoUse PDF screenshots for the manual.
Carl Hetherington [Sun, 12 Jul 2020 23:15:46 +0000 (01:15 +0200)]
Use PDF screenshots for the manual.

3 years agoSmall manual tweaks.
Carl Hetherington [Sun, 12 Jul 2020 23:16:00 +0000 (01:16 +0200)]
Small manual tweaks.

3 years agoDon't enable OK button for the export dialogue until a path
Carl Hetherington [Tue, 21 Jul 2020 20:59:08 +0000 (22:59 +0200)]
Don't enable OK button for the export dialogue until a path
has been selected.  If OK is clicked too early you get a -13
error on Windows.

3 years agoFix vertical alignment with subrip and embedded SSA \an codes. v2.15.90
Carl Hetherington [Mon, 20 Jul 2020 14:25:43 +0000 (16:25 +0200)]
Fix vertical alignment with subrip and embedded SSA \an codes.

3 years agoFix warning.
Carl Hetherington [Wed, 15 Jul 2020 20:40:22 +0000 (22:40 +0200)]
Fix warning.

3 years agoRemove ko_KR translation stub that was never used.
Carl Hetherington [Wed, 15 Jul 2020 21:02:55 +0000 (23:02 +0200)]
Remove ko_KR translation stub that was never used.

3 years agoFix typo in comment.
Carl Hetherington [Sun, 12 Jul 2020 22:49:47 +0000 (00:49 +0200)]
Fix typo in comment.

3 years agoUpdate manual Makefile for Inkscape 1.0
Carl Hetherington [Sun, 12 Jul 2020 22:49:32 +0000 (00:49 +0200)]
Update manual Makefile for Inkscape 1.0

3 years agoFix ATMOS frame numbering when decoding DCPs. v2.15.89
Carl Hetherington [Sun, 12 Jul 2020 13:11:26 +0000 (15:11 +0200)]
Fix ATMOS frame numbering when decoding DCPs.

3 years agoRemove pointless subheading in Keys->Advanced dialogues and improve spacing in the...
Carl Hetherington [Sat, 11 Jul 2020 22:43:50 +0000 (00:43 +0200)]
Remove pointless subheading in Keys->Advanced dialogues and improve spacing in the Keys page of config.

3 years agoUse new channel 14 ATMOS sync creation code in libdcp,
Carl Hetherington [Sat, 11 Jul 2020 21:46:39 +0000 (23:46 +0200)]
Use new channel 14 ATMOS sync creation code in libdcp,
and force films containing ATMOS to have 14 audio channels
and be SMPTE.

3 years agoAdd Antonio Casado as a tester.
Carl Hetherington [Wed, 8 Jul 2020 23:37:03 +0000 (01:37 +0200)]
Add Antonio Casado as a tester.

3 years agoSome ATMOS hacks.
Carl Hetherington [Wed, 8 Jul 2020 23:22:23 +0000 (01:22 +0200)]
Some ATMOS hacks.

3 years agoImprove butler error reporting during export. v2.15.88
Carl Hetherington [Sun, 5 Jul 2020 20:10:03 +0000 (22:10 +0200)]
Improve butler error reporting during export.

3 years agoAdd more logging and some missing prefs checkboxes for existing logging. v2.15.87
Carl Hetherington [Sun, 5 Jul 2020 19:38:35 +0000 (21:38 +0200)]
Add more logging and some missing prefs checkboxes for existing logging.

3 years agoFix typo truncating ./waf configure output.
Carl Hetherington [Fri, 3 Jul 2020 22:21:35 +0000 (00:21 +0200)]
Fix typo truncating ./waf configure output.

3 years agoPotential Windows build fix. v2.15.86
Carl Hetherington [Thu, 2 Jul 2020 20:04:49 +0000 (22:04 +0200)]
Potential Windows build fix.

3 years agoFix failure to import DCPs since Atmos changes. v2.15.85
Carl Hetherington [Thu, 2 Jul 2020 18:16:05 +0000 (20:16 +0200)]
Fix failure to import DCPs since Atmos changes.

3 years agoMake some methods private.
Carl Hetherington [Sun, 28 Jun 2020 21:12:59 +0000 (23:12 +0200)]
Make some methods private.

3 years agoFix confusion between one-shot and playing causing surprising
Carl Hetherington [Sat, 27 Jun 2020 23:46:20 +0000 (01:46 +0200)]
Fix confusion between one-shot and playing causing surprising
seeks when things are updated.

3 years agoMake _one_shot and _playing atomic.
Carl Hetherington [Sat, 27 Jun 2020 22:59:21 +0000 (00:59 +0200)]
Make _one_shot and _playing atomic.