itsmattkc
ddee0f97d6
nodeview: start wip for "show all" mode
2021-07-09 18:00:27 -07:00
itsmattkc
f14a301ffa
nodeview: updates to complete new context paradigm
2021-07-09 18:00:01 -07:00
itsmattkc
90d94075cf
nodeview: improved bounding rect and centering
2021-06-17 10:19:30 -07:00
itsmattkc
e7ec9ccde2
nodeview: remove from positions map when removing node
2021-05-28 17:59:37 +10:00
itsmattkc
6204e78036
nodeview: reimplement adding edges
2021-05-28 17:59:02 +10:00
itsmattkc
8ef140dcd0
nodeview: use null check
...
In a perfect world, this would be unnecessary, but it will just save us so many crashes to do it.
2021-05-28 17:58:42 +10:00
itsmattkc
2162e9d8f8
nodeview: improved user manual positioning
2021-05-28 13:29:51 +10:00
itsmattkc
f876240443
use nodes as context rather than void
2021-05-27 13:32:32 +10:00
itsmattkc
c9305b9368
nodeview: improved average position algorithm
2021-05-26 14:25:05 +10:00
itsmattkc
f9309da4b3
nodeview: update positions correctly
2021-05-24 10:12:53 +10:00
itsmattkc
3c17ecc94e
more work
2021-05-21 12:28:52 +10:00
itsmattkc
f2d64728f9
work towards timeline/nodeview interactivity
2021-05-17 11:14:56 +10:00
itsmattkc
8e9859b2b3
initial commit
2021-05-16 09:58:57 +10:00
itsmattkc
72d5b4af86
nodeview: enable mouse tracking at all times
...
Slightly less efficient, but fixes #1618 , a seemingly
Linux-exclusive Qt bug which caused strange drag issues.
2021-05-11 11:16:59 +10:00
itsmattkc
72ed87d923
ui: scroll zoom preference now specific to widget
...
Fixes #1597
2021-05-10 12:07:15 +10:00
itsmattkc
94b2cebeea
ui: merged nodeview/timelineview scrolling code
...
Greatly improves code quality and maintainability
2021-05-10 11:15:37 +10:00
itsmattkc
105655b3d9
nodeview: don't use other input's type for reconnecting nodes, just use traverser heuristic
...
Fixes #1607
2021-05-05 11:41:56 +10:00
itsmattkc
502b5971f9
nodeview: only remove dragged edge if arrow was dragged
2021-04-29 00:21:53 +10:00
itsmattkc
a8185aa13b
nodeview: ensure existing edges are removed when dragging somewhere else
2021-04-28 13:02:55 +10:00
itsmattkc
a7d7515ba7
nodeview: allow dragging edges from their arrows
...
Fixes #1594
2021-04-27 18:48:40 +10:00
itsmattkc
67f48bc37c
nodeview: use additional heuristics to get a node's output type
2021-04-25 09:37:18 +10:00
itsmattkc
ed542f0842
nodeview: prevent infinite loops
...
Fixes #1531
2021-04-23 11:52:40 +10:00
itsmattkc
4864656cf5
nodeview: ensure connecting item is in front
2021-04-23 11:52:29 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +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
a54b42fea4
nodeview: attach nodes to cursor as an undo command
2021-04-11 12:52:46 +10:00
itsmattkc
0a17e0fbe2
nodeview: do something when clips are selected
2021-03-20 10:10:09 +11:00
itsmattkc
334b152765
code: fixed minor semantics
2021-03-18 19:35:53 +11:00
itsmattkc
2a3a256f3e
implement keyboard zooming into node view
2021-03-16 12:12:51 +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
ad4b83a098
new undo system
...
Also enables undoing when working with node input arrays
2021-01-29 16:10:34 +11:00
itsmattkc
2da0aed942
remove unnecessary sequence casts
2021-01-25 09:33:50 +11:00
itsmattkc
03dc971a4b
nodeview: use existing zoom check function
2021-01-23 08:18:45 +11:00
itsmattkc
03d31b2225
fixed cursor zooming algorithm
...
What the hell is this? How did I write this old algorithm? Did it even work?
2021-01-22 19:52:05 +11:00
itsmattkc
d9019f9cb1
fixed node removals
2021-01-22 19:23:20 +11:00
itsmattkc
b114bf98c9
only select nodes on right click if the current clicked node isn't already selected
2021-01-22 17:12:04 +11:00
itsmattkc
8a5df32281
fixed arrays in nodeparamview
2021-01-22 12:20:25 +11:00
itsmattkc
fa1fbd3a34
nodeview: updated with new node color UI system
2021-01-19 09:08:46 +11:00
itsmattkc
8e7035bd40
restored nodeview
2021-01-19 00:06:57 +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
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
0cafbb2594
nodeview: minor optimizations and behavior improvements
2020-10-10 19:47:25 +11:00
itsmattkc
2ccbfa7715
nodeview: null checks on select code
...
Prevents segfaults if the node view clears before the timeline.
2020-10-06 00:10:53 +11:00
itsmattkc
4204910796
nodes: link edges to IDs rather than objects
...
Allows code to know whether the connected parameters has been removed or
not.
2020-10-02 16:04:50 +10:00
itsmattkc
c6dd0e0204
nodeview: select on right click
2020-08-07 20:17:01 +10:00
itsmattkc
02c0fb7316
nodeview: automatically deselect blocks that have been removed
...
Fixes segfault attempting to access and select an item that's already been
removed.
2020-08-05 23:56:42 +10:00