Commit Graph
229 Commits
Author SHA1 Message Date
itsmattkc 8383929476 track/audioplaybackcache: re-did binary search algorithms
Fixes #1617
Fixes #1615
2021-05-10 10:42:07 +10:00
itsmattkc df861fb33d viewer: if only video stream is still, don't use as rate in project explorer
Minor UI improvement
2021-04-29 11:26:11 +10:00
itsmattkc 52076b19fc timeline: added more signalling when tracklists change
Fixes #1591
2021-04-27 10:08:04 +10:00
itsmattkc 573597bec3 track: use binary search for blocks
Minor optimization for longer sequences.
2021-04-24 18:21:33 +10:00
itsmattkc 74ad4110be transform: hash the generated matrix
Making an exception for the transform node, we use a slightly
heavier hash to save more rendering time later.

Fixes #1560
Addresses some of #1360
2021-04-22 18:01:26 +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 1a848dc440 track: cache length change invalidations and release when not dragging
Not sure if this is the best solution, we'll see. Fixes issue
where cache wouldn't respond to length slider.
2021-04-17 12:50:58 +10:00
itsmattkc c49e5ef1b3 footage: don't disable audio cache 2021-04-14 13:46:53 +10:00
itsmattkc 76eb117a45 viewer: return null params if not in array
Suppresses warning about input array sizes.
2021-04-13 15:40:27 +10:00
itsmattkc 46e00c0099 viewer: store video/audio length outside of cache 2021-04-13 15:39:45 +10:00
itsmattkc c03c197412 added ability to open viewers on any viewer node or derivative
Fixes #1362

Also fixes some other bugs that impeded this from working.
2021-04-12 22:58:34 +10:00
itsmattkc 46ee99264d footage: fixed crash with audio-only files 2021-04-12 09:48:08 +10:00
itsmattkc 210eb86cd2 nodes: fixed hashing issues 2021-04-11 18:54:22 +10:00
itsmattkc 5b0332260f revise operation cache blocking system
Fixes #1553
2021-04-08 19:05:12 +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 2dc27de37c ensure frame rate and sample rate changes ripple through widgets 2021-04-08 10:44:32 +10:00
itsmattkc eef19ca0ff streamlined viewable-based lengths 2021-04-08 09:46:31 +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 4066fcba90 began merging footage and viewer 2021-04-05 16:41:37 +10:00
itsmattkc e5264fa394 use operation stack when disconnecting 2021-04-05 14:47:04 +10:00
itsmattkc 9be014c0b6 refactored so sequence is again a derivative of viewer 2021-04-05 14:41:59 +10:00
itsmattkc 9b6fe7e308 track: null check when looking up a block's in/out time adjustment
Fixes #1517
2021-03-22 12:15:13 +11:00
itsmattkc cfbf563b2e ensure cache modified time is accurate 2021-02-22 00:23:34 +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 8d8727c7c9 removed unused variable 2021-01-30 12:31:23 +11:00
itsmattkc 8ccf7562cf disable keyframing on some parameters 2021-01-24 15:28:01 +11:00
itsmattkc 2af776b110 fixed various caching update issues 2021-01-22 14:33:30 +11:00
itsmattkc 3e1fb01758 initialize array variable and set where used 2021-01-19 09:09:12 +11:00
itsmattkc cb1accaf0c minor code enhancements 2021-01-18 16:33:49 +11:00
itsmattkc 84df19dc35 updated tracklist algorithm to new and improved one 2021-01-18 16:32:52 +11:00
itsmattkc 57aa53cc79 ensure blocks are transformed when hashing
Fixes cache glitch
2021-01-18 10:45:07 +11:00
itsmattkc 91740dd823 reworked all timeline commands
I'll be honest, this stuff probably caused a lot of crashes. Objects were constantly created and destroyed without the foresight that other commands might be using them. This should fix a lot of that.
2021-01-15 14:36:21 +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 fbdda3d6d4 various code cleanups 2021-01-13 12:05:05 +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 441a459774 viewer: use label instead of media name 2021-01-09 10:38:04 +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 04dd502a40 nodes: bypass invalidate length limit for certain track operations
Fixes #1290
Fixes #1228
2020-11-18 12:56:00 +11:00
itsmattkc 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc d241090a9f finally updated the copyright year 2020-11-17 20:13:22 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc 83cefbd7c7 uhh yeah this might be fubar 2020-11-07 22:44:27 +11:00
itsmattkc 13dd31d5be began rewrite of renderer inner workings 2020-11-06 20:18:10 +11:00
itsmattkc b582843d27 moved things around and started rewriting render backend 2020-10-29 01:36:26 +11:00
itsmattkc 917738d1de Merge branch 'master' into otio 2020-10-22 20:26:16 +11:00