Commit Graph
22 Commits
Author SHA1 Message Date
itsmattkc 092d76f41a disambiguated whether NodeParam::parent() would return a Node* or a QObject*
Old code assumes that a NodeParam's parent will always be a Node. The function
has been separated off and tweaked in the event that this is not the case.
2019-11-30 23:58:56 +11:00
itsmattkc 1bc8a20425 never send signals while nodes are still locked
A signal emitted and received in the same thread will call other functions
before returning to the one that emitted the signal. If these other functions
try to lock a mutex while a mutex is already locked by the emitting function,
we get stuck in a deadlock. These changes ensure that a signal is never emitted
by any function until all the nodes locked by it are unlocked.
2019-11-23 17:04:33 +09:00
itsmattkc bc9b7bc4f0 add mode for copying values only and not connections
Sometimes we'll be copying nodes without wanting to copy their connections,
since we'll want to connect them to equivalent copies rather than connecting
them to the same nodes the originals were connected to. We now have an extra
parameter to distinguish such operations.
2019-11-23 01:51:36 +09:00
itsmattkc 16ac2fc0e1 sweeping node graph changes for new rendering pipeline
The new rendering pipeline strives to simplify the nodes themselves as much
as possible and move much of the logic to an external rendering engine. This
change removes all of the responsibilities that no longer belong to the
nodes themselves and will soon be folded into the renderer.
2019-11-02 01:39:37 +11:00
itsmattkc 4d96ac9e39 don't police data type connections between nodes
Nodes were previously written to be "strongly typed" in that a parameter's
"type" enforced whether it could be connected to another. All code related
to that has now been removed since not only is it hard to maintain and
likely unnecessary, it's possible the nodes will work differently later on
anyway.
2019-10-25 00:44:14 +11:00
itsmattkc 5f86b9b9c7 nodes are given a time range 2019-10-22 14:58:06 +11:00
itsmattkc 69ca2b2a50 fixed bug where an unindexed video would cache a blank first frame 2019-09-10 19:12:19 +10:00
itsmattkc 9ff4a81ec8 partially functional transform 2019-09-09 18:11:04 +10:00
itsmattkc ba7a10177f fixed various caching issues when rapidly changing values 2019-09-09 04:07:51 +10:00
itsmattkc b428eb9984 changed nodeparam naming behavior 2019-09-08 12:19:00 +10:00
itsmattkc 12bc5839a6 fixed various caching issues 2019-09-02 22:58:44 +10:00
itsmattkc f2972651af several adjustments to node caching system 2019-09-02 11:29:50 +10:00
itsmattkc 7dc2290496 shift renderer prototype to new node structure 2019-08-28 02:40:44 +10:00
itsmattkc 5afe7d523c shifted to new dependency structure 2019-08-28 01:24:50 +10:00
itsmattkc b9ce02a0ec separated setting time and processing node functions 2019-08-27 23:38:24 +10:00
itsmattkc 02ea535c8a added IDs to parameters for serialization 2019-08-13 17:22:32 +10:00
itsmattkc 298ae2f36c mocked up a prototype of decoding data into the node graph 2019-08-04 14:45:17 +10:00
itsmattkc a78cc3950a various node UI improvements 2019-07-16 13:25:38 -04:00
itsmattkc d098c0de5f various fixes 2019-07-16 00:00:18 -04:00
itsmattkc d76691a9ef began draft of internal node rendering structure 2019-07-10 23:06:09 -04:00
itsmattkc 08a75b58dd fleshed out node edges 2019-07-10 03:22:53 -05:00
itsmattkc 60b04f98b4 began new node infrastructure 2019-07-10 03:00:35 -05:00