Commit Graph
313 Commits
Author SHA1 Message Date
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 8c18b58bbb nodeparamview: pick up move event
Fixes #1547
2021-04-11 19:58:37 +10:00
itsmattkc 515d459d36 nodeparamview: make keyframes on every key track by default
Fixes #1437
2021-04-11 19:38:29 +10:00
Thomas Wilshaw 76f8c12a96 Initilise timbase when creating nodeparamviewitem 2021-04-08 11:26:37 +01:00
Thomas Wilshaw f9b423f731 Link RationalSlider timebase with nodeparamview 2021-04-08 11:26:36 +01:00
Thomas Wilshaw 7c123c56c3 Get rational slider mostly working with new slider changes 2021-04-08 11:26:35 +01: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 ea29ffef96 minor refactoring and signalling panel subtitle by node change
Fixes issue where Footage Viewer subtitle wouldn't update when
dropping footage in.
2021-04-08 10:42:13 +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
itsmattkc c444213a85 nodeparamview: null check for input UI
Fixes #1523
2021-03-23 08:38:18 +11:00
itsmattkc d90580cc52 nodeparamview: truncate title bar whenever necessary 2021-03-18 19:47:01 +11:00
itsmattkc b98a321cb9 nodeparamview: added tooltip to label
This is so it can be truncated at some point but I haven't
figured out the best way to do that yet.
2021-03-18 19:36:41 +11:00
itsmattkc 2e63140000 nodeparamview: prevent duplicate items 2021-03-18 19:35:09 +11:00
itsmattkc acb8c6865a implemented offsets into sliders 2021-03-15 18:23: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 b21271534f added UI for editing video parameters in nodes 2021-02-20 13:27:56 +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 d53885fe3d improved nodeparamview Y setting
Still not perfect, mostly due to Qt's terrible QMainWindowLayout, but ah well
2021-01-30 10:27:52 +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 4e5db91c17 keyframeviewbase: cleaned up code and show tooltip values in input's desired format 2021-01-25 11:05:09 +11:00
itsmattkc 9f99182089 use catch up scrolling when dragging items 2021-01-25 10:22:14 +11:00
itsmattkc 2da0aed942 remove unnecessary sequence casts 2021-01-25 09:33:50 +11:00
itsmattkc f04ca0a707 implemented select and deselect all in curve and param panels 2021-01-24 15:29:38 +11:00
itsmattkc 4dd2b64c6d keyframecontrol: update state if keyframe time changes 2021-01-24 12:08:23 +11:00
itsmattkc 13b5d9237a ensure node order is signalled if a node is unpinned and removed from param view 2021-01-23 08:28:40 +11:00
itsmattkc a261dd55f1 use quintptrs for footage rather than QVariant::fromValue 2021-01-22 16:04:37 +11:00
itsmattkc 2af776b110 fixed various caching update issues 2021-01-22 14:33:30 +11:00
itsmattkc 8a5df32281 fixed arrays in nodeparamview 2021-01-22 12:20:25 +11:00
itsmattkc 396ccfa160 reworked param view for new structure 2021-01-19 09:10:23 +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 374fa3f75c moved some files around for better organization 2020-12-16 19:05:22 +11:00
itsmattkc 6cb6407bd8 don't use shared ptrs on streams 2020-12-16 13:46:19 +11:00
itsmattkc 992b6eb952 added plural forms to translatable strings
Fixes #1421
2020-11-27 13:04:49 +11:00
itsmattkc 8a869d0393 use QObject property system now that i know how to signal them 2020-11-27 10:10:24 +11:00
itsmattkc 210417a5f2 enable undo/redo on node param text editor 2020-11-25 17:17:13 +11:00
itsmattkc c7f5af9534 moved autoscroll code to TimeBasedWidget rather than TimelineViewBase
Better place for it. Fixes #1406
2020-11-25 10:00:57 +11:00
itsmattkc 2c4f781e13 paramview: discard scroll events on widgets 2020-11-23 12:01:21 +11:00
itsmattkc 5e319a0cdd nodeparamviewwidgetbridge: implemented offsets for more user friendly numeric values 2020-11-22 10:24:35 +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 e2010dde83 made formal QtUtils class 2020-11-17 09:42:36 +11:00
itsmattkc 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc a0fb1981b4 multi-line edit for text in paramview 2020-11-16 12:27:59 +11:00
itsmattkc b9359ce50d nodeparamview/viewer: improved gizmo selection system 2020-09-30 00:32:40 +10:00
itsmattkc fec9774935 curveview: finished rework 2020-09-29 16:41:12 +10:00
itsmattkc 610f4c54fe various: began heavy rework of curve view to link closely with param view 2020-09-29 00:42:16 +10:00
itsmattkc dc56dc1d60 nodeparamview: implemented pinning 2020-09-28 21:50:55 +10:00