itsmattkc
023f3eca70
bezier: rework quadratic algorithm
...
Fixes #1695
2021-08-01 02:28:37 -07:00
itsmattkc
52c5617159
undo: wrapped redo/undo functions to ensure prepare is called
2021-07-17 00:14:24 -07:00
itsmattkc
8f413d37f0
nodes: copy map when copying node with context
2021-07-16 02:20:59 -07:00
itsmattkc
ad8d63d37a
nodes: copy position map when copying dep graph
2021-07-16 02:06:37 -07:00
itsmattkc
4bbc75392a
nodes: rewrote and simplified length signaling system
2021-07-15 21:00:18 -07:00
itsmattkc
310fd3541a
various: greatly simplified job times
...
Hopefully this doesn't break everything
2021-07-11 23:33:21 -07:00
itsmattkc
f14a301ffa
nodeview: updates to complete new context paradigm
2021-07-09 18:00:01 -07:00
itsmattkc
f0068e8c37
node: added command to remove position from context
2021-05-28 17:53:40 +10:00
itsmattkc
24ce8f8446
remove null context commands
2021-05-27 15:14:28 +10:00
itsmattkc
0ce602c132
Merge branch 'master' into nodeview-redux
2021-05-21 11:13:42 +10:00
itsmattkc
45db6f4596
node: fixed issue with keyframes
...
Fixes #1634
This is technically the same bug fixed in #1326 , just didn't include all the cases I needed to.
2021-05-21 11:10:41 +10:00
itsmattkc
8e9859b2b3
initial commit
2021-05-16 09:58:57 +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
47c0282865
node: use input limiting array when hashing
2021-04-17 15:04:24 +10:00
itsmattkc
88ebfb9d8e
nodefactory: added time remap node
2021-04-17 15:02:56 +10:00
itsmattkc
0d315d668a
Revert "node: set ignore node when positioning and shifting recursively"
...
This reverts commit 6481304206 .
2021-04-14 23:10:08 +10:00
itsmattkc
6481304206
node: set ignore node when positioning and shifting recursively
2021-04-14 10:13:45 +10:00
itsmattkc
2ff04f2045
nodes: allow inserting inputs at arbitrary indexes
2021-04-13 13:06:52 +10:00
itsmattkc
893adc3d72
implemented value node
...
Also implements changes necessary to support an input data type
that changes. Much of that foundation was built in
`nodearchchanges`, but hadn't been finalized. This commit
finalizes and provides a reference implementation/test with the
"Value" node.
Fixes #1443
2021-04-12 16:37:26 +10:00
itsmattkc
afedea7342
restore old node positioning code
...
New code didn't work.
2021-04-11 18:57:42 +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
700b56d43f
node: limit bounding rect when detecting node collisions
...
Hopefully prevents the possibility of an infinite loop.
2021-04-11 12:20:50 +10:00
itsmattkc
f03052ee74
remove superfluous semicolon
2021-04-08 19:05:52 +10:00
itsmattkc
5b0332260f
revise operation cache blocking system
...
Fixes #1553
2021-04-08 19:05:12 +10:00
itsmattkc
ba0eb2335b
copy color when duplicating node
2021-04-08 18:03:59 +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
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
cd6544ba64
fixed erroneous hold keyframe logic
...
Fixes #1326
2021-03-22 23:28:43 +11:00
itsmattkc
82d6daa3da
fixed bug in node dependency positioning
2021-03-14 21:52:05 +11:00
itsmattkc
2a9513e56a
added new node auto-positioning for items
2021-03-14 21:09:00 +11:00
itsmattkc
500fb58d49
arranged items so they are inputs of folder rather than outputs
2021-03-12 12:22:19 +11:00
itsmattkc
a57bf35e93
don't copy items when splitting or duplicating blocks
2021-03-01 13:27:13 +11:00
itsmattkc
cfbf563b2e
ensure cache modified time is accurate
2021-02-22 00:23:34 +11:00
itsmattkc
17474b2f71
fix some compilation issues on various platforms
2021-02-21 09:35:14 +11:00
itsmattkc
108a1399c2
fixed input array sync issue
2021-02-20 23:09:49 +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
b8de563a6d
restored invalidation code when value is changed
2021-02-11 14:35:05 +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
ad4b83a098
new undo system
...
Also enables undoing when working with node input arrays
2021-01-29 16:10:34 +11:00
itsmattkc
7795d42347
moved block links to node links
...
Seems like it might be useful to have this as part of the node architecture as a whole
2021-01-25 09:17:25 +11:00
itsmattkc
d9019f9cb1
fixed node removals
2021-01-22 19:23:20 +11:00
itsmattkc
2af776b110
fixed various caching update issues
2021-01-22 14:33:30 +11:00
itsmattkc
b4dd976e90
revised UI color system when showing nodes
...
Olive now has a set of colors that categories can be "assigned" to. The timeline also shares the same colors as the NodeView. Colors can be configured per node (aka per clip).
2021-01-15 18:44:34 +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
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
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