summaryrefslogtreecommitdiff
path: root/src/lib/wscript
AgeCommit message (Collapse)Author
2019-01-16Rework command-line parser for dcpomatic_create to allow optionsv2.13.103Carl Hetherington
to be specified per content. Use this to support 3D.
2018-12-23Incomplete encryption of private keys.Carl Hetherington
2018-12-14swaroop: fix up restart-after-crash.v2.13.84Carl Hetherington
2018-11-22Separate out SPL/SPLEntry; start trying to make player read SPLs sensibly.Carl Hetherington
2018-11-21Tidy and fix logging.Carl Hetherington
2018-11-13swaroop: only allow playback if configured lock file is present.v2.13.72Carl Hetherington
2018-10-26Use Film/Playlist for SPL management rather than special classes.Carl Hetherington
2018-10-20Allow missing string to be translated (#1387).Carl Hetherington
2018-10-12Build fixes.Carl Hetherington
2018-10-12Change MagickImageProxy to FFmpegImageProxy and make it use FFmpegCarl Hetherington
to decode images. Hence remove {Image,Graphics}Magick.
2018-10-09Add SPL class.Carl Hetherington
2018-10-09swaroop: required monitors checks.Carl Hetherington
2018-09-09Split parts of FFmpegEncoder into FFmpegFileEncoder.Carl Hetherington
2018-08-23Basics of selecting 'tracks' for CCAPs.Carl Hetherington
2018-08-21Check content for changes on loading a project.Carl Hetherington
2018-08-20Make ContentChange into a generic ChangeSignaller and use it for Filmv2.13.44Carl Hetherington
changes, since we setup_pieces() in response to at least one of these and hence we must know before it happens so we can suspend the butler and player.
2018-08-14More fixes for errors / crashes / misbehaviour with content changesCarl Hetherington
and the butler. Here we signal both before and after a change in content. Before, the player disables itself so that any pass()/seek() will be no-ops. After, the player rebuilds its pieces and the butler re-seeks to get back to where it was before the change.
2018-08-05Get closed caption view data from the butler, rather than the player.Carl Hetherington
You can't introduce the butler (so that the player is ahead of time) and then ask the player what should be in the frame that is being displayed "now"; the player will already have moved on.
2018-07-23More automated renaming.Carl Hetherington
ActiveCaptions -> ActiveText BitmapCaption -> BitmapText ContentCaption -> ContentText ContentTextCaption -> ContentStringText TextCaptionFileContent -> StringTextFileContent TextCaptionFileDecoder -> StringTextFileDecoder TextCaptionFile -> StringTextFile TextCaption -> StringText PlayerCaption -> PlayerText CaptionContent -> TextContent CaptionDecoder -> TextDecoder CaptionPanel -> TextPanel CaptionView -> TextView CaptionAppearanceDialog -> SubtitleAppearanceDialog CaptionType -> TextType
2018-07-19Clean up after previous commit.Carl Hetherington
2018-07-19Reword again: Text -> Caption and Plain -> Text.Carl Hetherington
sed -i "s/ActiveText/ActiveCaptions/g" src/lib/*.{cc,h} sed -i "s/active_text.h/active_captions.h/g" src/lib/*.{cc,h} sed -i "s/active_text.cc/active_captions.cc/g" src/lib/wscript mv src/lib/active_text.cc src/lib/active_captions.cc mv src/lib/active_text.h src/lib/active_captions.h sed -i "s/PlainTextFileContent/TextCaptionFileContent/g" src/lib/*.{cc,h} src/wx/*.cc sed -i "s/PlainTextFile/TextCaptionFile/g" src/lib/*.{cc,h} src/wx/*.cc sed -i "s/plain_text_file_content/text_caption_file_content/g" src/lib/*.{cc,h} src/lib/wscript src/wx/*.{cc,h} test/*.cc mv src/lib/plain_text_file_content.cc src/lib/text_caption_file_content.cc mv src/lib/plain_text_file_content.h src/lib/text_caption_file_content.h sed -i "s/PlainTextFileDecoder/TextCaptionFileDecoder/g" src/lib/*.{cc,h} sed -i "s/plain_text_file_decoder/text_caption_file_decoder/g" src/lib/*.{cc,h} src/lib/wscript src/wx/*.{cc,h} mv src/lib/plain_text_file_decoder.cc src/lib/text_caption_file_decoder.cc mv src/lib/plain_text_file_decoder.h src/lib/text_caption_file_decoder.h sed -i "s/PlayerText/PlayerCaption/g" src/lib/*.{cc,h} sed -i "s/player_text.cc/player_caption.cc/g" src/lib/wscript sed -i "s/player_text.h/player_caption.h/g" src/lib/*.{cc,h} mv src/lib/player_text.cc src/lib/player_caption.cc mv src/lib/player_text.h src/lib/player_caption.h sed -i "s/ContentPlainText/ContentTextCaption/g" src/lib/*.{cc,h} src/wx/*.{cc,h} sed -i "s/ContentBitmapText/ContentBitmapCaption/g" src/lib/*.{cc,h} src/wx/*.{cc,h} sed -i "s/PlainText/TextCaption/g" src/lib/*.{cc,h} test/*.cc sed -i "s/plain_text.h/text_caption.h/g" src/lib/*.{cc,h} mv src/lib/plain_text.h src/lib/text_caption.h
2018-07-19Text to player with types.Carl Hetherington
2018-07-19Partial conversion of PlayerSubtitles -> PlayerText and SubtitleString -> ↵Carl Hetherington
PlainText.
2018-07-19PlainText -> PlainTextFile.Carl Hetherington
2018-07-19More renaming.Carl Hetherington
sed -i "s/emit_text/emit_plain/g" src/lib/*.cc src/lib/*.h sed -i "s/emit_image_start/emit_bitmap_start/g" src/lib/*.cc src/lib/*.h sed -i "s/emit_text_start/emit_plain_start/g" src/lib/*.cc src/lib/*.h sed -i "s/render_subtitles/render_text/g" src/lib/*.cc src/lib/*.h src/lib/wscript test/*.cc sed -i "s/ImageStart/BitmapStart/g" src/lib/*.cc src/lib/*.h sed -i "s/TextStart/PlainStart/g" src/lib/*.cc src/lib/*.h test/*.cc src/wx/*.cc sed -i "s/ImageSubtitle/BitmapText/g" src/lib/*.cc src/lib/*.h sed -i "s/text_subtitle/plain_text/g" src/lib/*.cc src/lib/*.h src/lib/wscript src/wx/*.cc src/wx/*.h test/*.cc sed -i "s/image_subtitle/bitmap_text/g" src/lib/*.cc src/lib/*.h mv src/lib/render_subtitles.cc src/lib/render_text.cc mv src/lib/render_subtitles.h src/lib/render_text.h mv src/lib/text_subtitle.cc src/lib/plain_text.cc mv src/lib/text_subtitle.h src/lib/plain_text.h
2018-07-19More renaming; text -> plain.Carl Hetherington
sed -i "s/TextTextContent/PlainText/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc sed -i "s/text_text/plain_text/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc src/lib/wscript mv src/lib/text_text_content.cc src/lib/plain_text_content.cc mv src/lib/text_text_content.h src/lib/plain_text_content.h mv src/lib/text_text_decoder.cc src/lib/plain_text_decoder.cc mv src/lib/text_text_decoder.h src/lib/plain_text_decoder.h
2018-07-19Rename Subtitle -> TextCarl Hetherington
sed -i "s/SubtitleContent/TextContent/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc sed -i "s/SubtitleDecoder/TextDecoder/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc sed -i "s/subtitle_content/text_content/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc src/lib/wscript src/wx/wscript sed -i "s/subtitle_decoder/text_decoder/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc test/*.cc src/lib/wscript mv src/lib/subtitle_decoder.cc src/lib/text_decoder.cc mv src/lib/subtitle_decoder.h src/lib/text_decoder.h mv src/lib/subtitle_content.cc src/lib/text_content.cc mv src/lib/subtitle_content.h src/lib/text_content.h mv src/lib/dcp_subtitle_decoder.cc src/lib/dcp_text_decoder.cc mv src/lib/dcp_subtitle_decoder.h src/lib/dcp_text_decoder.h mv src/lib/dcp_subtitle_content.cc src/lib/dcp_text_content.cc mv src/lib/dcp_subtitle_content.h src/lib/dcp_text_content.h mv src/lib/text_subtitle_content.cc src/lib/text_text_content.cc mv src/lib/text_subtitle_content.h src/lib/text_text_content.h mv src/lib/text_subtitle_decoder.cc src/lib/text_text_decoder.cc mv src/lib/text_subtitle_decoder.h src/lib/text_text_decoder.h mv src/wx/timeline_subtitle_content_view.cc src/wx/timeline_text_content_view.cc mv src/wx/timeline_subtitle_content_view.h src/wx/timeline_text_content_view.h
2018-05-27Add missing icons and make emailing work.Carl Hetherington
2018-03-14Very basic DCP verification in the player (#1238).Carl Hetherington
2018-02-23Fix implementation of delay in 7758260; it needs to apply toCarl Hetherington
anything passed to emit_video(), not just things that come from decoders.
2018-02-20Add a 2-frame `delay' on content arriving at the player to giveCarl Hetherington
subtitle content the chance to catch up. Fixes problems observed when overlaying a DCP subtitle onto an existing DCP and then seeking into the first subtitle. After the seek the decoder positions were: DCP: 0. subtitle: first subtitle time. This causes the DCP decoder to be pass()ed first and so the subtitle for the video frame has not arrived yet. I hope this does not cause unpredicted side effects...
2018-01-16In general the player assumes that it won't receive out of order video.Carl Hetherington
This clearly can happen with separate L/R sources. A pass in L might emit two frames which means the arrivals can't possibly be in order. This commit fixes this by introducing a Shuffler which all alternate-3D sources send their video to. The Shuffler re-orders things before they arrive at the player. It also fixes the code which inserts video frames before one that arrives after a gap. This didn't cope with 3D right before. The audio code solves a similar (perhaps the same?) problem with the AudioMerger; perhaps we should have a similar thing for video and make the player emit complete 3D frames. Should help with #976.
2017-07-25Removing explicit link with libbfd and libiberty.Carl Hetherington
2017-06-29Fixes for silence in projects, various cleanups.Carl Hetherington
2017-05-24Basic implementation of a tree view for DKDMs (#1012).Carl Hetherington
2017-05-10Rename some classes.Carl Hetherington
2017-05-09Basic GUI for export.Carl Hetherington
2017-05-09Basic video transcoding working.Carl Hetherington
2017-05-09Make Transcoder a virtual base.Carl Hetherington
2017-05-08Pull ActiveSubtitles code out to a class.Carl Hetherington
2017-04-19First bits of audio support.Carl Hetherington
2017-04-19Initial butler work.Carl Hetherington
2017-04-19Remove unnecessary VideoFrame class.Carl Hetherington
2017-04-19Various fixes to push audio vaguely in the right direction.Carl Hetherington
2017-04-19Various work on the audio code.Carl Hetherington
2016-11-19Move position variables into the video/audio/subtitle decoder classes.Carl Hetherington
2016-11-17A possibly-better approach to seeking.Carl Hetherington
Before this commit, decoders try to guess whether they should request a seek based on what they have in their buffers. This seems reasonable for video and audio, which will always (I think) have some data lying around to give an indication of where their parent decoders are in the timeline. It doesn't work so well for subtitles, as the storage of subs is cleared out based on time (+/- 5s of "now") so there is a good chance that the storage will be empty. This gives the subtitle decoder no chance of knowing where its parent is, so it's very likely to seek. This commit asks the parent decoder to seek if it wants to, and it decides based on a knowledge of roughly where it is in the timeline. Hence the sub-decoders just see if they have got the data that is being requested, and if not they suggest to the parent that it might like to seek. They then start calling pass(). Hence the parent should only seek if some calls to pass() are not going to elicit the required data in a reasonable time.
2016-08-24Allow import of OV/VF DCPs (#906).Carl Hetherington
2016-08-12Move locale_convert into libdcp.Carl Hetherington
2016-08-12Replace incorrect uses of raw_convert with a new locale_convert.Carl Hetherington