Commit Graph
100 Commits
Author SHA1 Message Date
itsmattkc 7bdaf78af8 oiio: assume it's not an image sequence if the dimensions aren't equal 2020-09-21 12:21:17 +10:00
itsmattkc bb5669c305 ci: fix ocio lib path 2020-09-21 11:56:53 +10:00
itsmattkc 01cab21317 cmake: set minimum deployment target 2020-09-21 11:56:41 +10:00
itsmattkc 15ecf755fc ci: remove extraneous space 2020-09-21 10:55:55 +10:00
itsmattkc 038f54ae18 ci: use cygpath to retrieve path from env 2020-09-21 05:28:41 +10:00
itsmattkc f25c3680cb ci: use relative path for cp command 2020-09-21 05:13:12 +10:00
itsmattkc 16da806a03 ci: try os instead of os-name 2020-09-21 05:00:06 +10:00
itsmattkc 7bc1aee71b ci: updated more syntax for bash 2020-09-21 04:44:59 +10:00
itsmattkc 82ceef2013 audio: don't write samples if channel count is zero 2020-09-21 04:44:55 +10:00
itsmattkc f9af69ca81 mathbase: use sample indices and copy rather than zeroing out 2020-09-21 04:15:52 +10:00
itsmattkc ff188d44b1 ci: use bash syntax on crashpad step 2020-09-21 04:15:41 +10:00
itsmattkc 3ea173c9c0 ci: restructured deps 2020-09-21 03:48:13 +10:00
itsmattkc 9e49224406 crashpad: correct handler path on non-Windows systems 2020-09-21 00:51:31 +10:00
itsmattkc dbd54d06d5 ci: set DYLD_LIBRARY_PATH 2020-09-20 13:20:39 +10:00
itsmattkc fc0d4528e9 ci: use quotes elsewhere 2020-09-20 03:51:27 +10:00
itsmattkc a302729999 ci: attempt escape cmake generator 2020-09-20 03:49:14 +10:00
itsmattkc 2094c4f9da ci: extract to /usr/local on mac 2020-09-20 03:47:11 +10:00
itsmattkc 9b1242e360 ci: extract to root on mac 2020-09-20 03:29:40 +10:00
itsmattkc 0798dbb0a2 ci: restored vcredist line that was accidentally removed in the merge 2020-09-20 01:46:20 +10:00
itsmattkc c04eaef24a ci: use ninja but only on windows 2020-09-20 01:31:37 +10:00
itsmattkc 1b4cd3a2dd ci: set ffmpeg root 2020-09-20 01:16:54 +10:00
itsmattkc ef867f4e3b ci: set openexr_root 2020-09-20 00:57:40 +10:00
itsmattkc 8d13f0f5c0 ci: fixed typo 2020-09-20 00:53:49 +10:00
itsmattkc d1f7d52943 ci: don't use ninja 2020-09-20 00:53:04 +10:00
itsmattkc 0234529b5b ci: fixed other indentation issue 2020-09-20 00:45:19 +10:00
itsmattkc cc8cbac532 ci: fixed indentation issue 2020-09-20 00:44:10 +10:00
itsmattkc 7c38ff74e2 ci: modified if syntax 2020-09-20 00:42:59 +10:00
itsmattkc b03f80a572 Merge branch 'master' into windows-ci-improvements 2020-09-20 00:37:20 +10:00
itsmattkc 8e0c86a6fa renderer: if texture is null, don't allocate a frame unless exporting 2020-09-19 12:53:07 +10:00
itsmattkc 7bc841904a viewer: display image infinitely if video length is null
Allows for displaying still images in viewer without a finite length.
2020-09-19 12:52:50 +10:00
itsmattkc 855c460ff3 footageviewer: use sequence functions to set video/audio params
Code improvement by re-using existing code. Existing code prevents crash
when loading a still image.
2020-09-19 12:30:42 +10:00
itsmattkc 9c57899ae2 mainwindow: auto-close footage in footage viewer when closing parent project 2020-09-19 12:07:52 +10:00
itsmattkc 6117ca44e9 sequence: ignore disabled streams 2020-09-19 12:07:36 +10:00
itsmattkc 3103359cd6 slider: fixed crash when clicking another mouse button while dragging 2020-09-18 23:49:40 +10:00
itsmattkc 27a4dbc85f import: fixed progres reporting 2020-09-18 13:19:18 +10:00
itsmattkc 01428276f7 export: alternate method of checking video/audio parameters based on ticket type
Fixes #1196
2020-09-18 13:06:10 +10:00
itsmattkc 9c488d9a37 timeline: use full viewport update
Fixes #1190
2020-09-18 12:59:16 +10:00
itsmattkc 8506c82a0c import: safely handle unsupported files
Fixes #1191
2020-09-18 12:58:55 +10:00
itsmattkc e733d1c278 github: clarify what "commit hash" means in all templates 2020-09-18 12:26:30 +10:00
itsmattkc 9a46d4a57f ci: install visual c++ 2010 redist on windows installer 2020-09-18 12:17:05 +10:00
itsmattkc dd73d9d4ef Merge branch 'master' of https://github.com/olive-editor/olive 2020-09-18 11:34:30 +10:00
itsmattkc b5863fdadd workaround: don't use standardPalette on Qt 5.15 2020-09-18 11:34:10 +10:00
itsmattkc 6a6aaddb74 crashpad: ask users before submitting report 2020-09-16 16:41:23 +10:00
itsmattkc 0eca756420 Merge branch 'master' of https://github.com/olive-editor/olive 2020-09-16 14:15:37 +10:00
itsmattkc 9b9af17a73 mainmenu: add send feedback option 2020-09-16 14:11:29 +10:00
itsmattkc 9e1fa3566a Merge branch 'master' of https://github.com/olive-editor/olive 2020-09-16 12:56:45 +10:00
itsmattkc f062994c91 cmake: improve crashpad script 2020-09-16 12:49:53 +10:00
itsmattkc 43f6b4cbcc Merge branch 'master' of https://github.com/olive-editor/olive 2020-09-15 12:00:44 +10:00
itsmattkc 3ab36eb7fc deserialization: tolerate missing vector values 2020-09-15 12:00:25 +10:00
itsmattkc c0e6fdb836 Merge branch 'master' of https://github.com/olive-editor/olive 2020-09-15 03:07:41 +10:00
itsmattkc aa0e0433db cmake: don't use pkgconfig on windows 2020-09-15 03:06:59 +10:00
itsmattkc e6daa3d3c6 Merge branch 'master' of https://github.com/olive-editor/olive 2020-09-14 17:54:56 +10:00
itsmattkc 22c5b61898 fixed compile issue with qt 5.15.1 2020-09-14 17:49:23 +10:00
itsmattkc c4a6ed98d1 issue templates: this was probably the problem 2020-09-13 17:01:39 +10:00
itsmattkc c93448cb35 removed issue templates for re-adding later 2020-09-13 16:58:54 +10:00
itsmattkc e617cd285e updated issue templates for new labels 2020-09-13 16:45:49 +10:00
itsmattkc 4f65e83322 gcc: fixed shadowed parameter 2020-09-06 18:33:22 +10:00
itsmattkc 83c7596038 viewer: extended scrolling/panning functionality 2020-09-06 17:40:53 +10:00
itsmattkc ba64313dd7 Merge branch 'issue_70' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-issue_70
# Conflicts:
#	app/widget/viewer/viewerwindow.cpp
2020-09-06 17:40:14 +10:00
itsmattkc 43d0129004 renderer: unqueue deleted node inputs
Fixes segfault when renderer tries to update from a since deleted node
input.
2020-09-05 19:49:34 +10:00
itsmattkc 58d33db34f Merge branch 'ThomasWilshaw-headless_help_fix' 2020-09-05 18:57:08 +10:00
itsmattkc 68233b9402 updated basename fix for multi-platform 2020-09-05 18:56:30 +10:00
itsmattkc 8e7fb70e73 Merge branch 'headless_help_fix' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-headless_help_fix 2020-09-05 18:51:48 +10:00
itsmattkc cabcd49b25 renderer: copy cache path before render to avoid race conditions 2020-09-05 18:48:54 +10:00
itsmattkc 1334c04235 viewer: return if no viewer is connected
Minor improvement
2020-08-31 15:20:31 +10:00
itsmattkc e42ba3f9d4 corrected compile issues on xenial (should fix linux CI) 2020-08-30 13:35:00 +10:00
itsmattkc 050103a857 memory: implemented basic memory limiting functionality
Keeps track of total memory usage and uses it as a guide towards
allocating/reusing more memory.
2020-08-29 13:34:54 +10:00
itsmattkc c99eb68d45 ffmpegdecoder: frame pool by dimensions/format rather than stream
Memory optimization.
2020-08-26 17:42:10 +10:00
itsmattkc f86ab6a965 renderer: prevent infinite loop occurring on some time invalidations 2020-08-26 17:38:16 +10:00
itsmattkc 5b00089dd8 commandlineparser: removed extraneous semicolon 2020-08-25 17:07:04 +10:00
itsmattkc f0928814fc track: store height in "units" rather than pixels
Fixes DPI scalability issue if a project ever moved from a display with
one DPI to another.
2020-08-22 00:23:46 +10:00
itsmattkc 48ac8ea509 main/core: changed code so that headless would run truly headless with QCoreApplication instead of QApplication
QApplication is designed for GUI/widget programs and thus fails to launch
if no window system is available. For a true headless mode, we must swap
out with QCoreApplication. However, what complicates this is that
QCommandLineParser - the class we use to determine whether we should run
in GUI mode or not - requires an active application instance to work.
This creates an unfortunate catch-22 that ultimately ended in writing a
custom command line parser.

Now we can correctly swap out with QCoreApplication, however this has
exposed other issues regarding functions that unnecessarily rely on QWidget
functions. So they'll need to be sorted out eventually.
2020-08-22 00:22:19 +10:00
itsmattkc 9aabde303e nodeview: added arrows to indicate a node can be expanded
Minor UI detail. Also slightly increases the size of node items and adds
"short names" to the video input and audio input nodes.
2020-08-21 15:15:39 +10:00
itsmattkc f6760386ce renderer: improved handling of pixel aspect ratio and footage cache 2020-08-21 14:43:13 +10:00
itsmattkc 416ba8e2b2 viewer: ensure pixel aspect and interlace parameters are sent to viewer windows too 2020-08-20 19:34:09 +10:00
itsmattkc d99a8e9005 timeline: refactored "replace with gap" command fixed bug
Fixes an unfortunate bug that restored blocks in the wrong order and leads
to a segfault if you continue undoing beyond that point.
2020-08-20 13:40:58 +10:00
itsmattkc 75c3a37c17 removed speed/duration dialog
This is the first step in what will eventually be keyframable time
remapping. The speed/duration dialog was a holdover from 0.1 and we can
probably do better here.
2020-08-19 17:42:52 +10:00
itsmattkc c12e39b597 ffmpegframepool: reduced frame pool size 2020-08-19 17:41:46 +10:00
itsmattkc bc084dfbae Merge branch 'master' of https://github.com/olive-editor/olive 2020-08-18 23:50:00 +10:00
itsmattkc 5f48bdf0e7 viewer: don't update the length until the operation is done
Prevents the frame/audio caches from being truncated unnecessarily during
an operation that ultimately doesn't change the length.
2020-08-18 15:06:44 +10:00
itsmattkc f3f81eb2be ffmpeg: store divided frames in memory cache
Since users will most likely be working with a divider most of the time,
there's no reason to waste memory space with undivided frames considering
the dividing process is quite fast.
2020-08-18 04:55:23 +10:00
itsmattkc d9851dc329 decoders: mild refactoring and code cleanup
Just making things a little bit nicer.
2020-08-18 03:17:01 +10:00
itsmattkc 2cedc8aaae config: set color for category 9 and print info if entry saving failed 2020-08-18 02:08:49 +10:00
itsmattkc 35692b9fba frame: removed native timestamp member
Wasn't used anymore.
2020-08-18 02:08:22 +10:00
itsmattkc f4feb381b1 audiomanager: updated config entries
The config entries that we were using were changed before.
2020-08-18 02:08:03 +10:00
itsmattkc 078c54e58b projectloadtask: move the project to the main thread, not the task
How did this get overlooked for so damn long holy shit dude
2020-08-17 00:00:51 +10:00
itsmattkc e043976189 footage: allow changing an image sequence's frame rate 2020-08-16 17:32:20 +10:00
itsmattkc 383c0b6620 node: hash based on stream timebase units 2020-08-16 17:31:56 +10:00
itsmattkc 0f3a60aa49 cache: save disk cache index on a regular interval in case of crashing
DiskManager tries to keep track of all files made across sessions in an
index, but the index was only saved on close. This meant if the program
crashed (not an uncommon occurrence at the moment), it would "forget" about
any files it had made that session.
2020-08-16 17:08:04 +10:00
itsmattkc b3e30b8daf renderer: clear auto-cache tasks when disconnecting viewer node
Fixes segfault that could occur when switching sequences.
2020-08-16 16:50:23 +10:00
itsmattkc 99b826aef5 appveyor: build crashpad as dynamic release instead of static 2020-08-14 20:00:43 +10:00
itsmattkc 20ccd2c254 appveyor: run gn as a cmd /c process as well 2020-08-14 19:14:34 +10:00
itsmattkc 34d1b141e5 appveyor: remove goto end for debugging
oh god I can't believe I forgot to remove this
2020-08-14 19:05:29 +10:00
itsmattkc 3588cc0241 appveyor: call fetch in another cmd instance 2020-08-14 19:00:46 +10:00
itsmattkc 6251113ce9 ci: debugging appveyor
Don't mind me, just need to figure out what this script is doing.
2020-08-14 18:43:07 +10:00
itsmattkc 10709880fc preliminary google crashpad integration
First attempt at automated out-of-process crash reporting. Have only
updated AppVeyor script so far, so if this works (which it won't), it'll
only work on Windows.
2020-08-14 18:25:12 +10:00
itsmattkc 857531b011 core: don't start if help or version args are used 2020-08-13 15:41:28 +10:00
itsmattkc 3ae3079a7a cmake: fallback if both openexr build types are not available 2020-08-11 12:13:16 +10:00
itsmattkc ec8b046f02 viewer: implemented basic deinterlace
Implements a very basic GLSL deinterlace that simply halves the vertical
resolution and then interpolates between the fields. This can be toggled
on or off.

The reasons for being so basic is:
- Speed, very quick code running in OpenGL
- It would seem the highest quality deinterlacers are temporally based
  which doesn't make much sense for the viewer, particularly since we can't
  double the frame rate since our timecode is fixed to the frames.

Higher quality interlacing/deinterlacing will be present in the actual
renderer.
2020-08-11 02:02:50 +10:00
itsmattkc 75b4bfe57e viewer: clear current render queue before creating next queue
Hilariously, the queue was being cleared right after it was being set
thus cancelling the whole operation out. This has now been fixed.
2020-08-11 01:02:14 +10:00