Commit Graph
552 Commits
Author SHA1 Message Date
itsmattkc d9019f9cb1 fixed node removals 2021-01-22 19:23:20 +11:00
itsmattkc 744b768970 fixed loading bug caused by lack of while loop 2021-01-22 16:04:22 +11:00
itsmattkc 2af776b110 fixed various caching update issues 2021-01-22 14:33:30 +11:00
itsmattkc dfdb375cbf polygon: use string literal 2021-01-22 12:20:41 +11:00
itsmattkc 8a5df32281 fixed arrays in nodeparamview 2021-01-22 12:20:25 +11:00
itsmattkc 3e1fb01758 initialize array variable and set where used 2021-01-19 09:09:12 +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 84df19dc35 updated tracklist algorithm to new and improved one 2021-01-18 16:32:52 +11:00
itsmattkc 8497c6589c further merge hash optimizations 2021-01-18 12:04:03 +11:00
itsmattkc 57aa53cc79 ensure blocks are transformed when hashing
Fixes cache glitch
2021-01-18 10:45:07 +11:00
itsmattkc 104cbbe44b set array size before reconnecting
Fixes issue where tracks would become confused about the true array size
2021-01-18 10:44:30 +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 91740dd823 reworked all timeline commands
I'll be honest, this stuff probably caused a lot of crashes. Objects were constantly created and destroyed without the foresight that other commands might be using them. This should fix a lot of that.
2021-01-15 14:36:21 +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 b83677e319 moved input signals to graph to prevent signal desyncs 2021-01-14 10:32:42 +11:00
itsmattkc f7883bd02c began some rewrites to timeline drawing 2021-01-14 10:30:20 +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 3337be07e5 use QVector instead of QList for block cache 2021-01-09 10:41:13 +11:00
itsmattkc 441a459774 viewer: use label instead of media name 2021-01-09 10:38:04 +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 e12013e2fb don't use shared ptrs for project items 2020-12-16 10:28:43 +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 1254726079 transform: set alpha channel required always true for now 2020-11-25 08:57:55 +11:00
Thomas Wilshaw b1b7d58e9d transition: Add transparency support to transitions
Added ShaderJobEvent to CrossDissolveTransition which sets alpha as
required.

app/node/block/transition/crossdissolve/crossdissolvetransition.cpp
app/node/block/transition/crossdissolve/crossdissolvetransition.h
2020-11-23 21:53:09 +00:00
itsmattkc 60f515a2cc transform: added interpolation parameter 2020-11-22 22:53:31 +11:00
itsmattkc ed6f4eed3e core: changed ortho node ID
Fixes collision where transform and ortho nodes had the same ID. Renames ortho ID and automatically corrects
old projects with the old ID. Bumps the project version as a result.
2020-11-22 22:32:09 +11:00
itsmattkc 96ad22d3e6 node: correctly skip element if node param isn't found
Fixes issue where projects could fail to load entirely if a node param was not found.
2020-11-22 22:30:13 +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 065fc9e10e miscellaneous shader changes
Since sequence resolution is provided to the nodes now, it no longer needs to be a global in the shaders
Removed some unused shaders
Added default params to ShaderCode to allow skipping types that aren't used
2020-11-22 10:31: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 3167047ded nodetraverser: added abstract function for generating sequence resolution 2020-11-22 10:25:47 +11:00
itsmattkc 7899c396dc nodeinputdragger: acknowledge min/max values if they're set 2020-11-22 10:25:04 +11:00
itsmattkc dcf56781b4 removed version macros from shaders and add automatically in compile step 2020-11-19 14:36:05 +11:00
itsmattkc 3c3fd5bd44 ensure colors are loaded from string as doubles 2020-11-18 14:23:18 +11:00
itsmattkc ad2e3d160f added mosaic filter node 2020-11-18 14:21:47 +11:00
itsmattkc b3c3fe0fc8 merged video and audio nodes into a single media node
They performed exactly the same function so I don't think we need the clutter.

Also bumped the project version, but old projects are automatically converted.
2020-11-18 13:48:14 +11:00
itsmattkc 04dd502a40 nodes: bypass invalidate length limit for certain track operations
Fixes #1290
Fixes #1228
2020-11-18 12:56:00 +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 15a29288aa added Q_OBJECT macro to classes that were missing it 2020-11-17 19:13:16 +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 1dd7e24920 merge: removed debug line 2020-11-16 02:01:51 +11:00
itsmattkc bb1f16c8e1 merge: don't merge if the blend texture is RGB 2020-11-15 22:47:10 +11:00