dcpomatic.git
2 months agohttp -> https.
Carl Hetherington [Sun, 15 Mar 2020 21:25:51 +0000 (22:25 +0100)]
http -> https.

2 months agoTest updates now that there can't be <1s long DCPs any more.
Carl Hetherington [Tue, 10 Mar 2020 22:15:17 +0000 (23:15 +0100)]
Test updates now that there can't be <1s long DCPs any more.

2 months agoCoalesce short reels.
Carl Hetherington [Mon, 9 Mar 2020 21:05:34 +0000 (22:05 +0100)]
Coalesce short reels.

2 months agoImprove and fix some tests.
Carl Hetherington [Mon, 9 Mar 2020 21:05:22 +0000 (22:05 +0100)]
Improve and fix some tests.

2 months agoEnforce a minimum DCP length of 1 second.
Carl Hetherington [Mon, 9 Mar 2020 20:41:36 +0000 (21:41 +0100)]
Enforce a minimum DCP length of 1 second.

2 months agoGet some better errors when verification-based tests fail.
Carl Hetherington [Mon, 9 Mar 2020 20:35:48 +0000 (21:35 +0100)]
Get some better errors when verification-based tests fail.

2 months agoEnforce minimum reel length when using REELTYPE_BY_LENGTH.
Carl Hetherington [Mon, 9 Mar 2020 20:33:13 +0000 (21:33 +0100)]
Enforce minimum reel length when using REELTYPE_BY_LENGTH.

2 months agoAdd a test for short pieces of content amongst longer.
Carl Hetherington [Mon, 9 Mar 2020 20:20:23 +0000 (21:20 +0100)]
Add a test for short pieces of content amongst longer.

2 months agoFailing test for reels with a short length (in bytes) specified.
Carl Hetherington [Mon, 9 Mar 2020 20:15:47 +0000 (21:15 +0100)]
Failing test for reels with a short length (in bytes) specified.

2 months agoAdd a (failing) test for reels created between two other
Carl Hetherington [Mon, 9 Mar 2020 20:12:00 +0000 (21:12 +0100)]
Add a (failing) test for reels created between two other
pieces of content.

2 months agoMove private_data into TestPaths
Carl Hetherington [Mon, 9 Mar 2020 15:45:26 +0000 (16:45 +0100)]
Move private_data into TestPaths

2 months agoAdd failing test for one short-reel possibility.
Carl Hetherington [Mon, 9 Mar 2020 15:42:30 +0000 (16:42 +0100)]
Add failing test for one short-reel possibility.

2 months agoGive a better error when opening a DCP with File -> Open by mistake (#1723).
Carl Hetherington [Wed, 11 Mar 2020 20:23:11 +0000 (20:23 +0000)]
Give a better error when opening a DCP with File -> Open by mistake (#1723).

2 months agoMerge branch 'v2.15.x' of ssh://git.carlh.net/home/carl/git/dcpomatic into v2.15.x
Carl Hetherington [Wed, 11 Mar 2020 20:23:55 +0000 (21:23 +0100)]
Merge branch 'v2.15.x' of ssh://git.carlh.net/home/carl/git/dcpomatic into v2.15.x

2 months agoMake DKDMs with validity 2 minutes shorter than the signer certificate
Carl Hetherington [Tue, 10 Mar 2020 16:10:56 +0000 (17:10 +0100)]
Make DKDMs with validity 2 minutes shorter than the signer certificate
validity (#1728).

2 months agoAdd missing icons for _playlist to the macOS build.
Carl Hetherington [Sun, 8 Mar 2020 18:18:07 +0000 (19:18 +0100)]
Add missing icons for _playlist to the macOS build.

2 months agoFix test failure with changes to thread management.
Carl Hetherington [Sat, 7 Mar 2020 23:14:54 +0000 (00:14 +0100)]
Fix test failure with changes to thread management.

2 months agoStop threads at the start of their object's destruction in all Job cases.
Carl Hetherington [Fri, 6 Mar 2020 21:36:16 +0000 (22:36 +0100)]
Stop threads at the start of their object's destruction in all Job cases.

2 months agoFix crash in verification due to mismatched wxString::Format placeholder. v2.15.47
Carl Hetherington [Tue, 3 Mar 2020 09:26:02 +0000 (10:26 +0100)]
Fix crash in verification due to mismatched wxString::Format placeholder.

2 months agoFix weirdly-allowed misplaced bracket.
Carl Hetherington [Sun, 1 Mar 2020 23:31:50 +0000 (00:31 +0100)]
Fix weirdly-allowed misplaced bracket.

2 months agoRemove unused LOG_DEBUG_DECODE and re-use it to add some 3D shuffler logging. v2.15.46
Carl Hetherington [Sun, 1 Mar 2020 21:58:49 +0000 (22:58 +0100)]
Remove unused LOG_DEBUG_DECODE and re-use it to add some 3D shuffler logging.

2 months agoMissing patron.
Carl Hetherington [Sun, 1 Mar 2020 20:51:46 +0000 (21:51 +0100)]
Missing patron.

2 months agoCall wxInitAllImageHandlers and fix Playlist Editor AppName.
Carl Hetherington [Sun, 1 Mar 2020 19:27:53 +0000 (20:27 +0100)]
Call wxInitAllImageHandlers and fix Playlist Editor AppName.

2 months agoFix uninitialised variable.
Carl Hetherington [Sun, 1 Mar 2020 18:59:25 +0000 (19:59 +0100)]
Fix uninitialised variable.

2 months agoFix loading of tick/no_tick graphics for playlist editor on Windows.
Carl Hetherington [Sun, 1 Mar 2020 18:58:21 +0000 (19:58 +0100)]
Fix loading of tick/no_tick graphics for playlist editor on Windows.

2 months agoFix broken test.
Carl Hetherington [Sun, 1 Mar 2020 08:42:43 +0000 (09:42 +0100)]
Fix broken test.

2 months agoSupport playlists in the player in dual-screen mode. v2.15.45
Carl Hetherington [Sat, 29 Feb 2020 23:18:47 +0000 (00:18 +0100)]
Support playlists in the player in dual-screen mode.

2 months agoSeparate SPL from a version which signals when things change.
Carl Hetherington [Sat, 29 Feb 2020 23:14:39 +0000 (00:14 +0100)]
Separate SPL from a version which signals when things change.

2 months agoAdd some comments.
Carl Hetherington [Sat, 29 Feb 2020 23:14:17 +0000 (00:14 +0100)]
Add some comments.

2 months agoMake DMG for playlist editor on macOS.
Carl Hetherington [Sat, 29 Feb 2020 23:09:13 +0000 (00:09 +0100)]
Make DMG for playlist editor on macOS.

2 months agoAdd 'proper' config dialog for the playlist editor.
Carl Hetherington [Sat, 29 Feb 2020 22:53:14 +0000 (23:53 +0100)]
Add 'proper' config dialog for the playlist editor.

2 months agoFix title of player configuration dialogue.
Carl Hetherington [Sat, 29 Feb 2020 22:43:52 +0000 (23:43 +0100)]
Fix title of player configuration dialogue.

2 months agoVarious playlist editor developments and fixes.
Carl Hetherington [Thu, 27 Feb 2020 23:37:34 +0000 (00:37 +0100)]
Various playlist editor developments and fixes.

2 months agoCopy swaroop_ playlist editor stuff back to main DoM.
Carl Hetherington [Thu, 27 Feb 2020 23:03:01 +0000 (00:03 +0100)]
Copy swaroop_ playlist editor stuff back to main DoM.

2 months agoMove swaroop playlist editor stuff into its own swaroop_
Carl Hetherington [Thu, 27 Feb 2020 22:50:10 +0000 (23:50 +0100)]
Move swaroop playlist editor stuff into its own swaroop_
files.

2 months agoAllow changing colour conversion settings for multiple pieces of content at the same...
Carl Hetherington [Sat, 29 Feb 2020 20:42:17 +0000 (21:42 +0100)]
Allow changing colour conversion settings for multiple pieces of content at the same time (github #7).

2 months agoFix exceptions on some metadata.xml.
Carl Hetherington [Sat, 29 Feb 2020 19:56:49 +0000 (20:56 +0100)]
Fix exceptions on some metadata.xml.

3 months agoFix incorrect results when applying some timing operations to
Carl Hetherington [Fri, 28 Feb 2020 11:31:40 +0000 (12:31 +0100)]
Fix incorrect results when applying some timing operations to
more than one piece of content at once (e.g. trim start).

3 months agoAllow > 0dB gain per channel in the audio matrix (#1720). v2.15.44
Carl Hetherington [Thu, 27 Feb 2020 21:47:27 +0000 (22:47 +0100)]
Allow > 0dB gain per channel in the audio matrix (#1720).

3 months agoUse bound arguments to lose some methods.
Carl Hetherington [Thu, 27 Feb 2020 21:36:41 +0000 (22:36 +0100)]
Use bound arguments to lose some methods.

3 months agoAdd and use dB/linear conversion functions.
Carl Hetherington [Thu, 27 Feb 2020 21:26:57 +0000 (22:26 +0100)]
Add and use dB/linear conversion functions.

3 months agoMissing include.
Carl Hetherington [Thu, 27 Feb 2020 20:24:04 +0000 (21:24 +0100)]
Missing include.

3 months agoFix incorrect tab-to-space. v2.15.43
Carl Hetherington [Mon, 24 Feb 2020 20:34:23 +0000 (21:34 +0100)]
Fix incorrect tab-to-space.

3 months agoTweak DMG creation for Apple changes.
Carl Hetherington [Thu, 20 Feb 2020 22:04:48 +0000 (23:04 +0100)]
Tweak DMG creation for Apple changes.

3 months agoApply FFmpeg palette fix to examination too; fix build with old FFmpeg.
Carl Hetherington [Thu, 20 Feb 2020 16:38:11 +0000 (17:38 +0100)]
Apply FFmpeg palette fix to examination too; fix build with old FFmpeg.

3 months agoAnother macOS std::list boost::thread SNAFU.
Carl Hetherington [Wed, 19 Feb 2020 21:22:23 +0000 (22:22 +0100)]
Another macOS std::list boost::thread SNAFU.

3 months agoCan't put boost::thread in a std::list with our macOS compiler.
Carl Hetherington [Wed, 19 Feb 2020 20:55:04 +0000 (21:55 +0100)]
Can't put boost::thread in a std::list with our macOS compiler.

3 months agoMerge branch 'v2.15.x' of ssh://git.carlh.net/home/carl/git/dcpomatic into v2.15.x
Carl Hetherington [Wed, 19 Feb 2020 19:13:53 +0000 (20:13 +0100)]
Merge branch 'v2.15.x' of ssh://git.carlh.net/home/carl/git/dcpomatic into v2.15.x

3 months agoIt may not be allowed to request a zero timeout on macOS.
Carl Hetherington [Wed, 19 Feb 2020 19:13:49 +0000 (20:13 +0100)]
It may not be allowed to request a zero timeout on macOS.

3 months agoNicer fix for 2D-labelled-3D checking from master.
Carl Hetherington [Wed, 19 Feb 2020 16:23:21 +0000 (17:23 +0100)]
Nicer fix for 2D-labelled-3D checking from master.

3 months agoRemove incorrect comment.
Carl Hetherington [Tue, 18 Feb 2020 19:21:56 +0000 (20:21 +0100)]
Remove incorrect comment.

3 months agoWrite logs during tests to a file.
Carl Hetherington [Tue, 18 Feb 2020 19:21:51 +0000 (20:21 +0100)]
Write logs during tests to a file.

3 months agoRemove unused variable.
Carl Hetherington [Tue, 18 Feb 2020 19:21:38 +0000 (20:21 +0100)]
Remove unused variable.

3 months agoMake a new AudioBuffers constructor and use it to avoid some use of the more complica...
Carl Hetherington [Sun, 16 Feb 2020 21:23:28 +0000 (22:23 +0100)]
Make a new AudioBuffers constructor and use it to avoid some use of the more complicated copy_from.

3 months agoBetter errors if butler doesn't give video during export.
Carl Hetherington [Sun, 16 Feb 2020 20:15:12 +0000 (21:15 +0100)]
Better errors if butler doesn't give video during export.

3 months agoNew test bits.
Carl Hetherington [Sun, 16 Feb 2020 19:44:13 +0000 (20:44 +0100)]
New test bits.

3 months agoJust having no specified lines value does not mean we definitely need place the subti...
Carl Hetherington [Sun, 16 Feb 2020 19:39:47 +0000 (20:39 +0100)]
Just having no specified lines value does not mean we definitely need place the subtitle ourselves.

3 months agoNudge L/R-aligned subs in from the edge of the screen; do our own placement of subs...
Carl Hetherington [Thu, 13 Feb 2020 23:28:15 +0000 (00:28 +0100)]
Nudge L/R-aligned subs in from the edge of the screen; do our own placement of subs with no screen height in lines specified.

3 months agoRename and extend check_packets.py
Carl Hetherington [Thu, 13 Feb 2020 16:29:47 +0000 (17:29 +0100)]
Rename and extend check_packets.py

3 months agoFix crash.
Carl Hetherington [Thu, 6 Feb 2020 20:56:49 +0000 (21:56 +0100)]
Fix crash.

3 months agoFix crash with bitmapped subs that have zero width or height.
Carl Hetherington [Thu, 6 Feb 2020 09:34:30 +0000 (10:34 +0100)]
Fix crash with bitmapped subs that have zero width or height.

3 months agoAdd new script.
Carl Hetherington [Tue, 28 Jan 2020 11:49:08 +0000 (12:49 +0100)]
Add new script.

3 months agoVarious improvements to make_dummy_files
Carl Hetherington [Tue, 28 Jan 2020 11:49:00 +0000 (12:49 +0100)]
Various improvements to make_dummy_files

3 months agoVarious thread cleanups.
Carl Hetherington [Thu, 30 Jan 2020 21:54:38 +0000 (22:54 +0100)]
Various thread cleanups.

3 months agoUse a non-pointer boost::thread and a std::atomic for the stop flag.
Carl Hetherington [Thu, 30 Jan 2020 21:19:17 +0000 (22:19 +0100)]
Use a non-pointer boost::thread and a std::atomic for the stop flag.

4 months agoMissing #include for previous.
Carl Hetherington [Tue, 28 Jan 2020 22:49:07 +0000 (23:49 +0100)]
Missing #include for previous.

4 months agoFix deadlock during content examination.
Carl Hetherington [Tue, 28 Jan 2020 22:23:47 +0000 (23:23 +0100)]
Fix deadlock during content examination.

Before this fix, the following situation could happen in threads
A and B:

A: Some DONE signal happens; this triggers setup_pieces which
   takes a lock on the player mutex.

B: FFmpegContent::examine takes a lock on the content mutex.
B: FFmpegContent::examine adds a stream
B: That causes STREAMS PENDING to be emitted.
B: This tries to take a lock on the player mutex so it can update _suspended

A: setup_pieces tries to access some content information, hence
   tries to take a lock on the content mutex.

Now B is holding the CL and awaiting the PL and A is holding
the PL and awaiting the CL.

It feels like the root cause of this is that while setup_pieces
is happening another change (which would itself cause setup_pieces)
is announced, and this isn't dealt with properly.

There are two steps here; _suspended is protected with an atomic
rather than using _mutex, and also it can cope with being updated
recursively.

4 months agoFix crash with sub-sample push parts in AudioMerger. v2.15.42
Carl Hetherington [Mon, 27 Jan 2020 23:19:52 +0000 (23:19 +0000)]
Fix crash with sub-sample push parts in AudioMerger.

Forward-ported from b86b15391074a68149f8c4a51958c7873d74def0 in master.

4 months agoFix missing preferences icon on macOS.
Carl Hetherington [Mon, 27 Jan 2020 19:27:52 +0000 (20:27 +0100)]
Fix missing preferences icon on macOS.

4 months agoWarn if doing a gain calculation might cause clipping.
Carl Hetherington [Sat, 25 Jan 2020 22:59:24 +0000 (23:59 +0100)]
Warn if doing a gain calculation might cause clipping.

4 months agoApply fader-based gain calculations to the current gain, not 0dB.
Carl Hetherington [Sat, 25 Jan 2020 22:26:31 +0000 (23:26 +0100)]
Apply fader-based gain calculations to the current gain, not 0dB.

4 months agoAnother thinko fix.
Carl Hetherington [Sat, 25 Jan 2020 20:13:33 +0000 (21:13 +0100)]
Another thinko fix.

4 months agoFix thinko two commits ago.
Carl Hetherington [Sat, 25 Jan 2020 09:05:34 +0000 (10:05 +0100)]
Fix thinko two commits ago.

4 months agoCache film length for Player::pass.
Carl Hetherington [Tue, 23 Jul 2019 21:55:15 +0000 (22:55 +0100)]
Cache film length for Player::pass.

4 months agoUse memset for zeroing float buffers; it's faster, and I think
Carl Hetherington [Tue, 23 Jul 2019 21:45:04 +0000 (22:45 +0100)]
Use memset for zeroing float buffers; it's faster, and I think
we get away with it on all the platforms we care about.

4 months agoSupport binary STL subtitle files.
Carl Hetherington [Thu, 23 Jan 2020 14:37:37 +0000 (15:37 +0100)]
Support binary STL subtitle files.

4 months agoAdd patron.
Carl Hetherington [Fri, 17 Jan 2020 00:21:44 +0000 (01:21 +0100)]
Add patron.

4 months agoMake FileError say what path the problem was with.
Carl Hetherington [Thu, 16 Jan 2020 15:41:19 +0000 (16:41 +0100)]
Make FileError say what path the problem was with.

4 months agoAdd some PT-style names to the guesswork on which channel a particular sound file...
Carl Hetherington [Tue, 14 Jan 2020 21:53:38 +0000 (22:53 +0100)]
Add some PT-style names to the guesswork on which channel a particular sound file belongs to.

4 months agoStop invalid dates causing boost::posix_time to raise exceptions.
Carl Hetherington [Sun, 12 Jan 2020 23:44:00 +0000 (00:44 +0100)]
Stop invalid dates causing boost::posix_time to raise exceptions.

4 months agoswaroop variant build fix.
Carl Hetherington [Sun, 12 Jan 2020 22:19:46 +0000 (23:19 +0100)]
swaroop variant build fix.

4 months agoDon't truncate active_video_frame_rate to an int otherwise setting fade on non-intege... v2.15.41
Carl Hetherington [Fri, 10 Jan 2020 14:20:17 +0000 (15:20 +0100)]
Don't truncate active_video_frame_rate to an int otherwise setting fade on non-integer-rate sources behaves oddly.

4 months agoFix deadlock.
Carl Hetherington [Fri, 10 Jan 2020 14:13:35 +0000 (15:13 +0100)]
Fix deadlock.

4 months agoGive DCPDecoder its own ::position which just returns its internal
Carl Hetherington [Thu, 9 Jan 2020 23:52:20 +0000 (23:52 +0000)]
Give DCPDecoder its own ::position which just returns its internal
_next time.

This is important because Decoder::position does the wrong thing
with DCPs in the following case.

1.  DCPDecoder emits a subtitle event (start/stop) at time t.
2.  There follows a long time T with no subtitle events.  During
    this time the DCPDecoder's position is reported as t (since
    TextDecoder notes its position as the time of the last thing
    it emitted --- which is all it reasonably can do, I think).
3.  During this T the DCPDecoder may be incorrectly pass()ed because
    its position is reported as earlier than it really is; this results
    in video/audio being emitted by the DCPDecoder but other contemporary
    sources may not be pass()ed.

The upshot of this can be that no audio is emitted, as a contemporary audio
source is not pass()ed and hence the merger is waiting for audio that will
take a long time to come.  When the butler is running this can result in
audio underruns as the video buffers overflow with no sign of any audio.

It is also simpler this way; DCPDecoder was already maintaining the required
information.

4 months agoUpdate text panel 'why not' note when film's standard is changed.
Carl Hetherington [Thu, 9 Jan 2020 22:22:22 +0000 (23:22 +0100)]
Update text panel 'why not' note when film's standard is changed.

Forward-ported from e8582393bd1367fff36bae8e053d799073d8b2ed in master.

4 months agoMake the 'why not' messages for VF a bit clearer.
Carl Hetherington [Thu, 9 Jan 2020 22:24:32 +0000 (23:24 +0100)]
Make the 'why not' messages for VF a bit clearer.

Before it sounded like just because we couldn't refer to (e.g.) the audio
we couldn't refer to any part of the DCP.

4 months agoMerge a set of changes which run the OpenGL video updates in a separate v2.15.40
Carl Hetherington [Wed, 8 Jan 2020 21:22:01 +0000 (22:22 +0100)]
Merge a set of changes which run the OpenGL video updates in a separate
thread, hopefully making things more elegant and robust.

4 months agoFirst version of player stress-test management script.
Carl Hetherington [Wed, 11 Dec 2019 23:45:16 +0000 (00:45 +0100)]
First version of player stress-test management script.

4 months agoSome comments.
Carl Hetherington [Mon, 25 Nov 2019 23:37:42 +0000 (00:37 +0100)]
Some comments.

4 months agoSome simple-video-view tidy-ups.
Carl Hetherington [Mon, 25 Nov 2019 23:33:46 +0000 (00:33 +0100)]
Some simple-video-view tidy-ups.

4 months agoFix problems when starting to play after a seek, if the start
Carl Hetherington [Mon, 25 Nov 2019 23:32:37 +0000 (00:32 +0100)]
Fix problems when starting to play after a seek, if the start
of playback happens while we are awaiting an idle handler to
go through to update the view after the seek.

If this idle handler has not gone through the viewer will report
an incorrect position, which is used by the FilmViewer to start
the audio stream at the wrong time.

4 months agoUse glTexSubImage2D when possible, as suggested by https://www.khronos.org/opengl...
Carl Hetherington [Mon, 25 Nov 2019 20:24:03 +0000 (21:24 +0100)]
Use glTexSubImage2D when possible, as suggested by https://khronos.org/opengl/wiki/Common_Mistakes

4 months agoBasic stress-test function for player.
Carl Hetherington [Sat, 23 Nov 2019 09:44:39 +0000 (10:44 +0100)]
Basic stress-test function for player.

4 months agoDon't busy-wait when there's nothing to play.
Carl Hetherington [Sat, 23 Nov 2019 09:42:16 +0000 (10:42 +0100)]
Don't busy-wait when there's nothing to play.

4 months agoSet up things correctly on initialisation.
Carl Hetherington [Sat, 23 Nov 2019 09:41:01 +0000 (10:41 +0100)]
Set up things correctly on initialisation.

4 months agoFix event handling (hopefully).
Carl Hetherington [Fri, 22 Nov 2019 20:04:14 +0000 (21:04 +0100)]
Fix event handling (hopefully).

4 months agoAdd assert.
Carl Hetherington [Fri, 22 Nov 2019 20:04:05 +0000 (21:04 +0100)]
Add assert.

4 months agoCheck that get_next_frame succeeds.
Carl Hetherington [Fri, 22 Nov 2019 00:52:53 +0000 (01:52 +0100)]
Check that get_next_frame succeeds.

4 months agoFix some crashes.
Carl Hetherington [Thu, 21 Nov 2019 23:37:36 +0000 (00:37 +0100)]
Fix some crashes.

4 months agoMore tidying up.
Carl Hetherington [Thu, 21 Nov 2019 23:10:35 +0000 (00:10 +0100)]
More tidying up.