Commit Graph
602 Commits
Author SHA1 Message Date
itsmattkc 0cd40028d9 openglrenderer: use effective texture size rather than virtual size
Oof, this was an oopsie. This appears to fix the issues on AMD and some Intel
GPUs (the most prominent issues at least).
2021-04-18 00:19:19 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc 22b2d08baf rational: implement NaN mode
Also clarify code where 0 is used as a rational.
2021-04-17 15:04:03 +10:00
itsmattkc afed4f48d4 removed unused qfloat16 includes
Should lower our Qt minimum version requirement to 5.6
2021-04-13 23:43:56 +10:00
itsmattkc 157da658a5 renderer: prevent cache saving/loading with empty path 2021-04-13 15:53:33 +10:00
itsmattkc 885cabbdfa previewautocacher: remove unnecessary lines
These are node inputs now so they'll be copied automatically.
2021-04-13 15:43:32 +10:00
itsmattkc 7b4e7099f5 audioplayback: break loop on failure to read segment
Fixes #1564
2021-04-13 13:29:31 +10:00
itsmattkc 63c41146c7 renderer: disable mid-render cache when rendering audio
Fixes #1563
2021-04-13 10:17:37 +10:00
itsmattkc 6d0e188393 renderer: don't process video footage if rendering audio
Fixes #1530
2021-04-12 15:28:33 +10:00
itsmattkc 7701e9331f block: reimplemented reversing 2021-04-12 11:05:45 +10:00
itsmattkc da9cdbd29e block: disable connecting and keyframing speed parameter
We're going to replace keyframing this with a time remap node
because that will be much simpler to implement.

Fixes #1192.
Fixes #1204.
2021-04-12 10:35:02 +10:00
itsmattkc 6c30f8cf46 nodes: implemented infrastructure for caching any node
Not accessible through UI yet, but ported Footage node to it
(previously we used a hack to ensure Footage textures were
cached, now it's a formal infrastructure).
2021-04-11 18:56:39 +10:00
itsmattkc 210eb86cd2 nodes: fixed hashing issues 2021-04-11 18:54:22 +10:00
itsmattkc 12b190346d cache: clear tasks if wait is enabled 2021-04-08 23:38:44 +10:00
itsmattkc e037db2f77 autocacher: re-copy list before waiting 2021-04-08 22:57:09 +10:00
itsmattkc cb75e37e77 moved several files around
Mostly moved classes that became node derivatives into the node/ folder.
2021-04-08 12:15:59 +10:00
itsmattkc 4584d62def removed debug lines 2021-04-08 08:00:16 +10:00
itsmattkc d495815550 audio: use sample rate rather than timebase now they aren't interchangeable 2021-04-08 07:59:56 +10:00
itsmattkc bb32048c65 use frame rate and timebase less interchangeably 2021-04-07 13:08:25 +10:00
itsmattkc 898ea25e89 finished merge of viewer and footage 2021-04-06 13:08:56 +10:00
itsmattkc 9be014c0b6 refactored so sequence is again a derivative of viewer 2021-04-05 14:41:59 +10: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
itsmattkc ce80fccd80 cache: include single frame tasks as video tasks 2021-03-26 10:28:58 +11:00
itsmattkc 3c2da0a966 cache: fixed race condition 2021-03-25 23:05:55 +11:00
itsmattkc 9b49bea096 cache: improved queue performance and stability 2021-03-25 16:57:15 +11:00
itsmattkc 5d74ee66b5 Revert "previewautocacher: ensure queues are actually cleared"
This reverts commit ae4dbd9919.
2021-03-25 15:44:47 +11:00
itsmattkc ae4dbd9919 previewautocacher: ensure queues are actually cleared 2021-03-23 08:34:21 +11:00
itsmattkc 57b8193427 playbackcache: added note for later 2021-03-19 18:11:17 +11:00
itsmattkc 40abdcc605 audioplaybackcache: fixed segmentation bug 2021-03-19 18:10:58 +11:00
itsmattkc 1b5426d786 audioplaybackcache: improve comments/documentation 2021-03-19 17:09:45 +11:00
itsmattkc 6b2e788680 audioparams: use ceil converting time to samples
Appears to solve audio cache issue, but I'm not 100% sure if
this is mathematically correct.
2021-03-19 17:06:34 +11:00
itsmattkc fb410e7c96 use vectors for sample buffers rather than raw ptr arrays 2021-03-17 11:54:14 +11:00
itsmattkc 3ac1503a32 diskmanager: ensure file is deleted and ignore accesses from non-existent hashes 2021-03-08 15:37:29 +11:00
itsmattkc 8ef608c246 sped up disk cache accesses
Shifted some code around to improve performance
2021-03-08 11:26:03 +11:00
itsmattkc 605a593f90 fixed segfault caused by removing nodes 2021-03-01 13:26:23 +11:00
itsmattkc cfbf563b2e ensure cache modified time is accurate 2021-02-22 00:23:34 +11:00
itsmattkc 816beed08b fix double free in auto cacher 2021-02-21 10:35:02 +11:00
itsmattkc 17474b2f71 fix some compilation issues on various platforms 2021-02-21 09:35:14 +11:00
itsmattkc f4df6a7918 ensure cleanup on autocache upon destruction
Fixes double free.
2021-02-20 23:08:11 +11:00
itsmattkc b21271534f added UI for editing video parameters in nodes 2021-02-20 13:27:56 +11:00
itsmattkc cc9747ede4 moved ColorManager to a node
Reduces code by reusing the existing node infrastructure. Also
helps prevent race conditions since the node/render system is
designed for multithreading.
2021-02-18 14:33:08 +11:00
itsmattkc 4827782331 moved sequence params into node graph too
Reduces code by reusing more of the existing node infrastructure
to synchronize sequence parameters the render backend.
2021-02-18 13:20:23 +11:00
itsmattkc d7c5ac4b44 implement entire project in nodes
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +11:00
itsmattkc 81c1922911 use strings to connect nodes
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00
itsmattkc 96c0921193 use std::map instead of QMap for the node connections
std::map gives us a reverse iterator which we need. QMap doesn't seem to.
2021-01-15 14:34:36 +11:00
itsmattkc b83677e319 moved input signals to graph to prevent signal desyncs 2021-01-14 10:32:42 +11:00
itsmattkc f7883bd02c began some rewrites to timeline drawing 2021-01-14 10:30:20 +11:00
itsmattkc 8f729203fc some timeline refactoring, preparing for rewrites 2021-01-09 11:41:33 +11:00
itsmattkc 3337be07e5 use QVector instead of QList for block cache 2021-01-09 10:41:13 +11:00
itsmattkc 181235f6ce began new infrastructure
Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.

Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
2021-01-05 11:20:38 +11:00