Commit Graph
587 Commits
Author SHA1 Message Date
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
itsmattkc 6cb6407bd8 don't use shared ptrs on streams 2020-12-16 13:46:19 +11:00
itsmattkc c9323b9731 renderer: added another cancelled check 2020-11-29 12:17:42 +11:00
itsmattkc 720acb8f77 renderer: fixed shadowed property
Fixes issue where waveforms would only appear on one track
2020-11-29 10:20:10 +11:00
itsmattkc d9e445d39e rendermanager: always create tickets in own thread 2020-11-28 21:27:35 +11:00
itsmattkc 466900e579 renderer: mutex around color context creation/retrieval 2020-11-28 08:24:40 +11:00
itsmattkc 992b6eb952 added plural forms to translatable strings
Fixes #1421
2020-11-27 13:04:49 +11:00
itsmattkc d02a1aa41b renderer: mutex colorspace and premultiplied fields of video footage 2020-11-27 12:49:40 +11:00
itsmattkc c35005d1bf renderer: only use different footage dividers on smaller footage 2020-11-25 11:45:42 +11:00
itsmattkc 0eda91a0cb renderer: destroy surface in main thread 2020-11-25 08:59:14 +11:00
itsmattkc 60f515a2cc transform: added interpolation parameter 2020-11-22 22:53:31 +11:00
itsmattkc dbf4a814e1 renderer: added extra null check for texture
Fixes #1392
2020-11-22 19:00:01 +11:00
itsmattkc a6d382f4d4 further improved gizmos 2020-11-22 18:21:24 +11:00
itsmattkc 3e48aef88c renderer: only divide as much as necessary to get within maximum sequence resolution
Prevents lower res images from becoming too low res
2020-11-22 10:32:58 +11:00
itsmattkc 81447c439f opengl: update for shader changes mentioned earlier 2020-11-22 10:32:22 +11:00
itsmattkc 425e69c789 renderprocessor: add generate resolution override 2020-11-22 10:32:01 +11:00