Commit Graph
41 Commits
Author SHA1 Message Date
itsmattkc 93be94bc2c more work 2021-11-16 23:58:34 -08:00
itsmattkc 6033039046 improved connector UI in node view 2021-11-10 21:59:54 -08:00
itsmattkc 9c650883c2 implement context item in node view 2021-11-10 16:33:59 -08:00
itsmattkc b07bccb7dc nodes: revert to single output 2021-09-07 22:01:36 -07:00
itsmattkc 8d72685eaa nodeview: stripped out auto-position function
Hopefully this shouldn't be necessary anymore
2021-07-19 18:40:22 -07:00
itsmattkc 84e639606f nodeview: ensure nodes are disconnected when clearing 2021-07-16 21:32:34 -07:00
itsmattkc f14a301ffa nodeview: updates to complete new context paradigm 2021-07-09 18:00:01 -07:00
itsmattkc d9e45a6818 nodeviewscene: skip add duplicate edges 2021-05-28 17:53:15 +10:00
itsmattkc 2162e9d8f8 nodeview: improved user manual positioning 2021-05-28 13:29:51 +10:00
itsmattkc f9309da4b3 nodeview: update positions correctly 2021-05-24 10:12:53 +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 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +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 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 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 1b9bf6d92c switched many QLists for QVectors
Minor optimization
2020-11-16 16:17:43 +11: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 ce58671fd6 nodeview: started core node filtering work 2020-05-11 22:48:27 +10:00
itsmattkc 9c30f13a2e nodeview: added setting for curved/straight edges 2020-05-10 04:33:37 +10:00
itsmattkc eb1b76896e nodeview: reimplemented crude autopositioning system 2020-05-10 03:23:03 +10:00
itsmattkc fc694296f1 nodeviewscene: added basic standard filtering modes 2020-05-09 03:33:41 +10:00
itsmattkc 1efd4e9f99 nodeview: further improved auto-positioning system 2020-05-08 19:20:24 +10:00
itsmattkc e5e0d0323e nodeview: implemented weighted auto-positioning
Similar to the previous approach, but cleaner and hopefully easier to extend.
2020-05-06 22:53:01 +10:00
itsmattkc 4ac5513e3f nodeview: implemented ability to select and delete node edges 2020-04-29 17:25:41 +10:00
itsmattkc bf68a4d631 nodes: added ability to label nodes 2020-04-29 15:35:05 +10:00
itsmattkc d74d6a1542 nodes: implementing saving/loading node positions from project file 2020-04-28 03:43:35 +10:00
itsmattkc e154b5d5d4 nodeview: make auto-position a manual and specific function, allow different flow directions
The first in many NodeView improvements. Up until now, nodes have been forcibly
auto-arranged, which has worked as a reasonable stop-gap just so that all the
nodes are visible during testing/development. However this does not make a good
user experience.

We move the auto-arrange code to a manual function that can be used when the
user or program deems it necessary, and also abstract the node positions so that
the view can ultimately determine the exact amount of spacing (useful for
changing DPIs) or orientation, so users can direct the flow whichever way they
want.
2020-04-28 00:28:38 +10:00
itsmattkc b947b2224a nodeview: support multiple flow directions 2020-04-27 16:08:48 +10:00
itsmattkc 1aa87cbda6 various: encapsulate all code in the olive namespace to avoid name collisions
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc 378c354277 nodeview: improved nodeview usage
Rather than the cumbersome and small "node connectors" (introduced a while ago
when nodes had more than one output), this is a more streamlined system of
connecting nodes (hold Ctrl and drag to connect)
2020-04-03 08:34:47 +11:00
itsmattkc 72eb3a5d82 nodeview: worked around qt issue where the selection signal would still be sent after an item was deleted 2020-03-17 00:34:32 +11:00
itsmattkc 34f60e639a nodeview: implemented copying/pasting nodes
Re-uses XML-based project saving/loading functions to store nodes, their
parameters, and their connections in a text-based format in the clipboard.
2020-03-15 20:01:58 +11:00
itsmattkc d8f83f1452 nodeview: further optimization of node view 2020-03-03 01:50:31 +11:00
itsmattkc 3e34975dd9 nodeview: improved and optimized some selection code 2020-03-02 17:03:03 +11:00
itsmattkc f6d602d8e0 nodeview: improved code structures 2020-03-02 16:07:24 +11:00