Commit Graph
162 Commits
Author SHA1 Message Date
itsmattkc f0068e8c37 node: added command to remove position from context 2021-05-28 17:53:40 +10:00
itsmattkc f876240443 use nodes as context rather than void 2021-05-27 13:32:32 +10:00
itsmattkc 74a1507c6f Merge branch 'master' into nodeview-redux 2021-05-23 10:49:11 +10:00
itsmattkc 09dc79f9f6 project: remove array element when deleting a folder's subitem
Fixes #1639
2021-05-23 10:38:30 +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 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 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 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 db3644e2f8 actually commit override color get function 2021-04-08 19:05:39 +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 eef19ca0ff streamlined viewable-based lengths 2021-04-08 09:46:31 +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 056a1202d6 added new auto-positioning to place block command 2021-03-14 22:09:59 +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 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 fa1fbd3a34 nodeview: updated with new node color UI system 2021-01-19 09:08:46 +11:00
itsmattkc cb1accaf0c minor code enhancements 2021-01-18 16:33:49 +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
itsmattkc a6d382f4d4 further improved gizmos 2020-11-22 18:21:24 +11:00
itsmattkc 54cd244801 nodes: added distort nodes
Adds nodes for cropping and transforming
2020-11-22 11:34:37 +11:00
itsmattkc b9e0bfb679 nodes: added distort gizmo 2020-11-22 10:27:49 +11:00
itsmattkc da9a6325aa node: reworked gizmo system 2020-11-22 10:27:37 +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 81450044e0 added preference for duplicating dependencies
Fixes #1320
2020-11-16 16:32:15 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc 8776bb9c4a finished upgrade to ocio v2 2020-11-12 15:36:29 +11:00
itsmattkc 0429e70fe0 merged all drawing functions into a single shader processing function 2020-11-10 15:50:13 +11:00
itsmattkc 917738d1de Merge branch 'master' into otio 2020-10-22 20:26:16 +11:00