itsmattkc
dccea63d97
nodeview: initialize edge item's from/to references
...
Fixes #1526
2021-03-23 22:28:21 +11:00
itsmattkc
0a17e0fbe2
nodeview: do something when clips are selected
2021-03-20 10:10:09 +11:00
itsmattkc
843db76e75
nodeview: show label and type if label is set
...
Might not keep this, but we should have something to make the
node types clear when labelled.
2021-03-18 19:36:03 +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
a57bf35e93
don't copy items when splitting or duplicating blocks
2021-03-01 13:27:13 +11:00
itsmattkc
72dd80c90c
ensure nodeview is unset when project closes
2021-02-24 22:15:12 +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
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
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
fbdda3d6d4
various code cleanups
2021-01-13 12:05:05 +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
7b266c51a4
move clamp to bezier itself to prevent deadlocks
2020-11-23 08:43:02 +11:00
itsmattkc
9928027040
nodeview: clamp bezier value
2020-11-22 20:28:48 +11:00
itsmattkc
3edac8a07f
nodeview: added arrows
2020-11-18 01:34:40 +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
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
0d102defab
tracks: use node label instead of separate name string
2020-10-10 20:17:25 +11:00
itsmattkc
0cafbb2594
nodeview: minor optimizations and behavior improvements
2020-10-10 19:47:25 +11:00
itsmattkc
df54b98fd6
nodeview: added light gradient to node item
2020-10-10 17:22:12 +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
787ea1d548
Merge branch 'master' into ui-optimizations
2020-10-05 15:19:57 +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
2fb7066155
nodes: allow stalling graph signals until an operation is over
2020-10-02 13:25:49 +10:00
Thomas Wilshaw
9d27d557cd
Replace custom unlink with BlockUnlinkAllCommand
...
Re-use existing unlink command and move all the unlinking code to
NodeRemoveCommand to cover all bases (deletion of a block in the
timeline or in the node editor).
2020-09-30 18:14:11 +01:00
Thomas Wilshaw
e09afd7f68
Fix Issue#1241
...
When a Block node was deleted its linked blocks were not unlinked
which caused a crash when the user tried to select a linked block.
This fixes the issue by ensuring all links are removed when a Block
node is delete.
Undo/redo is also supported.
2020-09-29 18:27:30 +01:00
itsmattkc
9aabde303e
nodeview: added arrows to indicate a node can be expanded
...
Minor UI detail. Also slightly increases the size of node items and adds
"short names" to the video input and audio input nodes.
2020-08-21 15:15:39 +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
itsmattkc
2afa5a42c7
ui: optimized widget signals for selecting clips/nodes
...
Decent performance optimization when working with the UI.
2020-08-01 02:12:20 +10:00
itsmattkc
39d71eb7cd
nodeview: drop nodes on release rather than press
...
Minor UI improvement that also addresses issue where the cache would
ignore the invalidation.
2020-07-10 19:28:42 +10:00
itsmattkc
f107c9bba1
nodeview: associated pasted nodes
...
Prevents nodes being erroneously filtered out.
2020-06-16 17:17:47 +10:00
itsmattkc
e979ce4d7a
nodeview: made an "infinite scroller"
...
Set scene rect to huge and hid the scrollbars. The node view should be
scrolled with middle click or the hand tool.
2020-06-16 16:31:16 +10:00
itsmattkc
41b04d976c
nodes/clips: use node label as clip name and allow changing multiple labels at once
...
Merges the "clip name" and "node label" into the same entity.
2020-06-16 16:23:05 +10:00
itsmattkc
71fa821e52
nodeview: enforce minimum scale
2020-06-16 15:37:11 +10:00
itsmattkc
cb5b201054
nodeviewitem: base highlight color off palette
...
Improves appearance in light theme.
2020-06-13 13:05:19 +10:00
itsmattkc
209fb536f5
nodeview: when changing selected blocks, temporarily ignore selection change signal until the end
...
UI optimization.
2020-06-12 23:27:11 +10:00