Commit Graph
100 Commits
Author SHA1 Message Date
ThomasWilshaw 010dd3a336 Merge pull request #1792 from ThomasWilshaw/screen_on
viewer: force screen to stay awake during playback
2021-11-10 23:34:05 +00:00
Thomas Wilshaw 2f5afb63b7 viewer: force screen to stay awake during playback 2021-11-10 15:59:01 +00:00
Thomas Wilshaw ef2b5a7bf8 traverser: catch jobs with no texture
If a job has no texture (e.g. a Solid), force the channel count to at
least VideoParams::kRGBChannelCount.
2021-11-02 21:49:14 +00:00
Thomas Wilshaw 64a3cb5c84 Replace undo commands with non undoable functions. 2021-08-17 13:13:02 +01:00
Thomas Wilshaw 42dd029f9e Revert back to a console application
Revert Olive back to a console application and then hide the console on
startup.

Also add an option to run a console if required.

Windows only.
2021-08-09 23:14:12 +01:00
Thomas Wilshaw b1b057a628 Add a console if Olive is started via cmd 2021-08-09 15:07:21 +01:00
Thomas Wilshaw 850b75fe24 Transitiosn and gaps are now added. Also removed unnecessary code 2021-08-07 15:06:50 +01:00
Thomas Wilshaw 1d2341245b Correctly add footage nodes and setup contexts. 2021-08-07 14:30:15 +01:00
Thomas Wilshaw 2bdd5a3707 Update to master 2021-07-28 15:52:24 +01:00
Thomas Wilshaw c86b7f6185 Make sure Olive doesn't overwrite OTIO files. 2021-07-28 15:15:01 +01:00
Thomas Wilshaw 2c2858e0ab Add second attempt at auto relink if first fails. 2021-07-28 15:15:01 +01:00
Thomas Wilshaw 332351d1d9 Move FolderAddChild to correct place to avoid duplicates 2021-07-28 15:15:01 +01:00
Thomas Wilshaw 2e68155851 Make sure footage is validated 2021-07-28 15:15:00 +01:00
Thomas Wilshaw 0154cfc1c2 Place footage into its own folder 2021-07-28 15:15:00 +01:00
Thomas Wilshaw 79b9d0b26b Fix shadow variable. 2021-07-28 15:14:59 +01:00
Thomas Wilshaw 5b2d889a4c Add footage to root folder and set labels correctly. 2021-07-28 15:14:59 +01:00
Thomas Wilshaw 7e93eb6e40 Allow image sequences to use a period seperator
Allows image sequences of the form xyz.0000.exr as well as xyz_0000.exr

Fixes #1602
2021-05-03 12:09:24 +01:00
Thomas Wilshaw b4670d6cff Revert "audioplaybackcache: optimise writing to PCM"
This reverts commit 59163e8127.
2021-04-25 21:08:28 +01:00
Thomas Wilshaw 7ee6d52651 audioparams: move channel count calculation to its own function 2021-04-25 21:03:35 +01:00
Thomas Wilshaw f9890ad928 Make test renaming OS specific and update names 2021-04-25 20:40:52 +01:00
Thomas Wilshaw 59163e8127 audioplaybackcache: optimise writing to PCM 2021-04-24 14:26:07 +01:00
Thomas Wilshaw 8373579009 audioparams: cache channel_count 2021-04-24 13:23:34 +01:00
Thomas Wilshaw 4c9c2a8892 Update standard test name to improve usability in Visual Studio. 2021-04-24 11:28:03 +01:00
Thomas Wilshaw 1b4fd56803 timelinewidget: Catch any nullptr, not just kHand 2021-04-16 20:27:44 +01:00
Thomas Wilshaw 8142df7a04 viewer: Don't hide the widget before deleting 2021-04-16 20:15:10 +01:00
Thomas Wilshaw 837ab00ec5 TimelineWidget: catch hand tool double click
The hand tool does not inherit from TimelineTool (it is a special
program
wide tool) so tools_[olive::Tool::kHand] is a nullptr. Therefore when
ViewMouseDoubleClicked is called we check if the hand tool is
selected and
simply return if it is.

Fixes #1577
2021-04-15 20:17:29 +01:00
Thomas Wilshaw 600c9bbe6b viewer: Safely delete full screen widget
Hide the full screen widget and then use deleteLater() rather than
delete.

Fixes #1571
2021-04-14 17:38:45 +01:00
Thomas Wilshaw 579a409078 Properly remove a/b display type 2021-04-14 13:24:18 +01:00
Thomas Wilshaw 139adbdb31 Cleanup for merge. 2021-04-14 12:48:44 +01:00
ThomasWilshaw da275efdf2 Merge branch 'master' into rational_slider 2021-04-14 12:08:58 +01:00
Thomas Wilshaw 2820f45bca Fix shadowed variable 2021-04-12 10:57:57 +01:00
ThomasWilshaw ecce4d1ae2 Merge branch 'master' into rational_slider 2021-04-12 10:42:26 +01:00
Thomas Wilshaw 48f841db9c Remove unused signals and slots 2021-04-12 10:40:49 +01:00
Thomas Wilshaw 6a4f292ae2 Use customContextMenu for changing the display type 2021-04-12 10:35:44 +01:00
Thomas Wilshaw a297dd0e53 Add width hint to slider ladder for custom display widths 2021-04-12 10:23:56 +01:00
Thomas Wilshaw b9ebc6be18 Fix the easy comments. 2021-04-12 10:14:18 +01:00
Thomas Wilshaw cb0cfebf40 Fix clamping bug, 2021-04-09 11:57:49 +01:00
Thomas Wilshaw 4d8233e7ac Add display type context menu to RationalSlider 2021-04-09 10:52:07 +01:00
Thomas Wilshaw 2cea45268f TimeLineRulerMenu: only show drop or non-drop timecode depending
on timebase
2021-04-08 12:56:42 +01:00
Thomas Wilshaw f560beef60 Increase ladder width if displaying timeciode 2021-04-08 11:41:42 +01:00
Thomas Wilshaw 76f8c12a96 Initilise timbase when creating nodeparamviewitem 2021-04-08 11:26:37 +01:00
Thomas Wilshaw f9b423f731 Link RationalSlider timebase with nodeparamview 2021-04-08 11:26:36 +01:00
Thomas Wilshaw c62389e632 Fix Linux build issue 2021-04-08 11:26:36 +01:00
Thomas Wilshaw 7c123c56c3 Get rational slider mostly working with new slider changes 2021-04-08 11:26:35 +01:00
Thomas Wilshaw 24726bee24 Remove test 2021-04-08 11:26:34 +01:00
Thomas Wilshaw b636b77fbe Cleanup unused variable 2021-04-08 11:26:34 +01:00
Thomas Wilshaw 191a8bb6ff Use QVariant::fromValue(). 2021-04-08 11:26:33 +01:00
Thomas Wilshaw f381d3ddea Add extra documentation 2021-04-08 11:26:33 +01:00
Thomas Wilshaw fae7ead021 Add a lock on changing the display type 2021-04-08 11:26:32 +01:00
Thomas Wilshaw 3b2cf9d0a7 Overload set default to allow rationals. 2021-04-08 11:26:32 +01:00
Thomas Wilshaw 50c4586fe0 Cleanup 2021-04-08 11:26:31 +01:00
Thomas Wilshaw 3bc26f6ce0 Finish implementation 2021-04-08 11:26:31 +01:00
Thomas Wilshaw b12518af9e Initial implementation. 2021-04-08 11:26:30 +01:00
Thomas Wilshaw f99600ed40 openglrender: Add attributeLocation check
Sometimes when the default fragment shader is used a_texcoord is
optimised out
which can cause GL errors. Also adds the same check for a_position
preemptively
2021-03-27 01:50:17 +00:00
Thomas Wilshaw 0f2c44866a Remove unneeded invokeMethod. 2021-03-23 23:17:47 +00:00
Thomas Wilshaw 0cf640fb09 Suppress unused variable warning. 2020-12-04 19:20:42 +00:00
ThomasWilshaw a937238bd0 Merge branch 'master' into otio_improvments 2020-12-04 16:08:38 +00:00
Thomas Wilshaw b1b7d58e9d transition: Add transparency support to transitions
Added ShaderJobEvent to CrossDissolveTransition which sets alpha as
required.

app/node/block/transition/crossdissolve/crossdissolvetransition.cpp
app/node/block/transition/crossdissolve/crossdissolvetransition.h
2020-11-23 21:53:09 +00:00
Thomas Wilshaw bc2f203d42 ocioutils: Use OCIO_NAMESPACE for our namespace 2020-11-20 00:52:44 +00:00
ThomasWilshaw 400d22abcc Merge pull request #1386 from prokoudine/master
mainmenu: Mark Window menu for translation
2020-11-20 00:11:58 +00:00
Thomas Wilshaw cef64f42b7 Update fix for old OIIO versions. 2020-11-18 23:22:40 +00:00
ThomasWilshaw a30d86f411 Merge branch 'master' into otio_transition 2020-11-18 18:27:30 +00:00
Thomas Wilshaw 0e0d557b1b videostreamproperties: Fix alpha checkbox
Check video_premultiply_alpha is not null before trying to access its
members in VideoStreamProperties::Accept.

Also initialise video_premultiply_alpha as nullptr in the constructor.
app/dialog/footageproperties/streamproperties/videostreamproperties.cpp
2020-11-16 20:26:45 +00:00
Thomas Wilshaw 8433e4093a Cleanup 2020-11-16 16:57:08 +00:00
Thomas Wilshaw f9e2a83ee4 Create OTIO namespace in otioutils.h 2020-11-16 16:47:31 +00:00
Thomas Wilshaw 3b68f027f8 More cleanup 2020-11-12 13:48:24 +00:00
Thomas Wilshaw 7f4b676318 Move OTIO macro to define.h
Move the OTIO macro to define.h to avoid having to add it to all
required files.

Also add some cleanup.
2020-11-12 13:44:50 +00:00
Thomas Wilshaw a1d967efe6 OTIO: Use macro OTIO for opentimelineio::v1_0
Exapnd the use of the OTIO macro and add the version number macro.
2020-11-11 22:13:14 +00:00
Thomas Wilshaw cea436b703 saveoitio: Add fix for to_json_file
The function to_json_file can delete it's SerializableObject if it
doesn't have a Retainer associated with it. This fix adds said
Retainer. Retainers clean them selves up when possibly_delete is
called on their associated object.
2020-11-11 21:57:45 +00:00
Thomas Wilshaw 2172cf784c Rational: conversion to opentime take framerate
Add a frame rate option to the conversion to opentime rationals as
otio generaly expects rationals to be in the form value/framerate.

Also add a check to make sure the rational is not in the form 0/0
as this can cause errors with OTIO.
2020-11-11 21:53:44 +00:00
Thomas Wilshaw 3f0768a1cc Add support for transitions when loading OTIO files
OTIO transitions are now added to the timeline as cross dissolves with
the appropriate in/out points,

Also added a safety check when dealing with media references.
2020-11-08 12:23:37 +00:00
Thomas Wilshaw 4ddc659335 MediaInput: Rename streams access methods.
Change MediaInput::footage() to MediaInput::stream() and
MediaInput::SetFootage() to MediaInput::SetStream() as they access
streams not footage.

Also update all instances of access methods to reflect this change.
2020-10-19 15:50:36 +01:00
Thomas Wilshaw 7281806c38 Fix #1271 Duplicate Keyframed Node
When nodes with keyframes were copied their parent NodeInput was not
set properly leading to a segfult when key->GetParent was called in
KeyframeViewItem::UpdatePos().

This fix properly sets parent_ when keys are copied.
2020-10-16 22:30:54 +01:00
Thomas Wilshaw 70455c1501 Fix building without OTIO support
Added a new CMake flag that stops any OTIO related cpp files being
built.

Added extra #ifdefs to catch any OTIO related code in other cpp
files.
2020-10-15 18:59:06 +01:00
Thomas Wilshaw b676f2f8b6 Fix #1252
Checks if the SampleBuffer is valid before trying to extract its
packed data. If it is not valid Olive writes blank segments instead.
2020-10-13 12:19:06 +01:00
Thomas Wilshaw 9d27d557cd Replace custom unlink with BlockUnlinkAllCommand
Re-use existing unlink command and move all the unlinking code to
NodeRemoveCommand to cover all bases (deletion of a block in the
timeline or in the node editor).
2020-09-30 18:14:11 +01:00
Thomas Wilshaw e09afd7f68 Fix Issue#1241
When a Block node was deleted its linked blocks were not unlinked
which caused a crash when the user tried to select a linked block.
This fixes the issue by ensuring all links are removed when a Block
node is delete.

Undo/redo is also supported.
2020-09-29 18:27:30 +01:00
Thomas Wilshaw 7704e00443 Cleanup 2020-09-29 14:14:21 +01:00
Thomas Wilshaw 56e2b51041 Add filename to warning message. 2020-09-29 14:03:25 +01:00
Thomas Wilshaw a71df11fa6 Deal with composite blocks
If a block relies on mulitple inputs (i.e. a composite) then don't
delete these from the timeline. We catch these inputs afterwards.
2020-09-29 13:29:59 +01:00
Thomas Wilshaw 791857fba1 Cleanup. 2020-09-29 12:03:01 +01:00
Thomas Wilshaw 8e6b42a160 Simplify and clean up
Remove the Undo code for deleting a clip and replace it with simpler
parent/child undo relationship.

Move block gathering code to seperate function. It's quite brute
force and might lead to issues further down the line with more
complex composited node setups.
2020-09-29 11:31:03 +01:00
Thomas Wilshaw aef9078598 Fix delete redo code 2020-09-29 10:56:30 +01:00
Thomas Wilshaw 92db735022 Add Delete functionality. Still buggy. 2020-09-29 00:06:38 +01:00
Thomas Wilshaw 602f96b2b6 Cleanup comment 2020-09-28 14:33:58 +01:00
Thomas Wilshaw 5bb9cb0cca Make Offlining footage an UndoCommand
Created a new UndoCommand in ProjectViewModel that set the footage
input to a nullptr and resets it to the correct stream on undo.
2020-09-28 14:33:58 +01:00
Thomas Wilshaw c1e345611d Cleanup. 2020-09-28 14:33:56 +01:00
Thomas Wilshaw 0f1d4ec1b8 Make sure image sequences are caught. 2020-09-28 14:33:55 +01:00
Thomas Wilshaw 0e272b6bba Cleanup and add warning message. 2020-09-28 14:33:54 +01:00
Thomas Wilshaw 3ed0cb2ab9 Move search code to seperate function. 2020-09-28 14:33:54 +01:00
Thomas Wilshaw 7c7db5c933 Check footage in use before deleteing
Initial very hacky implementation that checks if the footgae is in
use before deleting it and makes sure all refernences to it are
properly cleaned up.

Also added IsMedia() function to Node to simplify things a bit.
2020-09-28 14:33:53 +01:00
Thomas Wilshaw 378708c9d3 Exporter falls back to timeline if all else fails
If no recent TimeBasedPanel can be found the exporter defaults to the
first timeline. If this also fails an error is shown.
2020-09-24 17:46:11 +01:00
Thomas Wilshaw 615ce8ef79 Fix Issue #1218
Add an error message if there is no active sequence.

Selected a Sequence panel as opposed to a generic time based panel as
we will only ever export a sequence. Also makes error logic slightly
easier.
2020-09-23 17:59:15 +01:00
Thomas Wilshaw eed41c1f12 Comments 2020-09-03 15:25:07 +01:00
Thomas Wilshaw 8d6bd5e929 Fix Help option in headless mode on Windows
Help option failed when Olive was run in its own directory as strrchr
failed. If all else fails basename is equal to argv[0] and we don't
increment in the print statement. Tested on Windows 7.
2020-09-02 23:35:44 +01:00
Thomas Wilshaw 8682b1e678 Merge master into branch 2020-08-17 18:42:58 +01:00
Thomas Wilshaw f4da255b35 Attempt to fix CI build errors. 2020-07-17 17:35:29 +01:00
Thomas Wilshaw 098b40c98e Use cfloat instead of limits 2020-07-02 15:36:13 +01:00
Thomas Wilshaw b04fa02ab4 Explicitly include limits header to fix build issue on Linux. 2020-07-01 14:18:12 +01:00
Thomas Wilshaw 63c306c770 Fix typos 2020-06-22 13:45:51 +01:00